class Test():
def __init__(self):
self.data=[1,2,3,4,5]
def __getitem__(self,idx):
return(self.data[idx])
t=Test()
print(t[2])
输出3
forward() 是一个神经网络模型中的方法,用于定义数据流的向前传播过程。它接受输入数据,通过网络的各个层进行计算,最终返回输出结果。【这里输入进forward的数据维度要和forward()接收的第一个参数维度相同,虽然你看它只接受了一个参数‘x’,但是这个x的维度是多维的(在某代码中就是(input_dim, hidden_dim)两个大维度),而不是普通意义上的一个自然数】
def forward(self, x):
# ......
return x
在我们编写的模型所继承的nn.Module类中,其__call__方法内便包含了某种形式的对forward方法的调用,从而使得我们不需要显式地调用forward方法。
enumerate参数为可遍历/可迭代的对象(如列表、字符串)
enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
enumerate()返回的是一个enumerate对象
s = [1, 2, 3]
for index, value in enumerate(s):
print('%s, %s' % (index, value))
输出结果:
0, 1
1, 2
2, 3