https://stackoverflow.com/questions/38646328/tensorflow-tf-nn-in-top-k-error-targets0-is-out-of-range
越来越发现overstack上的东西含金量很高。这个错误在国内网站上绝种,在overstack上找到了这个以后大致一看就有数了。本质上是生成数据集所包含的label不存在,导致在训练的过程中,在所定义的label集合内找不到与之相匹配的label,导致target out of range。
打个比方,比如你定义label包括cat和dog,然后转成了数字0,1(便于计算),结果出于某种原因,label存成了-1(比如并没找到cat或者dog,返回-1)并存在了tfrecord里面,这时候在训练过程中程序尝试在{0,1}内找-1,肯定是找不到的,于是就报出了out of range的错误。
当然这个只是其中一种可能性,我是在训练分类问题中报错的,比较有针对性,但是如果以后有这种问题,可以多从这个角度出发探讨可能的原因。