ubuntu20.04+tensorflow-gpu1.14配置
- 目录
- 0. 版本注意事项说明
- 1. 个人目录下载后配置系统环境变量
- 2. anaconda配置所有环境(过程简便,但容易出现不兼容问题)
- 3. 验证tensorflow-gpu
- 4. 一些细节
目录
总结出两种方法
- 个人目录 下载cuda和cudnn
- anaconda虚拟环境 下载cudatoolkit和cudnn
(注:不必追求严格与测试版本一致)
0. 版本注意事项说明
- nvidia-smi/nvcc -V 查看当前支持的cuda最高版本(下图为11.6)
- tensorflow-gpu-1.14 与 cuda10.0、cudnn7.4 匹配
- 从源代码构建过程较繁琐,完整构建过程可参考https://www.cnblogs.com/zpcdbky/p/9757821.html#gcc
- 实际上不使用构建工具,其他条件基本满足也可以正常使用。
1. 个人目录下载后配置系统环境变量
-
gcc 降级
https://blog.csdn.net/m0_55019159/article/details/132558016ubuntu20.04自带gcc-9,而 cuda10.0 需要 gcc-4.8/gcc-7.3.1 (见tensorflow-gpu-1.14+)
先利用 sudo apt-get 安装所需要的gcc 版本,然后利用 sudo update-alternatives 方法降级,将gcc-7排在前面,给予更高的优先级。
-
从官网下载 cuda10.0
https://developer.nvidia.com/cuda-10.0-download-archive -
选择对应的参数
这里选择 ubuntu18.04 版本,确定好下载类型为 runfile(local) 后,会展示出下载按钮,选择第一项进行下载,得到cuda_10.0.130_410.48_linux.run文件。
基础下载说明里提到运行命令,接着按照官方说明进行安装。 -
安装指令
在个人目录下,以“/home/xxx”为例,运行指令
(sudo指令需要提前找root用户获取权限 )
sudo sh cuda_10.0.130_410.48_linux.run
- 回答问题
接着Enter直到进度 100%。之后会出现需要回答的问题:- accept (EULA)
- y (new configuration)
- n (don’t need new driver)
- y (install)
- 默认路径为/usr/local/cuda-10.0,可以直接Enter进行下一项,或者改为个人目录下的路径。此处按照后者,提前新建一个目录名为cuda-10.0,将路径修改为/home/xxx/cuda-10.0
- n (don’t need a symbolic link)
- 测试样本可选可不选,如果选择y,之后会有新的选项确认默认安装测试样本的路径为/home/xxx
- 等待安装完成
- 配置个人目录下系统环境变量
在/home/xxx目录下,打开./bashrc 并编辑,然后退出,使环境变量生效
vim ~/.bashrc # open ./bashrc file
export CUDA_HOME=/home/xxx/cuda-10.0 # add the following sequences and exit ./bashrc file
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
source ~/.bashrc # save and activate ./bashrc file
- 验证cuda10.0
通过nvcc -V命令,显示出当前使用的cuda版本10.0 - 下载并安装cudnn
需要登陆nvidia然后才可以下载,下载至个人目录下
https://developer.nvidia.com/rdp/cudnn-archive
文件名为 cudnn-10.0-linux-x64-v7.4.2.24.tgz
tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz # unzip
- 解压后得到cuda文件夹,进行复制
sudo cp cuda/include/cudnn* cuda-10.0/include
sudo cp cuda/lib64/libcudnn* cuda-10.0/lib64
- 赋予权限
sudo chmod a+r cuda-10.0/include/cudnn*
sudo chmod a+r cuda-10.0/lib64/libcudnn*
- 查看cudnn版本
cat cuda-10.0/include/cudnn.h | grep CUDNN_MAJOR -A 2
(参考
https://blog.csdn.net/JineD/article/details/131201121
https://blog.csdn.net/mofy_/article/details/122791758?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122791758-blog-132558016.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122791758-blog-132558016.235%5Ev43%5Econtrol&utm_relevant_index=2
https://blog.csdn.net/zjc910997316/article/details/102883644)
2. anaconda配置所有环境(过程简便,但容易出现不兼容问题)
- 首先下载anaconda,得到 anaconda_name.sh 文件
https://www.anaconda.com/download#downloads
运行 bash anaconda_name.sh 命令,按照提示完成初始化 - 创建新的虚拟环境
名称为 env_name ,附带的包有python3.6、numpy、pandas…
conda create -n env_name python=3.6 numpy pandas
- 新虚拟环境下,安装tensorflow-gpu-1.14
pip install tensorflow-gpu==1.14.0
- 新虚拟环境下,安装 cuda 和 cudnn
conda install cudatoolkit=10.0
conda install cudnn-7
(参考
https://spacevision.blog.csdn.net/article/details/106898050?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106898050-blog-113628392.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106898050-blog-113628392.235%5Ev43%5Econtrol&utm_relevant_index=2)
3. 验证tensorflow-gpu
- 在虚拟环境中,打开python
import tensorflow as tf
tf.test.is_gpu_available() # The result is "True"
4. 一些细节
- gcc 在anaconda的虚拟环境中自带,打开 python 命令行即可看到, gcc-7 可以与tensorflow-gpu-1.14兼容。
- 多个cuda版本切换时,可参考软连接做法
https://blog.csdn.net/qq_57459857/article/details/134996647