AttributeError: ‘NoneType’ object has no attribute ‘data’
参考资料 issue pytorch: grad is None while training pytorch冻结部分参数训练另一部分 问题描述 将别人模型替换成自己的模型,训练过程中出现错误 param.grad.data.clamp_(-grad_clip, grad_clip) AttributeError: 'NoneType' object has no attribute 'data' 解决方法 上网查询这个问题,大部分回答都是模型中定义的某个层没有参与到前向传播,所以反向传播,计算loss时, grad is None 。主要是要找到未参与计算的层,并注释掉。 这个问题困扰我很久,因为始终觉得没有多余的层。 下面的代码定义一个AttentionResNet模型。后来才发现罪魁祸首是 self.encoder ,这所以前面一直没有注意到它,是因为后面的层的定义用到 self.encoder 中的某个层或某几个层组合。 class AttentionResNet ( nn . Module ) : def __init__ ( self , in_channels = 3 , out_channels = 1 , num_filters = 32 , encoder_depth = 34 , pretrained = True ) : super (