这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产。本人现在非常熟练linux(Ubuntu/centOS/openSUSE)、windows上该环境的搭建 :)
前面三篇博客代码实现均基于该环境(开发或者测试过):
[AI开发]Python+Tensorflow打造自己的计算机视觉API服务
[AI开发]基于深度学习的视频多目标跟踪实现
[AI开发]视频多目标跟踪高级版
运行环境
1) centOS 7.5 ,不要安装GUI桌面;
2) i7八核,GTX 1080 GPU,16G内存。
程序包
1) Python-3.6.5.tgz (Python安装包)
2) screen-4.6.0.tar.gz (screen安装包,忽略系统自带的)
3) tensorflow_gpu-1.9.0-cp36-cp36m-manylinux1_x86_64.whl (tensorflow安装包)
4) cuda_9.0.176_384.81_linux.run (cuda安装包)
5) cudnn-9.0-linux-x64-v7.1.tgz (cudnn解压包)
6) NVIDIA-Linux-x86_64-384.130.run (nvidia显卡驱动)
常用链接:
https://developer.nvidia.com/cuda-90-download-archive (cuda)
https://developer.nvidia.com/rdp/cudnn-archive (cudnn)
https://www.geforce.cn/drivers/results/132524 (显卡驱动)
安装步骤
**安装过程中,设备需要连外网,有一些组件需要在线安装**
>第一步 安装基础库
在命令行终端执行下面三个命令:
sudo yum install openssl-devel -y
sudo yum install bzip2-devel
sudo yum install zlib-devel -y
保证上面三个库安装成功,如果提示已经安装,则忽略。
>第二步 安装python3.6.5
在程序包目录中执行:tar -zvxf Python-3.6.5.tgz,解压Python安装文件;
cd Python-3.6.5进入解压目录;
执行mkdir /usr/python3.6 创建目录;
运行 ./configure --prefix=/usr/python3.6 --enable-shared ,等待;
执行 make 命令,等待;
执行 make install 命令,等待;
执行 ln -s /usr/python3.6/bin/python3 /usr/bin/python3 创建软连接(如果提示已存在,先删除);
执行 python3 --version,查看输出,如果输出python对应的版本号为 3.6.5,则安装成功。
注意:
如果碰到错误信息类似这样 :error while loading shared libraries: xxxxxxxx: cannot open shared object file: No such file or directory(xxxx为文件名)
那么,进入安装文件夹的lib目录下,找到XXXXXXXX,将其拷贝到/usr/local/lib
cp XXXXXX /usr/local/lib
vi /etc/ld.so.conf
在文件末尾新增加一行 /usr/local/lib
然后执行 ldconfig 命令。
再执行 python3 --version 检查输出的版本号是否为 3.6.5。
>第三步 配置pip3
执行ln -s /usr/python3.6/bin/pip3 /usr/bin/pip3 创建软连接(如果提示已存在,先删除);
执行 pip3 --version 查看pip3的版本号,如果正确输出版本号,则表示pip3安装成功;
cd ~,进入到用户根目录,执行mkdir .pip创建.pip目录,cd到该目录;
执行 vi pip.conf 创建文件;
在文件中输入:
[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple/
保存退出。
>第四步 安装tensorflow/keras等相关依赖组件
在程序包目录下
执行 pip3 install tensorflow_gpu-1.9.0-cp36-cp36m-manylinux1_x86_64.whl,安装tensorflow等相关依赖组件(一些组件需要联网);
执行 pip3 install keras ,安装keras等相关依赖组件(需要联网);
执行 pip3 install Pillow,安装Pillow(需要联网);
执行 pip3 install matplotlib,安装matplotlib(需要联网);
>第五步 安装cuda
在程序包目录下
===============================安装cuda前必读============================
注意:
1)安装开始,会显示一大段license,在显示license到1%的时候,按q结束,不然会一直让你读完;
2)除了在“是否安装graphics driver”的步骤选择No之外,其余都选Yes;
3)cuda以及sample的安装路径都保持默认不变(直接回车即可)。
=====================================================================
执行sh ./cuda_9.0.176_384.81_linux.run ,按照提示完成cuda的安装;
执行 vi ~/.bash_profile,打开文件;
在文件末尾增加:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
保存退出。
执行 source ~/.bash_profile,使文件生效;
执行 nvcc --version 查看cuda是否安装成功,如果正常输出信息,则表示安装成功。
>第六步 安装cudnn
在程序包目录下
执行 tar -zvxf cudnn-9.0-linux-x64-v7.1.tgz ,解压文件;
cd cuda 进入到解压目录;
执行
cp lib64/lib* /usr/local/cuda/lib64/
cp include/cudnn.h /usr/local/cuda/include/
拷贝文件;
执行
cd /usr/local/cuda/lib64/
chmod +r libcudnn.so.7.1.4
ln -sf libcudnn.so.7.1.4 libcudnn.so.7
ln -sf libcudnn.so.7 libcudnn.so
ldconfig
**cudnn是cuda在深度学习中的一个扩展,只需要拷贝.h和lib到cuda的安装目录即可**
>第七步 安装Nvidia显卡驱动
在程序包目录下
执行 sh ./NVIDIA-Linux-x86_64-384.130.run,等待安装结束;
执行 nvidia-smi 查看显卡信息,如果能正常显示GPU驱动和其他信息,表明显卡驱动安装成功。
>第八步 验证Python算法环境
在python脚本目录下
执行 python3 test.py,如果不报错,并且有模型数据显示出来,说明算法环境部署成功。