深度学习环境搭建之CentOS 7+NVIDIA GPU+CUDA8.0+CUDNN6.0+TensorFlow

本文主要是介绍深度学习环境搭建之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.bak

2.开始编译安装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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757120

相关文章

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.