windows7 + python3.6 + TensorFlow实现FCN

    随记:新的工作开始研究基于深度学习的图像分割了,在入职之前自己先看了一下图像分割方面的论文和视频,在自己动手训练样本的时候,由于刚开始接触python 和TensorFlow,以至于出现了很多小问题,如今相关的工程总算是跑起来了,为了给自己留下笔记,供以后参考,现整理一下,也欢迎大家翻阅,提出宝贵意见。

    正题开始

    该文章旨在介绍windows7 如何利用tesnforflow来实现全卷积神经网络FCN的训练和测试。

    准备工作

    安装工具:python3.6cudacudnnTensorFlow1.7git、matplotlib、numpy+mkl、 pillow、scipy、

    由于本人电脑安装的是python3.6、 TensorFlow1.7 所以在此直接当做运行样本来使用,其它的工具,去链接出下载最新版本的安装就可以(前提是版本要适配系统哈)。关于安装这一块,本人即将整理一个完整的博文来介绍自己的安装过程,也会提供自己安装工具的网盘地址,以便有些网站打不开的的童鞋下载使用。好了,言归正传,开始

    下载源码:https://github.com/shekkizh/FCN.tensorflow.git

https://github.com/shekkizh/FCN.tensorflow.git
https://github.com/shekkizh/FCN.tensorflow.git

     首先非常感谢创作该源码的Sarath Shekkizhar,无私的共享自己的劳动成果供大家一起学习研究,也希望深度学习的小伙伴们在自己的工作和学习当中,积极贡献自己的小力量,为人工智能事业添砖加瓦,扯远了哈,立马回来。

    上面的源码地址,是作者github上的源码地址,里面没有包含训练所需要的数据,我自己即将整理后的完整项目文件在网盘里面有备份,不嫌文件大的小伙伴可以去网盘地址下载(下载后,在以上工具安装都正确的情况下,可以直接运行)

    操作说明:

    操作起来很简单,训练的时候,只需要运行python FCN.py 就可以了,当然在数据预处理阶段,你的机器不行的话,可能会慢到让你怀疑出错了,不要担心,只要python不闪退或者不出现红色的error提示,你就耐心的等着就行。    

原作者是在12GB TitanX进行的training  用时大概是6-7个小时,我的机器是GTX770(很老的一款了,显存4G,跑起来有点吃力了,迭代4000次 大概花了半小时的时间,作者是100001次迭代,现在我的机器还在吃力的训练着,我才有时间来整理文档)

    问题集锦

    1、运行源码地址现在的项目,会有两个文件要下载:



    以上两个文件夹Model_zoo和Data_zoo源码项目里是没有的,需要在线下载,有可能会很慢哈,所以在网盘地址里面打包的源码,直接都封装到一起了,方便使用。

    2、这个问题搞了我一下午,就是执行到sess.run()时,python直接报错,闪退


    这个时候,观察CPU和GPU,发现GPU内存已经被爆掉了,一开始以为是显存太小了,就加了抑制显存的方式,发现还是不行,会显存溢出,在网上也只找到了同样问题的提问,但是没有找到答案,在脚本调试的时候,发现问题出现在cuda上,准确的说是cudnn上,不过,这个问题出现的概率因人而异,还是把解决方案放出来吧,我电脑一开始安装的cuda9.0 + cudnn7.1,cuda目前已经出了9.1了,但是TendowFlow最新的版本(截止发稿)不支持9.1  我就安装了9.0发现可以,cudnn当时也是安装的最新的版本,但是问题2报错的日志显示,代码运行需要的cudnn环境是7.0,于是我就又去下载了cudnn7.0,覆盖7.1,哦了可以正常训练了

3、在TensorFlow里面,经常会涉及到网址和文件目录的拼写,两者的分隔符是完全不一样的,比如网址的分隔符为'/',本地文件目录的分隔符为'\',注意不要混淆,否则会出现链接错误和找不到文件的错误,

4、OOM when allocating tensor with shape[4096,512,7,7] and type float o/job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc……

出现上述问题是因为显存不够, batch_size太大,内存不够造成的,可以先排查一下有没有其他程序在占用显存,然后考虑降低batch_size 的值

总结:

从安装TensorFlow开始到成功训练FCN模型,期间还出现了一些其它的小问题,但是当时时间比较紧凑,就没有来的及记录问题,要是哪位朋友在运行的时候遇到了新的问题,欢迎留言交流讨论,总之深度学习自己也是刚入门的小白,希望在接下来的几年里,自己能够在深度学习的某一个领域学习、成长并深耕下去。

评论 52
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值