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开始的,所以会报错