深度学习GPU开发环境配置

首先环境列表如下:

CentOS release 6.3

Tesla P4

anaconda2

gcc4.8

glibc-2.14

tensorflow1.9

pytorch1.0

 

第一步:安装NVIDIA驱动,使lspci | grep -i nvidia能够显示出来,nvidia-smi查看GPU使用情况

参考https://blog.csdn.net/oTengYue/article/details/79506758

第二步:配置gcc4.8,https://blog.csdn.net/aojue1109/article/details/81948519

第三步:安装anaconda,https://www.anaconda.com/download/#linux,根据自己需要可以安装python2.7和python3*

第四步:安装软件:

1.安装tensorflow,参考http://www.cnblogs.com/zzb-Dream-90Time/p/9688330.html

我选择的是tensorflow1.9,执行conda install tensorflow-gpu==1.9,过程中会自动安装cuda9.0和cudnn7.1.2

2.安装pytorch,https://pytorch.org/get-started/locally/,选择合适的命令进行安装

 

我的安装过程踩过的坑
第二步.登录申请好联网的服务器,配置环境
1.配置GCC4.8环境:

/usr/bin/gcc --version
/usr/bin/g++ --version
/usr/bin/c++ --version


查看版本号,如果不是4.8版本,则需要做替换。

mv /usr/bin/gcc /usr/bin/gcc-4.*.bak
mv /usr/bin/g++ /usr/bin/g++-4.*.bak
mv /usr/bin/c++ /usr/bin/c++-4.*.bak
ln -s /home/work/.jumbo/opt/gcc48/bin/gcc /usr/bin/gcc
ln -s /home/work/.jumbo/opt/gcc48/bin/c++ /usr/bin/c++
ln -s /home/work/.jumbo/opt/gcc48/bin/g++ /usr/bin/g++
gcc --version

第三步:从https://www.anaconda.com/download/#linux下载安装anaconda,安全起见选择Python 2.7 version。
wget https://repo.anaconda.com/archive/Anaconda2-5.3.1-Linux-x86_64.sh

sh Anaconda2-5.3.1-Linux-x86_64.sh

执行source ~/.bashrc让安装的Anaconda起作用

增加源(提升安装软件速度):https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes

 

第四步:安装软件
由于Anaconda集成了很多python的安装包,基本的都已经安装好了。没有的软件,可以使用下面的方式安装,尽量选择conda install的安装方式,pip 安装的软件,执行的时候可能会报错

conda install gensim

conda install jieba

cond

conda install tensoflow-gpu==1.9

conda install pytorch torchvision -c pytorch  (结合自己的环境执行不同的命令:https://pytorch.org/get-started/locally/)

a install opencv

anaconda2/bin/pip install xgboost

安装pytorch之后,运行的时候报错:'GLIBC_2.14' not found
解决方案:https://blog.csdn.net/clirus/article/details/62425498

1.查看自己的GLIBC的版本,strings /lib/libc.so.6 | grep GLIBC

如果没有,需要编译安装(root下),

(1)wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz

(2)tar -zxvf glibc-2.14.tar.xz

(3)cd glibc-2.14

(4)mkdir build

(5)cd build

(6)../configure --prefix=/opt/glibc-2.14 这一步可能报错:export LD_LIBRARY_PATH=    把LD_LIBRARY_PATH清空,重新执行

(7)make -j4 && make install

可能报错:

Can't open configuration file /opt/glibc-2.14/etc/ld.so.conf: No such file or directory

就是缺少了必要的编译文件ld.so.conf。通过find命令找到对应的文件位置

find / -name "ld.so.conf" (root下执行)

 

选择一个合适的拷贝到对应的目录中,然后继续编译

cp /etc/ld.so.conf /opt/glibc-2.14/etc/

直到编译成功

 

测试一下编译的gilbc是否有问题:

export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

如果系统没有问题:切换到root下,vim /etc/profile  添加:

export PATH=/home/work/anaconda2/bin:$PATH(不同的窗口配置起作用)

source /etc/profile

 

ll /usr/lib64/libstdc++.so.6

/usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13

https://www.jianshu.com/p/28a0c98027a8

 

防止运行pytorch的时候提示glibc-2.14 not find,通过strings /lib64/libc.so.6|grep GLIBC 发现确实没有libc-2.14,需要做软连接,

把 /lib64/libc.so.6备份为 /lib64/libc.so.6.bak 

ln -s  /opt/glibc-2.14/lib/libc.so.6   /lib64/libc.so.6

如果此时命令不能用了,也是误删除/lib64/libc.so.6,造成系统崩溃的恢复(千万不要推出root命令下),立马执行:LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6

或者:LD_PRELOAD=/lib64/libc-2.12.so ln -s /opt/glibc-2.14/lib/libc.so.6    /lib64/libc.so.6

查看系统是否恢复以及/lib64/libc.so.6是否满足要求

https://www.linuxidc.com/Linux/2017-02/140994.htm

https://blog.csdn.net/mymy_blog/article/details/69337232

 

不小心误删/opt/glibc-2.14/lib/libc.so.6文件后,系统这时候大部分命令是失效的,为了防止系统崩溃,可以做下面的事情恢复(千万不要关闭界面,如果重新打开就进不去了,切记):
1.export LD_LIBRARY_PATH=    

2.找到glibc-2.14/编译好的文件夹glibc-2.14/build,把libc.so.6 拷贝到/opt/glibc-2.14/lib/libc.so.6,执行strings opt/glibc-2.14/lib/libc.so.6 | grep GLIBC_ ,如果正常出现,则表示成功恢复

tensorflow-gpu和cuda的对应关系http://www.cnblogs.com/zzb-Dream-90Time/p/9688330.html

Failed to set locale, defaulting to C  

yum reinstall glibc-common

 

运行tensorflow和pytorch出现错误:

Segmentation fault (core dumped)

可能是LD_LIBRARY_PATH环境配置冲突,由于是anaconda2中安装了cuda和cudnn,和系统中cuda和cudnn不兼容

export LD_LIBRARY_PATH=

测试,如果不报错,说明LD_LIBRARY_PATH设置的有问题,需要重新设置

最后测试pytorch程序和tensorflow,运行成功

最后附上原文链接:https://blog.csdn.net/love_data_scientist/article/details/85230063 

你可能感兴趣的:(深度学习GPU开发环境配置)