AttributeError:“元组”对象没有属性“ log_softmax”

时间:2018-11-26 07:18:08

标签: python deep-learning pytorch

同时尝试通过更改最后一个fc层(例如

)来调整自己的数据集的inception_V3
last_layer =nn.Linear(n_inputs, len(classes))
inception_v3.fc = last_layer

在那之后,当我训练它时,这个位置出现了这个错误

    # on training loop
    output = inception_v3(data)
    # calculate the batch loss
    loss = criterion(output, target)

错误是

 AttributeError: 'tuple' object has no attribute 'log_softmax'

2 个答案:

答案 0 :(得分:3)

这是一个众所周知的问题。

尝试以下解决方案之一:

  1. 在此处创建模型时也通过将aux_logits=False传递给inception_v3函数来禁用aux_logits。

  2. 编辑您的火车函数,以接受并解压缩返回的元组,例如:output, aux = model(input_var)

检查以下link以获得更多信息。

答案 1 :(得分:0)

这个问题对我来说就像是您定义F一样:

import torch.nn.functional as F

您偶然将F设置为某些元组

F=(1,2)

然后,当您致电F.log_softmax时,您会确切地收到此错误。

enter image description here