【发布时间】:2018-12-05 17:24:03
【问题描述】:
我正在处理屏蔽 r-cnn,但在根据标签索引屏蔽时遇到问题。
这是我想要实现的目标:我有一个张量(?,28,28,c),其中? 是未知的batch_size,“28x28”是二维坐标,c 代表不同的标签,然后我有一个索引列表(基本上我的标签预测)(?,)int32。现在我想根据批次索引提取给定标签的掩码 -> 使其成为(?,28,28,1) 张量。
我试过self.masks_sigmoids = tf.gather(self.final_conv, self.label_predictions, axis=3),但形状还是一样。
我也看了tf.gather_nd这里http://www.riptutorial.com/tensorflow/example/29069/how-to-use-tf-gather-nd,我想这是正确的路径,但我不知道如何根据批处理索引合并我想要的索引(在numpy中(b_i,:,:,c_i))
我也觉得我的问题有点类似于Batched 4D tensor Tensorflow indexing,尽管我的问题似乎不那么复杂。然而,就 tensorflow 的快速发展而言,这个问题已经过时了,所以我要求一个可能更好、更清晰的解决方案。编辑:即使是肮脏的解决方案也可能有益,因为我没有在链接的 SO 中得到问题(已经写了评论要求澄清问题),因此我从唯一的答案中没有得到太多。这也可能对社区有益,因为这个问题更简单,这意味着它将更清楚地展示解决方案。
【问题讨论】:
标签: python tensorflow indexing