Pytorch 报错 TypeError: ‘tuple‘ object is not callable
2024-01-02 17:52:14
使用Pytorch编写网络时,有时遇到 TypeError:‘tuple‘ object is not callable 错误。
bug原因:在编写网络时,因为习惯或者不注意在其中一层网络结尾时添加了逗号“,”。
如下所示:
class BlockA(nn.Module):
def __init__(self, in_channels, out_channels,downsample=None, stride=1):
super(BlockA, self).__init__()
self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1, stride=stride)
self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1)
self.leakyrelu = nn.LeakyReLU(0.1),
def forward(self, X):
Y = self.conv1(X)
Y = self.leakyrelu(Y)
Y = self.conv2(Y)
return self.leakyrelu(Y + X)
运行会出现如下报错:
正确的应该改为:
class BlockA(nn.Module):
def __init__(self, in_channels, out_channels,downsample=None, stride=1):
super(BlockA, self).__init__()
self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1, stride=stride)
self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1)
self.leakyrelu = nn.LeakyReLU(0.1)
def forward(self, X):
Y = self.conv1(X)
Y = self.leakyrelu(Y)
Y = self.conv2(Y)
return self.leakyrelu(Y + X)
文章来源:https://blog.csdn.net/yycocl/article/details/135344583
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!