星期四, 16. 五月 2019 12:29下午
conda+tensorflow安装教程
- 本篇博客的安装教程主要是将笔者在安装时用到的经验与大家分享,力求做到详细。
- 至于为什么推荐用conda安装tensorflow,其重要性笔者觉得不需要描述了,大家可以看看其他博客就一目了然了。注意一点,conda直接安装(创建)的是环境,而不是tensorflow,笔者做的只是在conda创建的环境中安装tensorflow。
- 笔者电脑系统是Ubuntu,笔者也建议大家用Ubuntu学习;所需要的软件分别是:anaconda3、cuda、cudnn、pycharm还有自己电脑的显卡驱动。安装最重要的是软件之间的兼容性,笔者用的是Anaconda3-5.2.0(.sh),cuda9.0(.run),cudnn7.0(.tgz),nvidia-384。
- 具体文件名称为:Anaconda3-5.2.0-Linux-x86_64.sh、cuda_9.0.176_384.81_linux.run、cudnn-9.0-linux-x64-v7.4.2.24.tgz。
- 笔者安装的tensorflow-gpu版本为1.10.0。
有几点需要特别注意:
- 安装驱动之前需要先确定自己电脑的BIOS中的Security Boot是否设置为DISABLE,否则驱动安装不了;
- 在下载cuda时,cuda文件名称最后面的结尾为驱动型号,最好安装此驱动型号的驱动,比如笔者的cuda文件完整名称为cuda_9.0.176_384.81_linux.run 因此安装驱动时需要安装384的;
- 安装之前先确定自己电脑以前安装的都卸载干净,包括cuda、cudnn、pip安装的tensorflow等等。
一、卸载软件
卸载软件仅在安装不正确的情况下才卸载。
1、卸载显卡驱动
sudo apt-get purge nvidia*
2、卸载cuda
cd /usr/local/
sudo rm -r cuda
sudo rm -r cuda-x.0
x为具体数字
3、卸载cudnn
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn
4、卸载pip安装的tensorflow等package
pip uninstall package
5、卸载anaconda
sudo rm -rf [file_direction] /anaconda3
二、安装软件
1、安装显卡驱动
确定BIOS中的Security Boot已经设置为DISABLE.驱动型号一定要对,笔者这里用的是384。
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
sudo apt-cache search nvidia
sudo apt-get install nvidia-384
完成安装后,重启一下PC
shutdown -r now
重启之后,在终端输入:
nvidia-smi
如果出现如下显示,则表明安装成功
Screenshot from 2019-05-16 12-36-23.png2、安装cuda
sudo bash ~/Downloads/cuda_9.0.176_384.81_linux.run
注意当开始输入accept接受协议后,第二项一定要选no,因为已经安装好了驱动,不能选yes, 至于后面的选项有yes的选择yes,没有yes的回车就行。
3、配置.bashrc文件
vim ~/.bashrc
- export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:/usr/local/cuda-9.0/extras/CPUTI/lib64:$LD_LIBRARY_PATH
- export CUDA_HOME=/usr/local/cuda-9.0
- export PATH=/usr/local/cuda-9.0/bin:$PATH
配置文件时按i进行编辑,如果以前有cuda的配置文件,建议更改不一样的地方,配置完成后按esc退出编辑模式,按大写的Z两次退出
source ~/.bashrc
需要检查安装是否成功
cd /usr/local/cuda/extras/demo_suite
./deviceQuery
如果出现如下显示,则表明安装成功
Screenshot from 2019-05-16 12-41-47.png4、安装cudnn
解压cudnn的文件,建议下载(.tgz的文件),解压后会得到一个cuda的文件夹
cd [file_direct]/cuda
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64
sudo chmod +r libcudnn.so.7.4.2
sudo ln -sf libcudnn.so.7.4.2 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
需要检查安装是否成功
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果出现如下显示,则表明安装成功
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 4
#define CUDNN_PATCHLEVEL 2
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
4、安装anaconda
bash Anaconda3-5.2.0-Linux-x86_64.sh
安装完成后重启一下终端,输入
conda --version
是否会显示版本显示,显示表明安装成功
三、使用conda建立环境
假如笔者想通过conda建立一个Python3.6的环境,环境名称为tensorflow-gpu-py36,只需要在终端输入如下命令即可
conda create -n tensorflow-gpu-py36 python=3.6
如果显示网络连接错误等信息,其原因是因为国内cuda的源不能用了,此时需要通过vpn连接外网,笔者建议可以用蓝灯,只需要去蓝灯官网下载相应版本即可,很方便。还有一点需要注意,当你使用国外源的时候,一定要删除国内的源,笔者这里采用了一种简单粗暴的方式
sudo rm -r ~/.condarc
通过删除配置文件.condarc后再调用前一句命令即可创建环境。
下面进行在已创建的环境名为tensorflow-gpu-py36下安装tensorflow-gpu指定版本,注意tensorflow-gpu的版本与cuda和cudnn是有关系,笔者安装的是tensorflow-gpu 10.0的版本,直接用pip安装即可。
在此,笔者建议在用pip安装时用国内镜像,只需添加一个文件即可
sudo mkdir .pip
在Desktop上用txt写一个文件,具体内容为:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
保存为pip.conf,然后调用如下命令
sudo mv ~/Desktop/pip.conf ~/.pip/
cd
source activate tensorflow-gpu-py36
pip install tensorflow-gpu==1.10.0
只需等待安装结束即可,此时可以继续输入如下命令进入Python界面检测是否安装成功
python
>>> import tensorflow as tf
>>> a = tf.constant([1, 2, 3])
>>> b = tf.constant([2, 3, 4])
>>> c = a+b
>>> sess = tf.Session()
此时会出现设备信息,如果安装的是gpu,就会有显示gpu/gpu_device信息。
至此安装结束,如果不想用刚安装的环境,直接运行
source deactivate
下一次调用直接运行
source activate tensorflow-gpu-py36
四、安装pycharm
pycharm的选择不是必须的,笔者用的是pycharm,pycharm的安装很容易,笔者这里不过多说明,有一点要注意,pycharm在用conda搭建的环境时需要在终端先激活环境然后在终端紧接着打开pycharm才行,而且pycharm在直接加载环境时,有以下两个步骤特别注意:
1、需要在Virtualenv Environment选项中的Existing environment中加载conda创建的环境,环境的地址可以通过以下命令获得
conda-env list
2、当选择环境之后,记得先点击下图中右侧绿色圆圈,看看左侧列出的表中有没有刚刚安装的tensorflow-gpu,一定要确保里面有刚刚安装的tensorflow-gpu。
网友评论