ubuntu服务器深度学习环境配置--cuda、cudnn、conda的下载、自定义安装位置及环境配置
问题及需求:
为当前服务器安装cuda、cudnn及conda,方便后续配置深度学习环境
当前环境:
lsb_release -a查看服务器版本信息
lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
问题解决1-cuda安装
1、cuda下载
cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive
以11.3为例,根据服务器系统信息选择按钮(ubuntu向下兼容,22.04可选20.04版本的cuda)
选择完毕后,会生成Installation Instructions下载及安装指令
下载位置在当前终端所在位置
#下载指令
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run

2、cuda安装
安装指令若没有root权限,可去掉sudo前缀
sh cuda_11.3.0_465.19.01_linux.run
进入安装界面,输入accept

取消其他,只选择CUDA ToolKit 11.3,显卡驱动(第一项)由于我们不是管理员无法安装,其他如样例,demo和说明文档则不需要安装。之后选择Options,Enter进入

选择ToolKit OPtions,Enter进入

选择 Change ToolKit Install Path,Enter进入

修改路径如下图所示,当前文件夹需存在,Enter确定退出

选择Done确认退出

同理修改Libary install path 路径

修改路径如下图所示

选择install开始安装

出现A symlink already exist 说明当前存在其他cuda环境,这里选择no,后面我们会重新配置环境

安装成功如下图所示
3、cuda环境配置
运行vim ~/.bashrc打开环境配置文件,并将下面内容输入到文件末端,保存后退出
其中/home/sunbs/cuda/cuda-11.3为上叙cuda安装路径
vim ~/.bashrc
export CUDA_HOME=$CUDA_HOME:/home/sunbs/cuda/cuda-11.3
export PATH="/home/sunbs/cuda/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/sunbs/cuda/cuda-11.3/lib64
4、验证成功安装
执行下面的命令更新环境变量,出现下面的输出表示安装成功
source ~/.bashrc
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Mar_21_19:15:46_PDT_2021
Cuda compilation tools, release 11.3, V11.3.58
Build cuda_11.3.r11.3/compiler.29745058_0
补充:多版本cuda
若安装多个版本cuda,下载安装不变,在cuda环境配置过程中修改cuda路径即可
问题解决3-cudnn安装
1、cudnn下载
cudnn下载地址:https://developer.nvidia.com/rdp/cudnn-archive
选择8.9.5版本,Local Installers for Windows and Linux, Ubuntu(x86_64, armsbsa)下Local Installer for Linux x86_64 (Tar)下载到本地,之后上传到服务器即可,可参考文章ubunbu主机电脑连接远程linux服务器,实现桌面访问及文件传输-remmina、ssh_ubuntu通过 连接到服务器 连接其他服务器-CSDN博客

