IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)

问题出在交叉熵函数的参数设置上 

如:

criterion = nn.CrossEntropyLoss()#使用交叉熵
loss = criterion(x, lables)

参数x和lables的设置出错了

错误原因一:

x必须是二维即以上,lables则为一维。

tensor类型转换维度用reshape函数

参考博客:

http://t.csdn.cn/a7sxj

错误原因二:

x不是样本对各个类别的概率举证,而设置成了具体的类别下标,导致出错。

参考博客:

http://t.csdn.cn/cuYjQ 

http://t.csdn.cn/3aga0

我的错误是一,修改代码如下:

x = x.reshape(1,5).requires_grad_(True)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值