AttributeError:'tuple’object has no attribute 'log_softmax’
问题描述:
pytorch 报错 “AttributeError:'tuple’object has no attribute ‘log_softmax’”
原因分析:
在某些情况下,pytorch前向传播outputs可能不是一个tensor,而是一个tuple. 例如LSTM中输出可能为(outputs, hn), inception-v3 的输出为 (outputs, aux).
而前向传播criterion要求接受参数output为一个tensor. 因此产生错误。
解决方案:
在进入criterion之前,重新创建一个变量指向元组中的outputs.
方法一:
@hye
outputs = outputs[0]
方法二:
outputs,_ = outputs
推荐使用方法二