欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu16.04 通过anaconda建立虚拟环境,安装tensorflow1.10,cuda9.0,cudnn7.1.2

程序员文章站 2022-05-27 13:26:34
...

1.anaconda建立虚拟环境及conda操作

//env_name代表你想要建立的环境名字,-n表示名字
conda create -n ${env_name} python=3.5

//**环境
source activate ${env_name}

//退出环境
source deactivate

//删除环境
conda remove -n ${env_name} --all

//查看conda环境
conda info --env

//查看conda的安装包
conda list

2.安装tensorflow,cuda,cudnn

  本身tensorflow的安装很简单,只需要pip或者conda就好,但是必须找到tensorflow,cuda,cudnn的对应关系。

Version                              Python version   Compiler     Build tools     cuDNN     CUDA
tensorflow_gpu-1.11.0     2.7, 3.3-3.6         GCC 4.8     Bazel 0.15.0     7                 9
tensorflow_gpu-1.10.0     2.7, 3.3-3.6         GCC 4.8     Bazel 0.15.0     7                 9
tensorflow_gpu-1.9.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.11.0     7                 9
tensorflow_gpu-1.8.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.10.0     7                 9
tensorflow_gpu-1.7.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.9.0       7                  9
tensorflow_gpu-1.6.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.9.0       7                  9
tensorflow_gpu-1.5.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.8.0       7                  9
tensorflow_gpu-1.4.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.5.4       6                  8
tensorflow_gpu-1.3.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.5       6                  8
tensorflow_gpu-1.2.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.5       5.1               8
tensorflow_gpu-1.1.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.2       5.1               8
tensorflow_gpu-1.0.0       2.7, 3.3-3.6         GCC 4.8     Bazel 0.4.2       5.1               8

  注意,例如cuda9.0,cudnn尽量选择7.0*或者7.1,不然或许会有问题

(1)tensorflow的安装:

//注意必须到当前虚拟环境
pip install tensorflow-gpu==1.10
conda install tensorflow-gpu=1.10

(2)cuda与cudnn的安装(使用conda)

  使用conda安装cuda和cudnn可以保证不影响系统默认环境的cuda和cudnn

  因为conda的默认源速度慢且没有cuda版本,因此需要添加国内清华或者中科大的源

//终端加入
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

//或者直接打开文件加入
sudo gedit ~/.condarc

 

//安装cuda
conda install cudatoolkit=9.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/

//安装cudnn
conda install cudnn=7.1.2

(3)cuda安装的另一方式

  如果不想通过conda安装,可以通过源文件进行安装,安装方式见https://mp.csdn.net/postedit/81183063

  找到对应的cuda和cudnn版本,下载后进行安装,因为系统中可能存在不同版本的cuda,所以需要对cuda软连接进行处理,使其指向不同的cuda

  打开环境变量:

gedit ~/.bashrc

  找到关于cuda的几行

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

  因为其指向的是cuda8.0,我们先把库文件位置变成cuda可执行文件所在位置而与具体的版本无关,将上面一段修改为:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

  cuda版本切换

//删除原来的软连接
sudo rm -rf /usr/local/cuda

//建立新的软连接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda

查看软连接

cudnn版本切换:

  主要需要将cudnn文件放入你选择的cuda版本中

 

sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-9.0/lib64/libcudnn*

3.错误总结
(1)could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

  解决方法:sudo rm -rf ~/.nv/

  (2)tensorflow版本与cuda,cudnn版本的问题会出现很多问题,需要修改版本