paddle复现pytorch踩坑(三):paddleAPI对照表(后续补充)

博客针对实际论文复现中API对照缺失的问题进行补充,介绍了PaddlePaddle中fluid.layers.meshgrid、fluid.layers.reshape和fluid.layers.expand、fluid.layers.cast、fluid.layers.pad的用法。
部署运行你感兴趣的模型镜像

在实际论文复现中遇到的API对照缺失进行补充

Pytorch的API名称Paddle的API名称
torch.clampfluid.layers.clip
torch.meshgridfluid.layers.meshgrid
torch.viewfluid.layers.reshape
torch.repeatfluid.layers.expand
torch.from_numpyfluid.dygraph.to_variable
torch.type_asfluid.layers.cast

1. fluid.layers.meshgrid用法

# 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)])
 

2. fluid.layers.reshape和fluid.layers.expand用法

# 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])

3. fluid.layers.cast用法

# pytorch code
q_lt[:, :, :, :N].type_as(p)
    
# paddlepaddle code
fluid.layers.cast(q_lt[:, :, :, :N], p.dtype)

4. fluid.layers.pad用法

# 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])

您可能感兴趣的与本文相关的镜像

PaddlePaddle-v3.3

PaddlePaddle-v3.3

PaddlePaddle

PaddlePaddle是由百度自主研发的深度学习平台,自 2016 年开源以来已广泛应用于工业界。作为一个全面的深度学习生态系统,它提供了核心框架、模型库、开发工具包等完整解决方案。目前已服务超过 2185 万开发者,67 万企业,产生了 110 万个模型

PaddlePyTorch是两种常用的深度学习框架,下面对它们进行常见方面的对照比较。 1. 框架功能: PaddlePyTorch都具备了丰富的深度学习框架功能,可以支持复杂的神经网络模型设计、训练和部署。它们都提供了大量的预训练模型和优化算法,以便开发者能够快速实现高效的深度学习应用。 2. 编程风格: PyTorch是一种动态图深度学习框架,以其简洁易懂的编程风格而受到欢迎。而Paddle则是一种静态图深度学习框架,其设计理念更加注重性能优化和推理加速。 3. 部署灵活性: 在模型部署方面,PyTorch更加灵活,可以在不同平台和设备上进行部署。而Paddle则通过Paddle Serving提供了更加高效的模型服务部署解决方案,可以满足大规模线上推理的需求。 4. 生态系统: PyTorch拥有庞大的开源社区和丰富的第方库支持,同时得到了广泛的学术界和工业界认可。Paddle则在产业界的落地实践方面发展迅速,已经成为了一些大型互联网公司的首选。 综上所述,PaddlePyTorch都是非常优秀的深度学习框架,选择哪一个取决于具体应用场景和个人喜好。对于初学者来说,PyTorch的简洁易懂性可能更为友好;而对于追求性能和产业级应用的开发者来说,Paddle可能更适合。无论选择哪个框架,都能够帮助开发者更好地进行深度学习模型的研究和应用。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值