在用Tensorflow 1.x的版本进行训练的时候,提示了这样的错误。
labels = tf.placeholder(tf.int64, shape=[None,], name='labels')
原因是喂入的label的shape和占位符的不匹配。
其实还是因为我没有理解shape的含义,举个例子
label1=[2,3,4,5]
label2=[[2],[3],[4],[5]]
print(np.array(label1).shape) #(4,)
print(np.array(label2).shape) #(4,1)
当时处理数据的时候没有注意到这个细节,导致喂入的数据其实是类似label2这样的二维list形式,解决办法也很简单,把数据改成一维的形式就可以了
label = [ x for arr in label2 for x in arr]