【发布时间】:2018-11-04 10:11:26
【问题描述】:
我必须张量,例如
A = tf.Tensor(
[[1.0986123 0.6931472 0. 0.6931472 0. ]
[0. 0. 0. 0. 0. ]
[3.7376697 3.7612002 3.7841897 3.8066626 3.8286414]], shape=(3, 5), dtype=float32)
B = tf.Tensor(
[[2 1]
[2 2]], shape=(2, 2), dtype=int64)
张量 B 在张量 A 中保存索引。我想将张量 A 中的每个值更新为索引列表 B 中列出的零。
所以,预期的结果是
tf.Tensor(
[[1.0986123 0.6931472 0. 0.6931472 0. ]
[0. 0. 0. 0. 0. ]
[3.7376697 0 0 3.8066626 3.8286414]], shape=(3, 5), dtype=float32)
因此索引 [2,1] 和 [2, 2] 处的条目设置为 0。
我查看了tf.assign,但它们只能用于tf.Variable。 tf.boolean_mask 将是一个不错的方法,但我不知道也无法找到如何创建带有索引列表的布尔掩码。
我查看了我能找到的张量流函数和相关的 S/O 答案,但找不到令人满意的解决方案。
【问题讨论】:
标签: python tensorflow