欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-03 08:14:19
...
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

相关标签: Bug