配置cuda9.0+cudnn7.0+tensorflow-gpu1.9.0+python2.7
非root权限下安装cuda9.0+cudnn7.0
1.根据自己的系统在官网下载cuda9.0
2.进入下载目录,并执行
sh cuda_xxxx_linux.run
注意:
- 在协议中选择同意EULA(accept)
- 不安装driver installation (no)
- 选择cuda安装目录,如/home/pll/cuda
- 不进行软链接
3.下载cudnn7.0
4.解压cudnn7.0
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
5、拷贝cudnn部分文件到cuda
cp cuda/include/cudnn.h cuda9/include/
cp cuda /lib64/libcudnn* cuda9/lib6
6、修改个人用户的环境变量
vim ~/.bashrc
“export PATH=/home/pll/cuda9/bin:$PATH”
“export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pll/cuda9/lib64/”
添加到环境变量中
然后保存
source ~/.bashrc
tensorflow-gpu1.9.0+python2.7
2.Anaconda安装:下载对应的Anaconda版本,然后sh Anaconda3-2019.03-Linux-x86_64.sh直接安装
3 python2.7安装
conda create --name py27 python=2.7
4 tensorflow1.9.0安装
conda activate py27 #激活python2.7的虚拟环境
pip install tensorflow_gpu-1.9.0-cp36-cp36m-manylinux1_x86_64.whl#离线安装快
#安装后
python
import tensorflow as tf
#如果不报错就证明安装成功
MultiNet环境配置
1.下载MultiNet开源代码
git clone https://github.com/MarvinTeichmann/MultiNet.git
2.配置相关环境
pip install numpy scipy pillow matplotlib runcython commentjson
3.初始化所有submodules
git submodule update --init --recursive
4.build cython code
cd submodules/KittiBox/submodules/utils/ && make
5. Download Kitti Road Data
1.Retrieve kitti data url here: http://www.cvlibs.net/download.php?file=data_road.zip
2.Call python download_data.py --kitti_url URL_YOU_RETRIEVED
这里不建议在线下载权重文件和相关数据集,在线下载的速度是慢的要死,而且也不一定能够下载成功,kitti的道路分割数据集和车辆检测数据集可以直接百度kitti官网去下载,权重文件vgg16.npy下载的百度云盘链接为:
链接:https://pan.baidu.com/s/1Wo3s6AysHx_DqQzVdCmLwg
提取码:mvzz
下载完成后,在MultiNet下建立一个DATA文件,把相关数据放进去,在DATA/下建立weights把vgg16.npy放至该路径下
6.build the Kitti evaluation code
cd submodules/KittiBox/submodules/KittiObjective2/ && make
7 训练前设置Kittiseg.json
将resize_image由false改为true
8.GPU设置
export TV_USE_GPUS=2,3#其中2,3是gpu的序号,根据自己的服务器的GPU序号设置
9.最后训练
python train.py --hypes hypes/multinet2.json
错误提示1:训练前一定在kittiseg.json中设置 resize_image": true,不然测试的时候会报如下错误,我迭代训练了7万次,后来 网上看到有人训练踩了坑,就去测试了一下,真的是有这种情况出现,真的是虐啊,不开心。在博客中尽量列出完善MultiNet训练步骤,帮助大家少踩坑。
错误提示2:没有设置GPU会报错,显示内存不够,当时服务器 上有4块gpu,同事当时有在调用第一块,我没有指定gpu,结果总是报错第一块gpu内存资源耗尽,就是 如下错误,去githup上查找相关报错,结果不是说电脑配置不行就是说要调整图像大小或者batch_size,算法中batch_size=1,已经不能在降低了,调整图像大小,对应的标签也需要调整,感觉很麻烦,弄了大半天没有弄好,就去请教同事,需要在运行代码前指定使用的gpu,然后在进行训练,就很正常的在训练了,突然发现自己智商瞬间为0啊,很不开心啊。