Dav*_*vic 7 python tensorflow softmax
假设我有以下张量t作为softmax函数的输出:
t = tf.constant(value=[[0.2,0.8], [0.6, 0.4]])
>> [ 0.2, 0.8]
[ 0.6, 0.4]
Run Code Online (Sandbox Code Playgroud)
现在我想将此矩阵t转换为类似于OneHot编码矩阵的矩阵:
Y.eval()
>> [ 0, 1]
[ 1, 0]
Run Code Online (Sandbox Code Playgroud)
我很熟悉c = tf.argmax(t)那会给我每行的指数t应该是1.但是从那里c开始Y似乎很难.
我已经尝试过转换t为tf.SparseTensor使用c然后使用tf.sparse_tensor_to_dense()来获取Y.但是这种转换涉及相当多的步骤并且对于任务来说似乎有点过头了 - 我甚至还没完成它,但我确信它可以工作.
有没有更合适/简单的方法来进行我失踪的转换.
我需要这个的原因是因为我在Python中有一个自定义的OneHot编码器,我可以在其中提供Y.tf.one_hot()不够广泛 - 不允许自定义编码.
相关问题:
为什么不将tf.argmax()与tf.one_hot()结合起来.
Y = tf.one_hot(tf.argmax(t, dimension = 1), depth = 2)
| 归档时间: |
|
| 查看次数: |
2800 次 |
| 最近记录: |