Noise2Noise文章的复现code实现

时间:2024-03-26 13:53:40

Noise2Noise文章的复现code实现

背景

最近两天读了Noise2Noise: Learning Image Restoration without Clean Data,和之前读的DIP(deep image prior)那篇文章共同的地方都不需要干净的图像作为label。
看完文章想跑一下n2n的程序,作为一个小白,没有跑过深度学习的code(matlab半吊子使用者)在网上居然发现了对n2n code的解读, 觉得人家写的很详细了,NVlabs/noise2noise代码(一)概览与运行
对我这个小白后边感觉还是很复杂,继续搜索,又发现了noise2noise学习与修改,里边有第三方复现代码,然后下下来这个简化版的复现code,感觉清晰很多。而且noise2noise学习与修改,里边有提到在自己的垃圾机器上可以跑起来。但里边没有详细介绍环境配置。下面介绍一下配置环境的过程:

  1. 安装anaconda ,我的电脑已经安装好了。anaconda比较省心,在里边可以直接安装需要的包。网上很多安装的教程。
  2. 安装tensorflow以及OpenCV 下面是复现码需要的,Noise2Noise文章的复现code实现
    对于tensorflow的安装:先创建一个n2n的虚拟环境(可以在anaconda创建,也可以在终端创建。实在不知道怎么创建就向我最开始摸索的时候一样,网上搜索一下)anaconda里边可以直接安装tensorflow,还挺快的(至少不会太慢),keras , numpy 就不用说了,可以在anaconda里边以同样的方法安装.Noise2Noise文章的复现code实现
    uninstall里边找你需要的东西就可以了。
    对于OpenCV的安装:主要是这里,在anaconda 里边下载实在太慢。找网上找了好几个都不太顺利,最后发现了这篇文章:anaconda+openCV终于装好了~
    亲测有效,不过我看下边的评论,把源改成了清华镜像Links for opencv-python
    这里有各种版本,我的是win10,python3.6,我选的下边的版本:
    Noise2Noise文章的复现code实现
    cp36对应的是python3.6版本(因为装的是tensorflow2.0,所以需要pyhon3.6的版本,安装python3.6在终端会比较方便,conda create -n env_name python=3.6,如果直接在anaconda里边装的话好像是python3.7)
    将下载好的whl文件移动到anaconda3\Lib\site-packages这个文件夹下,然后进入cmd命令行cd到whl文件所在目录,然后输入pip install opencv_python-3.4.5+contrib-cp37-cp37m-win_amd64.whl
    原文链接:https://blog.csdn.net/mawonly/article/details/87856530
    Noise2Noise文章的复现code实现
    一下就能装好,非常快。这样环境就基本配置好了,如果运行的过程中发现还缺什么库,在终端随时pip install .
  3. 程序跑起来
    配置完环境之后,准备数据集:
    readme 中执行命令是Linux系统下的,对于Windows系统稍改一下就可以了。
    Noise2Noise文章的复现code实现
    按照两个网址直接把dataset下载,然后解压到一个dataset的文件夹里,把dataset文件夹和下载的复现码放在一个文件夹。
    直接运行train.py还是会报错的,做一点修改:
    Noise2Noise文章的复现code实现
    把required=True删掉,加上数据集的路径default=’./dataset/train_data/91’,同样的更改–test_dir。其他的参数可以按照readme中给出的进行修改。
    这时候code就可以跑起来啦
    Noise2Noise文章的复现code实现跑到现在大概跑了两个小时了,我应该让epoch=2,这样可以看一下效果,要不然训练时间太长了。
    真真小白能让code跑起来花了一天的时间,中间还有很多曲折,不过总归是跑起来了,还好没放弃,感谢各位小伙伴们的分享,都是借用大家的方法。第一次跑起来深度学习的code,第一次写总结,中间有一些地方,自己折腾的过程没有及时记录,有时候也不知道怎么就好了????。以后养成随时记录的习惯。