pytorch 的交叉熵损失总是报错,同样的结构改成MSELoss就没有问题

  统计/机器学习 深度学习 Python 人工神经网络    浏览次数:5304        分享
0

pytorch 的交叉熵损失总是报错,同样的结构改成MSELoss就没有问题,谁能告诉我怎么回事呀

loss_function = torch.nn.CrossEntropyLoss()

TypeError: FloatClassNLLCriterion_updateOutput received an invalid combination of arguments


这是报错截图


 

大鱼   2017-11-23 22:29



   1个回答 
2

不知道你整个代码,但是也许是你的目标值的tensor type的问题吧

你试试把你的tensor转成longtensor的类型,比如

my_target = Variable(torch.LongTensor([1]))


SofaSofa数据科学社区DS面试题库 DS面经

曾经是科比   2017-11-24 01:09

没错是Tensor和LongTensor的问题,谢谢回答,已经解决。 - 大鱼   2017-11-27 12:40


  相关讨论

离散随机变量的熵满足的不等式如何证明?

python里怎么计算一个数组的熵(entropy)?

softmax模型和最大熵模型是否是一回事?

求问:Cart分类树为什么是基尼指数最小化准则

决策树的熵是什么?怎么用熵来选分叉?

cross entropy是什么意思?

最小描述长度和香农熵有什么关系?

Gini指数、Gini系数、Gini不纯是一回事吗?

为什么决策树中用熵而不是基尼不纯度来作为划分依据?

keras里sparse_categorical_crossentropy和categorical_crossentropy什么不同?

  随便看看

Data Application Lab怎么样?

python去掉中文文本中所有的标点符号

pandas.DataFrame的index重新排列(从0开始)

在jupyter后台进程没有shutdown的notebook一直会占用内存吗?

pandas DataFrame中经常出现SettingWithCopyWarning