现在我有一段代码,它将把BxNxNxC
张量填充到BxNxNx(C+P)
张量,其中B是批量大小,C是通道数,p是我要添加的填充通道数:
A = <some BxNxNxC tensor>
P = <some calculation>
padding_tensor = keras.layers.UpSampling3D(size=[1, 1, P])(tf.zeros_like(A)[:, :, :, 0:1])
# This is the BxNxNx(C+P) tensor
concat = keras.layers.Concatenate(axis=3)([A, padding_tensor])
我这样做的原因是因为我无法直接创建正确大小的padding_tensor
,因为似乎不可能获得批大小来指定形状
我想要一个干净的方法来实现这一点,因为我正在查看我的模型的计算图,这增加了很多膨胀。如果有可能将所有这些操作隐藏到一个计算节点中,我会很高兴,但不必对像填充这样简单的操作使用3个操作
我也怀疑这会有点慢,但我对tensorflow的了解还不足以真正了解
这是我的建议。。。我用零初始化一个伪conv2d层,使其不可训练,这将产生0输出
相关问题 更多 >
编程相关推荐