class类中__getitem__的作用,forword的作用,__call__的作用,enumerate()用法

1.__getitem__作用是可以将类中的数据像数组一样读出

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

2.forword的作用

forward() 是一个神经网络模型中的方法,用于定义数据流的向前传播过程。它接受输入数据,通过网络的各个层进行计算,最终返回输出结果。【这里输入进forward的数据维度要和forward()接收的第一个参数维度相同,虽然你看它只接受了一个参数‘x’,但是这个x的维度是多维的(在某代码中就是(input_dim, hidden_dim)两个大维度),而不是普通意义上的一个自然数】

前向传播

def forward(self, x):
    # ......
    return x

3.__call__的作用

在我们编写的模型所继承的nn.Module类中,其__call__方法内便包含了某种形式的对forward方法的调用,从而使得我们不需要显式地调用forward方法。

4.enumerate()用法

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

你可能感兴趣的:(python)