根据每个批次存储在另一个张量中的索引,在 TensorFlow 中更新批处理中的张量切片

updating tensor slices in a batch in tensorflow based on indexes stored in another tensor for each batch

提问人:Vyshnavi Gutta 提问时间:7/9/2020 最后编辑:CompoVyshnavi Gutta 更新时间:7/10/2020 访问量:205

问:

给定一个布尔掩码张量,其形状为 [None,#number of timesteps](全部设置为 false)。此外,还有另一个张量,其中包含为每个批处理存储索引的张量。索引范围为 (0,#number 的时间步长)。它的形状是 [None,1]。使用索引张量,对于每个批次,应将原始布尔掩码的切片更新为 True。

例如,假设掩码为 [[False,False,False,False],[False,False,False,False]],索引张量为 [2,3]。输出应为 [[True,True,False,False],[True,True,True,False]]。 即,在第一批中,[:2] 设置为 true,在第二批中,[:3] 设置为 true。

如何在不使用会话调用的情况下在 tensorflow 中同时实现所有批处理的上述目标?

TensorFlow Slice 批处理 张量 分配

评论

0赞 jdehesa 7/10/2020
mask = index < tf.range(number_of_timestamps)?
0赞 Vyshnavi Gutta 7/10/2020
我不明白你在说什么?
0赞 jdehesa 7/10/2020
例如,如果你有 和 ,那么应该给出你想要的结果。或者,如果你有 ,那么就 .index = tf.constant([[2], [3]])number_of_timesteps = 4mask = index < tf.range(number_of_timesteps)index = tf.constant([2, 3])mask = tf.expand_dims(index, axis=1) < tf.range(number_of_timesteps)
0赞 Vyshnavi Gutta 7/10/2020
谢谢我想要的是 tf.range(number_of_timesteps) >索引

答: 暂无答案