pytorch ReplicationPad2d的张量流等效

时间:2019-02-22 00:58:20

标签: python tensorflow pytorch

我正在尝试找出如何在pytorch中执行以下填充的张量流:

nn.ReplicationPad2d((1, 0, 1, 0))

我已经尝试了以下方法,但这仅在输入张量实际上是2x2的情况下才起作用:

tf.pad(my_tensor, [[1, 0], [1, 0]], "SYMMETRIC")

1 个答案:

答案 0 :(得分:1)

Tensorflow的等效项为tf.pad(my_tensor,[[0,0],[0,0],[1,0],[1,0]],"SYMMETRIC")。 (这假定您有兴趣对4D张量进行操作,前两个维是批处理和通道)。

在Tensorflow中,您需要显式给出所有四个维度的填充。如果您不希望填充批处理和通道尺寸(在卷积网络中通常不需要填充),则需要在张量的两侧显式要求这两个尺寸的零填充。这就是为什么我在您的[0,0],[0,0]之前添加了[1,0],[1,0]的原因。

在Pytorch中,nn.ReplicationPad2d的一个实例已经假定填充4D张量,而没有填充前两个维度。这就是为什么通过仅在另外两个维度中指定填充来初始化实例的原因。