yu45020 / Waifu2x

PyTorch on Super Resolution
GNU General Public License v3.0
261 stars 48 forks source link

How many pictures used in training? #3

Open zhouhang95 opened 5 years ago

zhouhang95 commented 5 years ago

How many pictures used in training?

yu45020 commented 5 years ago

I use around 4k images and cut them into around 300k small patches.

zhouhang95 commented 5 years ago

空洞卷积的大坑在于通过增加空白间隔来增大感受野,然而这适合稀疏的任务,不适合稠密的任务,看一下FFDNet通过pixel_shuffle的逆变换来增加感受野,适合稠密的任务

zhouhang95 commented 5 years ago

还推荐你再看一下pix2pix的论文

zhouhang95 commented 5 years ago

apex能加速多少

yu45020 commented 5 years ago

关于空洞卷,我一开始的想法是扩大感受野,然后接上连续的正常卷,把这两部分合起来再重复。 扩大了的感受野就可以被下一层补充细节。 比如像这样

block = nn.Sequential(nn.Conv2D(10,10,dilation=2, kernel=3, padding=2), 
                      nn.Conv2D(10,10,dilation=1, kernel=3, padding=1),
                      nn.Conv2D(10,10,dilation=1, kernel=3, padding=1)

或者做成residual block,或者不同的顺序组合,又或者不同dilation rate 组合, 可惜都没效果 ><.

模型训练加速是有mixed precision training 带来的。 apex 把gradient update和 norm 换成32fp,其余就可以做16fp运算的同时保留了准确度。 我的配置下比32fp快了约 70%, 最后出来的结果也十分接近32fp。迟点然我找一下那时候做的对比图。

zhouhang95 commented 5 years ago

详解爱奇艺ZoomAI视频增强技术的应用 | 公开课笔记 - 知乎 https://zhuanlan.zhihu.com/p/62735801 发现了个新奇的小玩意 用梯度loss保留边缘 这操作真没见过

zhouhang95 commented 5 years ago

一般都是L1/L2保低频主体信息 vgg特征损失/vgg风格损失/gan对抗损失保高频细节 而这梯度loss似乎对acg插图更合适 因为都是二次元插图边缘都是手绘的 边缘比较重要 姑妄言之 姑妄言之

zhouhang95 commented 5 years ago

一般都是L1/L2保低频主体信息 vgg特征损失/vgg风格损失/gan对抗损失保高频细节 而这梯度loss似乎对acg插图更合适 因为都是二次元插图边缘都是手绘的 边缘比较重要 姑妄言之 姑妄言之

yu45020 commented 5 years ago

有意思。

最初的选择是从 Loss Functions for Image Restoration with NeuralNetworks 。L1貌似已经够好了,就没多想。下一步选loss也是个不错的实验方案。

zhouhang95 commented 5 years ago

https://zhuanlan.zhihu.com/p/53071846 找到了有梯度loss的论文还有实现了