在实际论文复现中遇到的API对照缺失进行补充
Pytorch的API名称 | Paddle的API名称 |
---|---|
torch.clamp | fluid.layers.clip |
torch.meshgrid | fluid.layers.meshgrid |
torch.view | fluid.layers.reshape |
torch.repeat | fluid.layers.expand |
torch.from_numpy | fluid.dygraph.to_variable |
torch.type_as | fluid.layers.cast |
# pytorch code
p_n_x, p_n_y = torch.meshgrid(
torch.arange(-(self.kernel_size-1)//2, (self.kernel_size-1)//2+1),
torch.arange(-(self.kernel_size-1)//2, (self.kernel_size-1)//2+1))
# paddlepaddle code
p_n_x, p_n_y = fluid.layers.meshgrid(
[fluid.layers.range(-(self.kernel_size - 1) // 2, (self.kernel_size - 1) // 2 + 1, step=1, dtype=dtype),
fluid.layers.range(-(self.kernel_size - 1) // 2, (self.kernel_size - 1) // 2 + 1, step=1, dtype=dtype)])
# pytorch code
p_0_x = torch.flatten(p_0_x).view(1, 1, h, w).repeat(1, N, 1, 1)
# paddlepaddle code
p_0_x = fluid.layers.expand(fluid.layers.reshape(p_0_x, shape=[1, 1, h, w]), expand_times=[1, N, 1, 1])
# pytorch code
q_lt[:, :, :, :N].type_as(p)
# paddlepaddle code
fluid.layers.cast(q_lt[:, :, :, :N], p.dtype)
# pytorch code
self.zero_padding = nn.ZeroPad2d(padding)
x = self.zero_padding(x)
# paddlepaddle code
x = fluid.layers.pad(x=x, paddings=[0, 0, 0, 0, self.padding, self.padding, self.padding, self.padding])