模型转换论文复现
文章平均质量分 51
潜沉10
这个作者很懒,什么都没留下…
展开
-
3D目标检测(单目)D4LCN论文复现(paddlepaddle)
D4LCN: Learning Depth-Guided Convolutions for Monocular 3D Object Detection (CVPR2020) 基于深度引导卷积的单目3D目标检测1. 论文简介(1)简介单目3D目标检测最大的挑战在于没法得到精确的深度信息,传统的二维卷积算法不适合这项任务,因为它不能捕获局部目标及其尺度信息,而这对三维目标检测至关重要。为了更好地表示三维结构,现有技术通常将二维图像估计的深度图转换为伪激光雷达表示,然后应用现有3D点云的物体检测算法。因此原创 2021-03-29 22:20:51 · 3908 阅读 · 5 评论 -
paddle复现pytorch踩坑(十二):可视化paddle各种学习率及OneCycleLR复现
版本说明: paddlepaddle 1.8.4可视化paddle学习率列表noam_decaycosine_decaypiecewise_decayexponential_decaynatural_exp_decayinverse_time_decaypolynomial_decaylinear_lr_warmup附录:代码实现noam_decaypaddlepaddle官网实现原理说明fluid.layers.noam_decay(d_model, warmup_steps)cosine_d原创 2021-03-28 14:31:18 · 1766 阅读 · 0 评论 -
paddle复现pytorch踩坑(十一):转换pytorch预训练模型
直接上代码解释预训练模型的转换过程,需要注意:(1)若想完全转换pytorch模型,可直接转(2)若想转换预训练模型,即包含权重不包含全连接层,则舍弃全连接层的部分即可(3)如遇数据维度不对,需要对权重进行转置环境:pytorch 1.1.0paddlepaddle 1.8.4import torchimport paddle.fluid as fluidfrom collections import OrderedDictfrom model import ResNet3Dtorc原创 2021-01-15 17:21:24 · 3341 阅读 · 1 评论 -
paddle复现pytorch踩坑(十):dataloader读取
问题一:图片大小问题报错:F:\Anaconda\envs\paddle\lib\site-packages\paddle\fluid\reader.py:811: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is d原创 2021-01-14 11:53:17 · 6601 阅读 · 3 评论 -
paddle复现pytorch踩坑(九):版本问题报错汇总
报错一:Error, broadcast should not into w broadcast原版本:paddlepaddle1.8.0新版本:paddlepaddle1.8.4原创 2021-01-13 11:14:36 · 842 阅读 · 0 评论 -
paddle复现pytorch踩坑(八):smooth_l1的用法
fluid.layers.smooth_l1作用:该layer计算变量 x 和 y 的smooth L1 loss,它以 x 和 y 的第一维大小作为批处理大小。对于每个实例,按元素计算smooth L1 loss,然后计算所有loss。输出变量的形状是[batch_size, 1]链接:pp飞桨API说明问题一:输入数据类型# pytorch codeloss_bbox_x = F.smooth_l1_loss(bbox_x[active], bbox_x_tar[active], redu原创 2021-01-12 11:12:55 · 724 阅读 · 1 评论 -
paddle复现pytorch踩坑(七):softmax_with_cross_entropy的用法
fluid.layers.softmax_with_cross_entropy作用:OP实现了softmax交叉熵损失函数。该函数会将softmax操作、交叉熵损失函数的计算过程进行合并,从而提供了数值上更稳定的梯度值。链接:pp飞桨API说明复现问题报错:loss为nan解决:API对应错误pytorch采用:F.cross_entropy原拟采用:fluid.layers.cross_entropy更改:fluid.layers.softmax_with_cross_entropy原创 2021-01-11 20:12:16 · 1779 阅读 · 0 评论 -
paddle复现pytorch踩坑(六):多维度index下gather的用法
fluid.layers.gather(input, index, overwrite=True)作用:根据索引 index 获取输入(input)的最外层维度的条目,并将它们拼接在一起。链接:pp飞桨API说明对比:通常来说此api用法和pytorch没什么特殊,但因为API缺少了dim参数,使得当多维tensor索引时报错示例输入维度X.shape = [b, c, 81204]Index.shape = [b, c, 720000]输出维度X_offset = [b, c, 7原创 2021-01-11 14:46:53 · 1410 阅读 · 1 评论 -
paddle复现pytorch踩坑(五):dygraph的一些用法示例
1. Conv2D# paddlepaddle codeself.p_conv = Conv2D(inc, 2*kernel_size*kernel_size, filter_size=3, padding=1, stride=stride)self.p_conv.weight = fluid.initializer.ConstantInitializer(value=0)报错:assignment to parameter 'weight' should be of type Paramete原创 2021-01-10 14:51:27 · 772 阅读 · 0 评论 -
paddle复现pytorch踩坑(四):Tensor
paddlepaddle从1.5版本以上采用动态图的思想,本博客基于1.8.0以上版本。关于Tensor的用法:pytorch可以使用静态数组索引;可以使用tensor索引paddlepaddle可以使用静态数组索引;不可以使用tensor索引示例1:索引示例# pytorch codeaa = cls[active, :]# paddlepaddle codeaa = cls[active, :]报错:SystemError: <built-in method __geti原创 2021-01-09 15:36:56 · 4955 阅读 · 0 评论 -
paddle复现pytorch踩坑(三):paddleAPI对照表(后续补充)
在实际论文复现中遇到的API对照缺失进行补充Pytorch的API名称Paddle的API名称torch.clampfluid.layers.cliptorch.meshgridfluid.layers.meshgridtorch.viewfluid.layers.reshapetorch.repeatfluid.layers.expandtorch.from_numpyfluid.dygraph.to_variabletorch.type_as原创 2021-01-09 15:05:54 · 2870 阅读 · 2 评论 -
paddle复现pytorch踩坑(二):paddleAPI对照表(百度论文复现营活动提供)
百度提供了paddlepaddle对应pytorch的API对照表环境:paddlepaddle1.8Pytorch的API名称Paddle的API名称torch.absfluid.layers.abs(x, name=None)torch.acosfluid.layers.acos(x, name=None)torch.addfluid.layers.elementwise_add(x, y, axis=-1, act=None, name=None)tor原创 2021-01-08 21:18:15 · 6209 阅读 · 0 评论 -
paddle复现pytorch踩坑(一):Resnet复现
paddlepaddle中关于Resnet复现的实际解决代码1. 遍历模块初始化部分pytorch代码:for m in self.modules(): if isinstance(m, nn.Conv2d): nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') elif isinstance(m, nn.BatchNorm2d): nn.init.constant原创 2021-01-08 21:17:04 · 1721 阅读 · 5 评论