一步一步教你跑DCPDN深度学习去雾网络
论文:Densely Connected Pyramid Dehazing Network(CVPR2018)
论文就不讲解了,网上有,步骤开始:
1、环境安装:
Ubuntu16.0.4平台运行
Python2.7环境
Pytorch>=0.3.1框架
CUDA9.0+CUDNN7
训练网络需要使用GPU,显存和运行内存、还有系统交换区swap不要太抠,不然容易程序无法进行而报错。还有系统共享内存也不能不足,我的电脑勉强用100个训练数据训练,迭代了40000次。
DCPDN源码下载
建议安装Anaconda3创建Python环境,便于管理,运行程序时,如果缺什么包直接使用anaconda集成安装到环境里即可。
DCPDN的预训练模型可直接用于测试,测试数据、模型、训练数据数都很多,数据均为或者均要转化为h5文件来训练和测试,需要翻墙下载。需要仔细阅读README.md文件。
预训练模型、训练数据、测试数据等已经上传到百度网盘中,提取码为:pv5f,供大家参考,根据自己需要去下载,训练数据也不用全部下载使用。
2、项目文件结构(部分重点介绍)
项目下载解压后目录如下:
项目添加数据后的根目录如下:
checkpoints_new:利用合成图片生成无雾图片和训练生成的新模型的文件夹。
cvprw_test_resize_crop:存储自己的实际有雾图片。
demo_model:存储预训练模型,作者提供了netG_epoch_8.pth,需要自行下载,百度云里已经有了。
facades:最重要,也是最大的文件夹,内容如下图。其中,nat_new4文件夹存储用于测试的实际图片h5数据,test_cvpr文件夹存储你的实际有雾图片转换的h5文件,用于去雾。train512为用于训练的h5文件,共有4000个,根据你自己系统能力,从头按顺序连续选取部分数据,作者使用0-1000来训练网络,会迭代400*1000=400000次。val512存储400个用于对抗鉴别器训练的h5文件。
result_cvpr18:存储去雾结果的文件夹。
create_train.py:所有合成的,用于训练和测试的数据样本,都在HDF5文件中进行了扫描。您还可以使用“create_train.py”生成样本数据。
dehaze22.py:去雾网络模型框架。
demo.py:运行作者提供的预训练模型,anaconda进入创建的环境,cd进入项目根目录“cd 你的路径/DCPDN”,然后运行带参数的命令:(运行前确保对应目录下的文件下载齐全)
python demo.py --dataroot ./facades/nat_new4 --valDataroot ./facades/nat_new4 --netG ./demo_model/netG_epoch_8.pth
generate_testsample.py:用于将你自己的有雾图片生成h5文件,用于去雾。若要修改图片读取和存储方式,请修改代码中的
73行“train_list_per=glob.glob('./cvprw_test_resize_crop/*jpg')”和90行”directory='./facades/test_cvpr/'“。由于网络需要,图片会被resize为512*512的大小,生成去雾图片后请自行resize回来,代码百度云已提供。
train.py:训练网络使用,使用以下命令:(实际是微调作者提供的预训练模型,并保存下来)
python train.py --dataroot ./facades/train512 --valDataroot ./facades/test512 --exp ./checkpoints_new --netG ./demo_model/netG_epoch_8.pth
使用自己的有雾图片去雾:
首先使用 generate_testsample.py将自己的图片生成为h5文件,然后使用以下命令去雾:
python demo.py --dataroot ./facades/test_cvpr --valDataroot ./facades/test_cvpr --netG ./checkpoints_new/netG_epoch_9.pth
./facades/test_cvpr为你的实际有雾图片生成的h5文件所在的根目录,./checkpoints_new/netG_epoch_9.pth为生成的模型的路径。训练中途会保存很多模型,选择你觉得效果好的模型使用即可。
3、源码适配
作者原始源码部分需要修改,如下:(如果下载百度云的则不需要,已修改过了)
generate_testsample.py:
去掉99行的注释,防止自己输入的图片不是规定尺寸;
第一个包numpy不需要as np;
create_train.py:
第119行reshap的参数A改为a;
引用numpy包不需要as np。
我的操作到此结束,写的可能不是很清楚,有问题请随时留言,如果哪里理解有误还望指出。
4、致谢
感谢作者的贡献,感谢大家的支持!
一步一步教你跑DCPDN深度学习去雾网络相关推荐
- 教你如何挑选深度学习GPU
教你如何挑选深度学习GPU 即将进入 2018 年,随着硬件的更新换代,越来越多的机器学习从业者又开始面临选择 GPU 的难题.正如我们所知,机器学习的成功与否很大程度上取决于硬件的承载能力.在今年 ...
- 人工神经网络理论、设计及应用_TensorFlow深度学习应用实践:教你如何掌握深度学习模型及应用...
前言 通过TensorFlow图像处理,全面掌握深度学习模型及应用. 全面深入讲解反馈神经网络和卷积神经网络理论体系. 结合深度学习实际案例的实现,掌握TensorFlow程序设计方法和技巧. 着重深 ...
- 教你使用百度深度学习框架PaddlePaddle完成波士顿房价预测(新手向)
首先,本文是一篇纯新手向文章,我自己也只能算是入门,有说错的地方欢迎大家批评讨论 目录 一.人工智能.机器学习.深度学习 二.PaddlePaddle(飞桨) 三.波士顿房价预测模型 数据处理 模型设 ...
- 步步为营!高手教你如何有效使用深度学习解决实际问题
来自法国 Capgemini Invent 公司的高级数据科学家 Ahmed BESBES 三个月前参加了一个其公司内部的比赛:使用机器学习方法帮助海洋科学家更好的识别鲸鱼,根据鲸尾页突的外观作为主要 ...
- AI 三大教父齐聚深度学习峰会,讨论尖端研究进展
来源:36氪 概要:近日,深度学习峰会正在加拿大蒙特利尔举行,有史以来第一次3位AI教父:Yoshua Bengio.Yann LeCun以及 Geoffrey Hinton聚在了一起出席RE•WOR ...
- 看不懂花书?博士教你如何深入深度学习,从编程基础到完整的项目实战
转眼2020年已过去三分之一,大家都知道今年就业形势不乐观,不过即便如此,现在依然是AI招聘的热门季.疫情过后,AI行业注定会迎来一波大爆发. 近几年,各大企业也开始越来越重视人工智能方向的发展,比如 ...
- 手把手教你搭建机器学习+深度学习AI模型
说起现在搞什么最挣钱,10 人里 11 个都要回答人工智能! 早在几年前,华为就开出百万年薪招聘 AI 专家,当是很多人认为噱头大于实际价值.但如果今天还有谁质疑人工智能的前景,那显然已经和时代脱轨了 ...
- 忽悠神经网络指南:教你如何把深度学习模型骗得七荤八素
知己知彼,无论你是想成为黑客(最好不要!)或防范未来黑客的入侵,都有必要来了解一下如何骗过由海量数据训练出来的深度学习模型. 只要有程序员还在编程,黑客们就会不遗余力地找寻利用这些程序的方法.恶意黑客 ...
- 手把手教你搭建pytorch深度学习网络
总有人在后台问我,如今 TensorFlow 和 PyTorch 两个深度学习框架,哪个更流行? 就这么说吧,今年面试的实习生,问到常用的深度学习框架时,他们清一色的选择了「PyTorch」. 这并不 ...
最新文章
- SimpleInjector 简单使用
- instancesRespondToSelector与respondsToSelector的区别
- UVA 494(Kindergarten Counting Game)
- defer func(参数){}
- 前端小知识点(8):作者为什么设计原型
- 【洛谷 - P3410】拍照(最大权闭合图,网络流最小割)
- python values count_使用Python Pandas从数据框中获取总values_count
- 给postmessage加上callback方法
- 力软敏捷开发平台源码7.0.6
- 美国大学网址大全(按州排序)
- 【Android,Kotlin】自定义弹框的简单写法Demo
- win10麦克风直接输出声音_win10系统音频前后同时有声音输出的技巧
- 鸿蒙太空是什么意思,我所居兮,青埂之峰:我所游兮,鸿蒙太空,谁与我逝兮,吾谁与从?渺渺茫茫兮归彼大荒!什么意思?求解...
- 解读BLM业务领先模型中的业务设计
- 达人评测 RTX3060和RX 6600M选哪个好
- jenkins使用时遇到“using GIT_ASKPASS to set credentials”
- 微信小程序进行地图导航,地图展示功能
- Ruff Chain 荣获”2018年度最具发展潜力项目“奖
- (Unity游戏开发)五天时间做出一款饥荒类的生存游戏Demo,项目在手,还怕面试官不给offer?
- 【位运算 异或】51nod区间xor
热门文章
- QTP简易框架(GN0.1)编写小结
- b站喜欢的崩坏3动画短片的保存方法
- HTML样式(style)
- 大数据入门选择python大数据么?现在程序员都是喜欢这个
- 你做的分析,业务早知道了,怎么办?【实操版】
- Python加CH9329模块实现云顶之弈自动刷局数
- ArcGIS安装时许可管理器无法启动 / 没有有效的许可管理器 解决办法
- 吹响产品“集结号”,百度云摄像头的深谋远虑
- 3Ds Max实例教程-制作女战士全过程
- appcan mysql_AppCan-BBS for Discuz!X2.02.5 v2.2 手机论坛客户端