本文主要是介绍深度学习环境搭建之CentOS 7+NVIDIA GPU+CUDA8.0+CUDNN6.0+TensorFlow,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在ultralab GX480i测试了一下CentOS7 Deep Learning TensorFlow,其中也是踩坑无数,今整理安装过程发出来,希望大家安装的时候可以参考一下,不用浪费太多的时间在安装配置上,而是把有限的时间用到代码上一,安装显卡驱动
网上搜索的驱动安装大都是手动编译安装,既:安装编译环境--到官网下载驱动文件*.run--blacklist nouveau,#blacklist nvidiafb--init 3--./NVIDIA xxx.run……然而,过程麻烦且不说,安装完成后总是出现各种意料之外的问题。所以我放弃了这种安装方法,选择从ELRepo源安装显卡驱动(以下操作均以root权限运行)。
1. 添加ELRepo源
首先导入公共密钥:rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
然后安装ELRepo
CentOS-7:rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
CentOS-6:rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
CentOS-5:rpm -Uvh http://www.elrepo.org/elrepo-release-5-5.el5.elrepo.noarch.rpm
ELRepo-release会不断更新,具体操作时请到ELRepo主页http://elrepo.org/tiki/tiki-index.php查看。
2. 查找合适的驱动
安装显卡检查程序:yum install nvidia-detect
运行:nvidia-detect,在我电脑上的输出:kmod-nvidia
即适合我用的显卡驱动为kmod-nvidia
3. 安装显卡驱动
可以先看看软件源中的驱动程序:yum search kmod-nvidia
结果为:
kmod-nvidia.x86_64 : nvidia kernel module(s)
kmod-nvidia-304xx.x86_64 : nvidia-304xx kernel module(s)
kmod-nvidia-340xx.x86_64 : nvidia-340xx kernel module(s)
安装:yum -y install kmod-nvidia
ELRepo源的nvidia-detect命令,可以自动帮我们寻找合适的驱动,用yum完成安装重启之后并没有那些意料之外的各种问题!此处省时无数!
二,安装CUDA
NVIDIA官网选择与系统版本匹配的CUDA版本下载,建议不要用太新的CUDA版本,新版本很有可能和TensorFlow版本不匹配,这里也是踩坑无数次深度学习环境搭建之CentOS <wbr>7+NVIDIA <wbr>GPU+CUDA8.0+CUDNN6.0+TensorFlow,最后还是选择用的最多的CUDA8.0可以创建一个app的目录,把下载的cuda_8.0.61_375.26_linux.run文件和后面的cudnn-8.0-linux-x64-v6.0.tgz放到app里面
cd /app
./cuda_8.0.61_375.26_linux.run
安装执行以下过程
accept
-------------------------------------------------------------
Do you accept the previously read EULA?accept/decline/quit: accept
# no
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?(y)es/(n)o/(q)uit: n
-------------------------------------------------------------
后面的就都选yes或者default ,看到以下输出信息说明安装成功
The driver installation has failed due to an unknown error. Please consult the driver
installation log located at /var/log/nvidia-installer.log.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /root, but missing recommended libraries
......
完成后就配置cuda环境变量,编辑~/.bashrc文件
vim ~/.bashrc
按a插入模式,添加如下内容
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-8.0/
esc退出插入模式,:wq保存退出
确认/etc/profile中的路径包含了cuda8.0的安装路径及相应的库文件
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
:wq
使配置文件生效,执行:source /etc/profile
若后面运行仍提示相同的错误,则执行以下命令,将相应的库文件复制到/usr/lib
cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig
cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig
cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig
ps. ldconfig命令是一个动态链接库管理命令,是为了让动态链接库为系统共享。
三,安装cuDNN
依然NVIDIA官网上下载cuDNN包(注意版本匹配的问题),也放入上面那个app里,执行以下操作:
cd /app
tar -xvzf cudnn-8.0-linux-x64-v6.0.tgz
cp include/* /usr/local/cuda/include
cp lib64/* /usr/local/cuda/lib64
四,Centos7安装python3/python2共存
1.查看是否已经安装Python
CentOS 7默认安装了python2.7,因为一些命令要用它比如yum它使用的是python2.7。
python -V //查看一下是否安装Python
which python //查看一下Python可执行文件的位置
默认执行文件在/usr/bin/ 目录下,cd到该目录下执行:python* //查看python指向的是python2.7
现在要安装python3版本,所以python要指向python3,目前还没有安装python3,先安装相关包,用于下载编译python3
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
不能忽略相关包,然后备份:mv python python.bak2.开始编译安装python3
官网下载编译安装包或者直接执行以下命令下载
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar -xvJf Python-3.6.2.tar.xz //解压
cd Python-3.6.2 //切换进入
./configure prefix=/usr/local/python3 //编译安装
make && make install
安装完毕,/usr/local/目录下就会有python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python //添加软链到执行目录下/usr/bin
python -V //查看输出的是python3
python2 -V //查看输出的是python2
因为执行yum需要python2版本,所以我们还要修改yum的配置,执行:
vi /usr/bin/yum
按a插入,把#! /usr/bin/python修改为#! /usr/bin/python2
esc退出插入,:wq保存退出
同样
vi /usr/libexec/urlgrabber-ext-down
按a插入,把#! /usr/bin/python修改为#! /usr/bin/python2
esc退出插入,:wq保存退出
这样python3版本就安装完成,同时也有python2
python -V 版本3
python2 -V 版本2
五,安装TensorFlow
有python2x和python3x,安装方式一样,python2x用pip,python3x用pip3即可。我是为了测试两种版本都安装了TensorFlow,如此任性也没有谁了吧深度学习环境搭建之CentOS <wbr>7+NVIDIA <wbr>GPU+CUDA8.0+CUDNN6.0+TensorFlow
首先,pip工具安装
1、首先检查有没有安装python-pip包,直接执行:yum install python-pip
2、没有python-pip包就执行命令:yum -y install epel-release
3、执行成功之后,再次执行:yum install python-pip
4、对安装好的pip进行升级:pip install --upgrade pip
TensorFlow可以安装CPU和GPU两种版本
CPU版本安装命令如下:
python 2.7版本:pip install tensorflow
python 3.x版本:pip3 install tensorflo
GPU版本安装命令如下:
python 2.7版本:pip install tensorflow-gpu==1.4
python 3.x版本:pip3 install tensorflow-gpu==1.3 //CentOS7用的python3.6.2,开始用1.4版本,报错,按照网上各种设置后依然不理想,后来看到一大咖说换1.3就完美啦!果然高手在民间!
若上述命令执行过程没有报错,则安装成功
附源码安装 pip
$ wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz # 下载源代码
$ tar -zvxf 9.0.1 -C pip-9.0.1 # 解压文件
$ cd pip-9.0.1
$ python3 setup.py install # 使用 Python 3 安装
$ sudo ln -s /usr/local/python3/bin/pip /usr/bin/pip3 #创建链接
$ pip install --upgrade pip # 升级 pip
六,测试TensorFlow
终于到了测试这一步了,有没有很期待?!
先试:python2 //本次Python2=python2.7
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello)) //print注意语法()
Hello, TensorFlow!
再试:python //本次python=python3.6
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello)) //print注意语法()
b"Hello, TensorFlow! "
到此全部结束,enjoy TensorFlow!
专注高性能图形工作站
详询QQ/微信:596349281
这篇关于深度学习环境搭建之CentOS 7+NVIDIA GPU+CUDA8.0+CUDNN6.0+TensorFlow的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!