首页 > 技术文章 > tensorflow环境配置

jimlee123 2020-12-26 20:40 原文

1.安装anaconda

  本文下载的是Anaconda3-5.2.0-Linux-x86_64.sh(https://repo.anaconda.com/archive/

cd Downloads/
bash Anaconda3-5.2.0-Linux-x86_64.sh

  安装过程中,阅读注册信息,yes;查看文件即将安装的位置enter;安装完成后,加入环境变量yes;安装vscode选择no;重启中断即可使用Anoconda3;如果输入python,仍会显示ubuntu自带的python版本,可以手动添加到环境变量:

sudo gedit ~/.bashrc
export PATH="/home/jimlee/anaconda3/bin:$PATH"

  此时终端默认启动的python为anaconda中的python3.6.5:

 

  Anaconda3安装成功!

2.准备工作

下面要明确我需要装什么版本的tensorflow?为tensorflow-gpu-2.1.0

那么其对应的cuda版本是什么?对应的是python2.7 3.5-3.7,cuda10.1,cuDNN7.6,查询地址为:https://tensorflow.google.cn/install/source#linux

 

 这里还要看看我们的显卡驱动是否支持这个版本的cuda,查询地址:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

  检查本机显卡驱动,为440.95,可以支持cuda10.1

nvidia-smi

 

 查看显卡驱动:

 cat /proc/driver/nvidia/version

 

3.安装cuda10.1

sudo chmod 777 cuda_10.1.243_418.87.00_linux.run
sudo ./cuda_10.1.243_418.87.00_linux.run

  询问已经存在package时,选择continue,然后在cuda installer窗口中取消勾选driver和samples,因为本机已经装好了显卡驱动

  添加到环境变量:

sudo gedit ~/.bashrc
 export PATH=/usr/local/cuda-10.1/bin:$PATH
 export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
source ~/.bashrc

  测试:

cat /proc/driver/nvidia/version #查看nvidia版本
cat  /usr/local/cuda/version.txt # 查看cuda版本

   cuda安装成功!

4.安装cudnn

  使用deb方式安装,需要下载这三个文件,但是我在测试是否成功时,找不到cudnn.h文件,所以有使用.tgz方式又装了一遍

sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.1_amd64.deb
tar -zxvf cudnn-10.1-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

  测试:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

  结果:

   cudnn安装成功!

5.安装tensorflow

conda install tensorflow-gpu==2.10

  但是安装过程中遇到一个问题,solving environment一直在转,原因是有关依赖包版本不匹配,使用以下命令解决:

conda update --all

  这个命令将我的python3.6.5升级到3.6.9,还有一个包的升级,然后就可以装tensorflow了。

6.测试

import tensorflow.compat.v1 as tf
sess = tf.Session()

  会出现调用很多动态库的过程,正常现象,没报错就行,这边使用tensorflow.compat.v1,为与tf1兼容的方式。

python
import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)

source activate tensorflow        //激活
source deactivate               //取消激活

  成功!

8.安装pytorch

conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch

 

遇到的问题记录:

1.使用下面这个命令升级conda后,将base环境中的python都升级了,还有一些别的包都升级,导致conda内部环境冲突

conda update -n base conda        #update最新版本的conda

  使用下面的命令还原到原来的版本,我的原来的版本号为version 0

conda list --versions
conda install --version 0

 

推荐阅读