我正在继续学习TensorFlow,我在制作模型方面取得了一些成功。我正在深入研究API,我遇到了一些术语问题。我有一个273个特征的模型和4个线性独立的(在矩阵意义上)输出(每个输入矢量2 ^ 4 = 16个可能的输出矢量)。事实上,第一个模型是一个简单的大小[1,273] [273,4],它工作正常。为了达到这一步,我不得不进行大量的操作。我的python处理流程描述如下,所以我想知道我应该在每一步中利用哪些函数?
我手动在python中完成了以上所有操作,但我想尽可能多地利用TF API。不幸的是,似乎1-hot编码在API中得到了很多支持,为了使用它,我必须创建和维护4个独立的模型。或者我错过了一些简单的东西?
答案 0 :(得分:0)
我也没有在tf中找到k_hot函数。如果可以共享特征,则多标签而不是具有多个模型是一个好主意!
所以这是一个函数。它基本上是对向量的几种one_hot编码求和。
def k_hot(vector, num_classes):
one_hot_in_lines = tf.one_hot(vector, num_classes)
return tf.reduce_sum(one_hot_in_lines, axis=0)
让我们看看它是如何工作的:
tf.enable_eager_execution()
vector = [0, 2]
num_classes = 3
one_hot_in_lines = tf.one_hot(vector, num_classes)
>> [[1., 0., 0.], [0., 0., 1.]]
k_hot_encoding = tf.reduce_sum(one_hot_in_lines, axis=0)
>> [1., 0., 1.]
# with the function:
k_hot(vector)
>> [1., 0., 1.]