如何计算一个热张量

时间:2019-02-06 15:43:44

标签: python tensorflow one-hot-encoding

我知道我可以使用以下命令将张量转换为单张热:

one_hot_labels = tf.one_hot(labels,depth=3)

现在,我想计算one_hot_labels中有0类,1类和2类的数量。最简单的方法是什么?

示例:

输入:

one_hot_labels = [[1,0,0],[1,0,0],[0,0,1]]
one_hot_labels.count([1,0,0]) # something like this command

输出:

2

1 个答案:

答案 0 :(得分:2)

类似的事情应该对您有用:

one_hot_labels = np.array([[1,0,0],[1,0,0],[0,0,1]])
count_label = tf.reduce_sum(one_hot_labels, axis=0)
sess = tf.Session()
sess.run(count_label)
# array([2, 0, 1])

例如,现在您可以执行以下操作:

count_label = tf.reduce_sum(one_hot_labels, axis=0)[0]
# 2