2、cudnn安装
打开上传cudnn文件位置的终端,执行下面的命令解压文件
tar xvf cudnn-linux-x86_64-8.9.5.30_cuda11-archive.tar.xz
拷贝文件到指定目录并给予权限
cp cuda/cudnn-linux-x86_64-8.9.5.30_cuda11-archive/include/cudnn.h cuda/cuda-11.3/include
cp cuda/cudnn-linux-x86_64-8.9.5.30_cuda11-archive/lib/libcudnn* cuda/cuda-11.3/lib64
cp cuda/cudnn-linux-x86_64-8.9.5.30_cuda11-archive/include/cudnn_version.h cuda/cuda-11.3/include
chmod a+r cuda/cudnn-linux-x86_64-8.9.5.30_cuda11-archive/include/cudnn.h
chmod a+r cuda/cudnn-linux-x86_64-8.9.5.30_cuda11-archive/include/cudnn_version.h
chmod a+r cuda/cudnn-linux-x86_64-8.9.5.30_cuda11-archive/lib/libcudnn*
3、验证成功安装
终端输入下面命令,cudnn.h还是cudnn_vrsion.h取决于当前版本,两条指令有一条成功即可,成功结果如下图所示。
cat cuda/cuda-11.3/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat cuda/cuda-11.3/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
(base) sunbs@cvprsdu:~$ cat cuda/cuda-11.3/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
问题解决3-conda安装
1、conda下载
conda版本下载地址:Index of /
https://repo.anaconda.com/archive/
可wget指令直接下载,安装包会自动下载到当前终端位置
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
或手动下载后文件传输到服务器中,可参考文章:ubunbu主机电脑连接远程linux服务器,实现桌面访问及文件传输-remmina、ssh_ubuntu通过 连接到服务器 连接其他服务器-CSDN博客
2、conda安装
1、当前目录下,直接bash指令安装即可
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
2、之后一直点击Enter键,直至出现下面的询问,输入yes
Do you accept the license terms? [yes|no]
[no] >>> yes
3、之后会出现安装位置的选择,若默认其安装位置,直接Enter键,若想改变安装位置,可在其后输入指定安装位置。本次安装默认其安装位置、
[/home/sunbs/anaconda3] >>>
4、之后会出现是否初始化的询问,选择yes的话,会自动添加环境变量;选择no的话,在安装完anaconda后需手动添加环境变量。选择yes生成的环境变量可能会出现一些问题,建议选择no。
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> no
5、出现下面表示安装成功:
Thank you for installing Anaconda3!
===========================================================================
3、conda环境配置
1、初始化 conda,终端前会出现base
source ~/anaconda3/bin/activate
conda init
sunbs@cvprsdu:~$ source ~/anaconda3/bin/activate
(base) sunbs@cvprsdu:~$ conda init
no change /home/sunbs/anaconda3/condabin/conda
no change /home/sunbs/anaconda3/bin/conda
no change /home/sunbs/anaconda3/bin/conda-env
no change /home/sunbs/anaconda3/bin/activate
no change /home/sunbs/anaconda3/bin/deactivate
no change /home/sunbs/anaconda3/etc/profile.d/conda.sh
no change /home/sunbs/anaconda3/etc/fish/conf.d/conda.fish
no change /home/sunbs/anaconda3/shell/condabin/Conda.psm1
no change /home/sunbs/anaconda3/shell/condabin/conda-hook.ps1
no change /home/sunbs/anaconda3/lib/python3.8/site-packages/xontrib/conda.xsh
no change /home/sunbs/anaconda3/etc/profile.d/conda.csh
modified /home/sunbs/.bashrc
==> For changes to take effect, close and re-open your current shell. <==
2、设置打开终端不自动进入 conda 的 base 环境,即需要自己激活相应的配置
设置false时,不自动进入base环境,设置true时,自动进入base环境。执行命令后需要重新打开终端。
conda config --set auto_activate_base false
conda config --set auto_activate_base true
source ~/.bashrc
4、验证成功安装
执行下面的指令,出现下列结果表示成功安装
source ~/.bashrc
conda --version
conda env list
(base) sunbs@cvprsdu:~$ source ~/.bashrc
(base) sunbs@cvprsdu:~$ conda --version
conda 4.10.1
(base) sunbs@cvprsdu:~$ conda env list
# conda environments:
#
base * /home/sunbs/anaconda3
补充1:conda验证失败
若验证失败,不能查看到conda版本及环境列表,可能是因为环境变量出现了问题
通过下面两个指令的一种查看环境变量
vim ~/.bashrc
nano ~/.bashrc
若出现下面内容表示成功
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/sunbs/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/sunbs/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/sunbs/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/sunbs/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
否则手动添加环境变量,最后一行添加并保存退出
export PATH="home/{your_name}/anaconda3/bin:$PATH"
补充2:conda常用指令
1、 查看所有虚拟环境
conda env list
2、创建环境
conda create -n 虚拟环境名 python==版本号
conda create -n ai python==3.12
3、激活进入已创建的环境
conda activate 环境名
conda activate bev
4、退出环境
conda deactivate 环境名
conda deactivate bev
5、删除环境
conda remove -n 环境名 --all
conda remove -n 3.12 --all
欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。
更多推荐



所有评论(0)