我想将2x2张量调整为4x4张量,但将新值设为零。
[[1,2],
[3,4]]
变为
[[1,0,2,0],
[0,0,0,0],
[3,0,4,0],
[0,0,0,0]]
我找不到合适的方法来做到这一点。
答案 0 :(得分:1)
使用您拥有的值定义稀疏张量并将其转换回密集:
a = tf.constant([[1,2],[3,4]]) # your input tensor
indices = tf.constant( [[0,0],[0,2],[2,0],[2,2]], dtype=tf.int64 ) # define this as appropriate
values = tf.reshape(a, [-1]) # flatten the input
sparse_tensor = tf.SparseTensor(indices, values, [4,4])
res = tf.sparse_tensor_to_dense(sparse_tensor)
with tf.Session() as sess:
print(sess.run(res))
打印
array([[1, 0, 2, 0],
[0, 0, 0, 0],
[3, 0, 4, 0],
[0, 0, 0, 0]], dtype=int64)