如何根据tensorflow中的已知索引创建二进制(0或1值)张量?

如何根据tensorflow中的已知索引创建二进制(0或1值)张量?,tensorflow,Tensorflow,输入:长度占位符,index1D张量 输出:0-1一维张量 示例:长度5,索引[0,1,3],输出张量应为[1,1,0,1,0] 我尝试过使用scatter_add,它需要已知形状的变量,并使用[length,length]从矩阵中嵌入_查找,这在长度较大时无效 有什么想法吗?试试: 输出:数组[1,1,0,1,0.],dtype=float32 output_size = tf.placeholder(tf.int32, [1]) index = tf.constant([0, 1, 3])

输入:长度占位符,index1D张量 输出:0-1一维张量 示例:长度5,索引[0,1,3],输出张量应为[1,1,0,1,0]

我尝试过使用scatter_add,它需要已知形状的变量,并使用[length,length]从矩阵中嵌入_查找,这在长度较大时无效

有什么想法吗?

试试:

输出:数组[1,1,0,1,0.],dtype=float32

output_size = tf.placeholder(tf.int32, [1])
index = tf.constant([0, 1, 3])
ones = tf.ones([tf.size(index)])
result = tf.sparse_to_dense(index, output_size, ones)
with tf.Session() as sess:
    sess.run(result, feed_dict={output_size: [5]})