报错:
TypeError: 'tuple' object is not callable
解决:
如上图左上角所示,因为模型继承的是nn.Module,所以不是用的sequential来定义网络,依然加了逗号。所以会出错。可以改成nn.Sequential,或者把逗号删除。
额外提示:
如果用nn.Squential定义,缺少灵活性,但是也有优点。关于nn.Squential和nn.Model的定义不同可以详见:
PyTorch 中的 ModuleList 和 Sequential: 区别和使用场景
举例:
下面的代码是用nn.Module定义:
class module(nn.Module):
def __init__(self):
super(module, self)__init__()
self.conv1 = nnConv2d(16,32,3,1,1,bias=False)
...
self.conv2 = nnConv2d(32,64,3,1,1,bias