Pytorch分类错误——Assertion cur_target 大于等于 0 and cur_target 小于 n_classes failed

RuntimeError: Assertion `cur_target >= 0 && cur_target < n_classes' failed.  at c:\programdata\miniconda3\conda-bld\pytorch-cpu_1532498166916\work\aten\src\thnn\generic/ClassNLLCriterion.c:93

断言函数报错,要求目标类大于等于0并且小于等于输入的类别,但是不满足。
在分类训练中经常遇到这个问题,一般来说在我们网络中输出的种类数和你label设置的种类数量不同的时候就会出现这个错误。

在matlab进行实验分类时使用find去除了背景类0,所以所有的类别从1开始,在matlab进行分类的时候没问题但是Pytorch有个要求,在使用CrossEntropyLoss这个函数进行验证时label必须是以0开始的,所以会报错 ← 在 处 理 完 背 景 类 之 后 将 所 有 的 类 别 标 签 减 1 \leftarrow在处理完背景类之后将所有的类别标签减1 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值