深度学习环境搭建之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

相关文章

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06