百度飞桨PaddlePaddle论文复现训练营——U-GAT-IT 论文复现心得
项目背景
-
本次论文复现是源自百度顶会论文复现营:
-
复现对象是 2020 ICLR 上的 U-GAT-IT 这篇论文:
-
论文阅读笔记:
-
论文的源代码是 Pytorch 版本,本次需要在 PaddlePaddle 的框架下进行复现
复现心得
在这次复现之前,笔者仅仅接触过 PaddlePaddle 的框架,有过一些基础知识的学习。对于 Pytorch 完全没有接触,仅仅知道 Pytorch 由于其简单易用性,深受研究者的青睐。这次是第一次接触 Pytorch,整个复现过程走下来确实深有感触,Paddle 的框架还需要继续努力才能追赶上 Pytorch 的易用性啊!不过在中美关系紧张的大背景下,说不定哪一天 Pytorch 和 Tensorflow 都用不了了,所以我认为掌握 Paddle 的使用,在国内还是非常有必要的!
由于有 Ai Studio 的平台免费算力,和百度详细的课程作为基础,才使得我有机会实践深度学习的各种前沿应用,所以我算是个百度 Paddle 的铁杆粉丝了。之前在课程里面很多前辈都呼吁国内的开源生态建设,想要更多的人加入进来。初来乍到的时候,看各种大佬们发的项目和写的开源分享,觉得还是挺望尘莫及的,觉得自己能做的好像很少啊~。
直到这次复现经历,改变了我的想法,其实一个框架的完善是一个永不结束的工程,需要更多的人不断尝试,不断使用,在过程中提出 issue,提出改进的思路,有时候增加一个个小小的函数方法可能会给很多人带来便利。相信以后想要为开源社区做贡献可以有更多的思路了~。
填坑记录
先记录各种坑,下次回顾解决方案
- Paddle 中目前没有 Pytorch 的 Transform 模块,需要自己写
- 读取数据的方式不同,要先弄清楚 reader 的工作原理,一开始不容易理解
- 图片读取的时候是 CHW 还是 HWC
- 卷积层的输入为 NCHW,读入的数据是否匹配
- 读入数据的 type 要匹配网络的需求
- 传入网络前先要把数据转成网络可以认得的 tensor
- Paddle 中没有计算方差的模块,需要另写
- spectral norm 模块需要另写
- 读入参数的 shape 和 Pytorch 不同
- 图片的数据是 RGB 还是 BGR 需要注意
- 模型参数保存方式