在使用pytorch构造神经网络基本单元的时候,使用的基类都是nn.Module,pytroch在nn.Module中实现了__call__方法,并且在__call__方法中调用了forward函数。
所以构造网络的时候,要定义forward函数,forward函数结构类似tensorflow里面堆叠的网络层。
代码示例:
def forward(self, x):x = self.conv(x)x = self.bn(x)x = self.relu(x)x = self.pool_layer(x)return x
传入forward的是tensor(张量),这个张量通过了卷积层,batchnorm层,relu层和池化层,最终返回输出结果
参考:
https://blog.csdn.net/u011501388/article/details/84062483
https://blog.csdn.net/dss_dssssd/article/details/83750838
https://blog.csdn.net/dss_dssssd/article/details/82977170
https://blog.csdn.net/xu380393916/article/details/97280035