查看: 4272|回复: 3

Assertion `cur_target >= 0 && cur_target < n_classes’ failed.

[复制链接]

4

主题

34

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2018-10-15 17:35:01 | 显示全部楼层 |阅读模式
讲一个我们在分类训练中经常遇到的问题:
一般来说在我们网络中输出的种类数和你label设置的种类数量不同的时候就会出现这个错误。
但是,Pytorch有个要求,在使用CrossEntropyLoss这个函数进行验证时label必须是以0开始的:
假如我这样:
  1. self.classes = [0, 1, 2, 3]
复制代码
我的种类有四类,分别是0.1.2.3,这样就没有什么问题,但是如果我写成:
  1. self.classes = [1, 2, 3, 4]
复制代码
这样就会报错

回复

使用道具 举报

665

主题

1234

帖子

6678

积分

xdtech

Rank: 5Rank: 5

积分
6678
发表于 2019-2-9 19:00:13 | 显示全部楼层

类别代码必须哦那个0开始
回复

使用道具 举报

665

主题

1234

帖子

6678

积分

xdtech

Rank: 5Rank: 5

积分
6678
发表于 2019-2-9 19:00:28 | 显示全部楼层
这个事
初学者
需要知道
才不会犯错误
回复

使用道具 举报

665

主题

1234

帖子

6678

积分

xdtech

Rank: 5Rank: 5

积分
6678
发表于 2019-2-9 19:01:00 | 显示全部楼层
一般来说,许多数组型的
结构
都是从0开始计数
python如此
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表