赞
踩
这份教程已经尝试过多次,并多次进行完善,能够确保教程完整可用。
本教程部分参考另一篇经验贴,并根据自己的实际情况进行了扩展。链接: link
本教程使用版本为:Python 3.9 Tensorflow-gpu 2.7.0 CUDA11.5.2 cuDNN 8.3.2
1. 安装anaconda
法一:在官网进行下载对应版本的anaconda,https://repo.anaconda.com/archive
找到下载命令:wget -c https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
下载完后的安装命令: sh Anaconda3-2020.11-Linux-x86_64.sh
之后输入yes和一大段空格的后会弹出一个让你输入路径的地方,因为没有管理员权限同时个人账户下home目录只有1G,所以需要改目录,更换默认安装位置,之后等待安装结束即可。
法二:官网下载压缩包,上传到filezilla,这是我之前的安装方法,现在更推荐第一种。
因为我之前建立过CPU的环境,所以早就安装好了anaconda3,所以GPU环境的安装直接从后面开始。
2. 确定版本信息
操作系统:x86 64架构的64位CentOS 7.5 Linux
GPU集群: 500块Nvidia Tesla V100 16GB
CUDA:目前不能使用12以上的版本,最高到11.6(摘自学校超算交流群内老师消息)
需要注意的是python tensorflow-gpu CUDA cuDNN版本一定要对应,但凡有一点对不上环境都用不了。
根据自身情况,最终版本如下:
Python 3.9 Tensorflow-gpu 2.7.0 CUDA11.5.2 cuDNN 8.3.2
3. 新建环境并激活
新建环境
conda create -n your_env_name python=3.9 这里的环境名字是gputensor
激活环境
source activate gputensor
4. 安装CUDA 11.5.2
(为了避免出错,可以把cuda和cudnn都安装到和anaconda3同样的路径下。例如这里都是/project/zhangsan)
在官网里找到想要的版本https://developer.nvidia.com/cuda-toolkit-archive
根据最下方的链接进行下载,在命令行中输入:
wget https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux.run
然后输入:sh cuda_11.5.2_495.29.05_linux.run
等待一段时间,会出现下面内容
此时,输入accept,然后出现
在这里,需要注意。❌号表示的意思是yes(有点奇怪,但经过多次失败验证是这样的)
1)取消勾选Driver
2)进入options,打开toolkit options,打开change toolkit install path,修改路径,注意装在自己可控的文件夹下,而不是没有权限的文件夹,尽量装在/project/里,例如/project/zhangsan/…,记住该路径,后面要用!
3)取消勾选Create symbolic link from /usr/local/cuda,Done后把sample options也打开看看是否需要修改路径,最好保持一致,改为/project/zhangsan。然后Done,一步步退出,回到取消Driver的界面,选install
4)在/home/账户名 下找到.bashrc和.bash_profile,在这两个文件最后添加下列内容,要注意修改替换为自己的路径。
export PATH=$PATH:/project/zhangsan/anaconda3/bin
export PATH=/project/zhangsan/cuda-11.5/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/project/zhangsan/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/project/zhangsan/cuda-11.5/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/project/zhangsan/cuda-11.5/extras/CUPTI/1ib64
5. 安装cuDNN 8.3.2
在官网找到对应版本https://developer.nvidia.com/rdp/cudnn-archive
我没有找到对应的下载链接,在网上查了几个方法尝试过之后都没有成功,所以采取最原始的方法,先下载到本地然后在上传到filezilla里,在命令行里进行解压文件
解压完成后,注意一定要把cudnn文件放入到cuda中对应的文件夹下,例如,将cudnn文件夹下lib文件夹内的所有子文件复制粘贴到cuda文件夹下lib64文件夹下,cudnn文件夹下其他文件也这样操作,这样才能说明安装好了cudnn。
到这里,需要先配置下动态路径。
cd /project/zhangsan
conda install -c anaconda libstdcxx-ng
export LIBRARY_PATH=
L
I
B
R
A
R
Y
P
A
T
H
:
/
p
r
o
j
e
c
t
/
p
a
n
q
i
a
n
/
a
n
a
c
o
n
d
a
3
/
e
n
v
s
/
e
n
v
g
p
u
/
l
i
b
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
LIBRARY_PATH:/project/panqian/anaconda3/envs/envgpu/lib export LD_LIBRARY_PATH=
LIBRARYPATH:/project/panqian/anaconda3/envs/envgpu/libexportLDLIBRARYPATH=LD_LIBRARY_PATH:/project/panqian/anaconda3/envs/envgpu/lib
6. 安装tensorflow-gpu
注意进入新建的环境内再安装,安装时加上镜源
conda activate gputensor
pip install tensorflow-gpu==2.7.0 -i https://pypi.mirrors.ustc.edu.cn/simple
显示安装成功
7. 验证
1)直接在命令行中是不能检查GPU设备是否可用的,只能检查tensorflow是否可用。
所以不建议用这个方式验证,或许命令行也可以,但我不清楚具体怎么搞
Note: 如果前面的安装过程没有问题,但是import仍然出错,就根据报错内容进行修改,比如这里遇到的是protoc的问题
解决方法是安装即可,开始装的是3.19.0,再次报错说至少3.19.6,所以再次安装。
pip install protobuf==3.19.6 -i https://pypi.mirrors.ustc.edu.cn/simple
安装成功后重新检验即可
2)写一个简单的.py文件,通过运行.sh文件得到反馈,.py内容如下:
#!/bin/bash
import tensorflow as tf
# 返回True或者False
tf.test.is_gpu_available()
physical_devices = tf.config.experimental.list_physical_devices('GPU')
print("Num GPUs Available: ", len(physical_devices))
运行结果如下(前面有些警告,不用管,这里是主要内容截取):
意思就是GPU设备可用,设备名字是device: 0
至此,成功安装武大超算平台tensorflow-gpu及其环境。
filezilla上最终截图如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。