segnet---训练

1.SegNet 简介
SegNet是Cambridge提出旨在解决自动驾驶或者智能机器人的图像语义分割深度网络,开放源码,基于caffe框架。SegNet基于FCN,修改VGG-16网络得到的语义分割网络,有两种SegNet,分别为正常版与贝叶斯版,同时SegNet作者根据网络的深度提供了一个basic版(浅网络)。(具体介绍请看: http://blog.csdn.net/fate_fjh/article/details/53467948)
2.环境的准备与安装
(1)下载两个框架 https://github.com/alexgkendall/SegNet-Tutorial 和 https://github.com/alexgkendall/caffe-segnet (我把两个框架名称分别改成SegNet和caffe-segnet)SegNet放在caffe下,再把caffe-segnet放在SegNet下
(2)环境的准备,自己要配置好本机caffe的环境(我的环境ubuntu14.0、cuda8.0、opencv3.0等)

安装一些依赖项,可能有的配置本机caffe时已经装过了

sudo apt-get install python-matplotlib
sudo apt-get install python-scipy
sudo apt-get install python-opencv
sudo apt-get install python-protobuf
wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate
sudo python get-pip.py
sudo pip install -U scikit-image


(3)因为SegNet是自带caffe的,所以要编译自带的caffe(与配置本机caffe类似)
1.进入caffe-segnet下(复制Makefile.config)
cp Makefile.config.example Makefile.config
修改Makefile.config,注意将WITH_PYTHON_LAYER := 1前的注释去掉。
确保Makefile有这个opencv_imgcodecs(在opencv_imgproc 后边)
3.然后编译caffe

sudo make all
sudo make pycaffe
sudo make test

编译时加上 -j8 快好多 (8是几核cpu)
编译有错误时,自行百度错误原因,直到没有错误!(第一次opencv有问题,吭了好久啊~~~)
3.开始训练
参考官网:http://mi.eng.cam.ac.uk/projects/segnet/tutorial.html (建议读完)
1.需要根据自己的路径改写CamVid/train.txt 和 CamVid/test.txt 训练图片的路径和测试图片的路径
这是我的路径××× /home/deeplearning1/caffe/SegNet/CamVid/train/0001TP_006690.png /home/deeplearning1/caffe/SegNet/CamVid/trainannot/0001TP_006690.png ××× 第一次的时候也是这样写的然而一直报 a total of 0 example 和 某个图片找不到的错误 (很无奈各种改路径,不过好像是opencv的问题)
2.修改 segnet_train.prototxt 、segnet_inference.prototxt 、segnet_solve.prototxt 文件中有提示需要改的地方(batch_size: 5 根据自己电脑配置改 本机tianx12G显存)
3.运行代码开始训练(官网有三套代码,根据自己的路径稍作修改即可)
我先跑的第三个,正在跑。。。(执行代码最好加上sudo,我一开始没加,保存模型会有问题)


终于跑起来了,开心啊~~~

你可能感兴趣的:(Deeplearning)