Pytorch学习遇到的问题:AttributeError: module ‘torch.nn’ has no attribute ‘relu’
import torch
import torch.nn
x = nn.relu(self.fc1(x))
# 中间使用了nn.relu函数之后报错
AttributeError: module 'torch.nn' has no attribute 'relu'
之所以会出现这个问题是自己没有弄清楚nn.relu()函数和nn.functional.relu函数的使用方法,nn.relu()作为一个层结构,必须添加到nn.Module容器中才能使用,而nn.functional.relu则作为一个函数调用。
你可以
import torch.nn.functional as F
x = F.relu(self.fc1(x))
这样单独用就不会报错了。解决来源–
在Pytorch学习过程中,遇到AttributeError提示'torch.nn'模块没有'relu'属性。原因在于混淆了nn.relu()和nn.functional.relu的使用。nn.relu()是一个层结构,需放入nn.Module中,而nn.functional.relu直接作为函数调用。正确做法是导入torch.nn.functional为F,然后使用F.relu(self.fc1(x)),即可避免报错。
2万+





