tf onehot说明

在读取mnist数据时,需要执行one-hot为true。

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("/tmp/data", one_hot=True)

在多类场景下,onehot=true表示,只有一个元素的值是1,其他元素的值是0, 一个长度为n的数组,只有一个元素是1.0,其他元素是0.0。

onehot=False则没有这样的限制。

例如在n为10的情况下,标签2对应的onehot标签就是 [0.0,  0.0,   1.0,  0.0, 0.0, 0.0,  0.0,  0.0, 0.0 ,0.0, 0.0]

使用onehot的直接原因是现在多分类cnn网络的输出通常是softmax层,输出是一个概率分布,
从而要求输入的标签也以概率分布的形式出现,进而算交叉熵。

你可能感兴趣的:(人工智能)