【发布时间】:2023-04-05 21:55:01
【问题描述】:
如果我有一个与批量大小对应的第一维度为 None 的张量,例如:
tensor = tf.placeholder(tf.float32, shape=[None, 256, 256,3],name="placeholder_input")
现在我有一个张量函数“myfunc”,作用于大小为 [256,256,3] 的张量,我想应用与批次数一样多的次数,从而得到大小为 [None, 256, 256,3]。如果形状不是动态的,我会这样做:
output_tensor = tf.stack([myfunc(tensor [k,:,:,:] for k in range(BATCH_SIZE)])
如何处理动态形状?
【问题讨论】:
-
在 Mask_RCNN 的 repo 中有一个名为 batch_slice 的函数做同样的事情:github.com/matterport/Mask_RCNN/blob/master/mrcnn/utils.py#L801。
-
不要认为这是我的问题的解决方案,因为它需要一个批量大小,而在具有可变批量大小的动态形状的情况下,我没有这个批量大小
标签: python tensorflow deep-learning