本文将介绍如何配置目标检测模型mamba-yolo的深度学习环境
1. 环境要求
-
Python >= 3.9 (本文使用python-3.11)
-
CUDA >= 11.6 (本文使用CUDA-11.8)
-
Pytorch >= 1.12.1 (本文使用torch-2.4.0)
-
Linux(本文使用Ubuntu-22.0.4)
-
请先确定系统的GLIBC版本大于等于2.32(本文使用2.35), 否则会导致python无法正常import动态链接库(python >= 3.7 import动态链接库需要 GLIBC >= 2.32), 如需查看GLIBC版本可使用以下命令查看:
ldd --version
-
gcc,具体版本要求未知,本文使用11.4.0 ,可用以下命令查看gcc版本
gcc --version
-
2. CudaToolKit安装
2.1 cuda安装
先打开英伟达CudaToolKit官网:https://developer.nvidia.com/cuda-toolkit-archive ,然后选择cuda11.8(也可以按照自己的需求来选择其他版本,但是要求大于11.6)
之后按照自己的系统情况进行选择:
如果当前账户有root权限的话,Installer Type就正常选第一个就好,根据下方给出的提示进行安装即可
如果没有root权限的话,可以使用第三项runfile的方式进行安装,具体可以参考博客:linux系统非root用户安装cuda和cudnn,不同版本cuda切换_安装多版本cudnn-CSDN博客
2.2 环境变量修改
打开bash配置文件: 使用文本编辑器打开用户的bash配置文件。对于大多数用户,这个文件通常是~/.bashrc。如果您使用的是root用户,那么配置文件可能是~/.bashrc或者/root/.bashrc。在终端中输入以下命令:
nano ~/.bashrc # 如果想修改所有用户可以在前面加上sudo
在打开的.bashrc
文件中,使用键盘将光标移动到文件的末尾,添加以下路径在文件最后(注意,具体路径请修改为自己安装路径,代码示例为默认安装路径):
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.8
保存并关闭文件: 在nano编辑器中,按下Ctrl + O来保存文件,然后按下Enter确认文件名。接着,按下Ctrl + X退出编辑器,输入y一次,然后回车即可
使更改生效: 为了让刚才的更改立即生效,需要重新加载.bashrc文件。在终端中执行以下命令:
source ~/.bashrc
接下来就可以输入:
nvcc -V
查看是否安装成功即可,正常应输出如下信息:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
3. cuDNN安装
先打开官网:https://developer.nvidia.com/rdp/cudnn-archive ,然后选择对应版本进行下载(本案例选择v8.9.7-11.x),这里下载需要注册NVIDIA账号
然后将下载好的压缩包传到linux服务器中,并在终端cd到对应上传目录,然后进行解压:
tar -xvf cudnn** # **省略部分按tab自动补全
解压完成后cd进解压文件夹,然后运行以下代码(如果没有root权限,cuda安装目录应当在自己账户目录下,此时以下命令无需sudo命令):
sudo cp -r ./lib/* /usr/local/cuda-11.8(根据你的cuda安装目录进行修改)/lib64/
sudo cp -r ./include/* /usr/local/cuda-11.8(根据你的cuda安装目录进行修改)/include/
接下来修改权限:
sudo chmod a+r /usr/local/cuda-11.8(根据你的cuda安装目录进行修改)/include/cudnn*
sudo chmod a+r /usr/local/cuda-11.8(根据你的cuda安装目录进行修改)/lib64/libcudnn*
最后检查是否安装成功:
cat /usr/local/cuda-11.8(根据你的cuda安装目录进行修改)/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
正常应输出以下信息:
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 7
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
/* cannot use constexpr here since this is a C-only file */
至此,cuda安装完成
4. Anaconda安装
这个网上教程一大堆,这里我就只简单说一下。 首先下载安装程序,方法有很多,下面提供两种方法:
-
前往Anaconda官网(Download Anaconda Distribution | Anaconda )选择linux版本,直接下载
-
直接使用wget下载:
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
之后cd到你的下载目录,直接执行即可:
sh Anaconda3-2024.02-Linux-x86_64.sh
一直按enter,直到出现选择yes或者no,选择yes,接下来按enter即可
Please answer 'yes' or 'no':'
>>> yes
Anaconda3 will now be installed into this location:
/root/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
这里直接按enter继续
You can undo this by running `conda init --reverse $SHELL`? [yes|no]
[no] >>>
Thank you for installing Anaconda3!
安装完成
5. Conda环境创建和pytorch环境配置
先新建一个conda虚拟环境:
conda create --name mamba python=3.11
激活环境:
conda activate mamba
然后安装pytorch(这是使用pip下载,如需conda下载【conda下载最后得到的包文件名为pytorch,pip是torch】或者安装其他版本,具体命令可以前往Pytorch官网 PyTorch ):
conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=11.8 -c pytorch -c nvidia
5.1 pytorch构建工具配置修改
先查看mamba-env环境路径
conda env list
然后进入具体环境路径后,打开📁 lib
/📁 python3.10
/📁 site-package
/ 📁 torch
(conda下载为pytorch,pip下载为torch)/📁 utils
/cpp_extension.py
在CUDA_GCC_VERSIONS和MINIMUM_CLANG_VERSION中添加11.8的版本信息
CUDA_GCC_VERSIONS: VersionMap = {
'11.0': (MINIMUM_GCC_VERSION, (10, 0)),
'11.1': (MINIMUM_GCC_VERSION, (11, 0)),
'11.2': (MINIMUM_GCC_VERSION, (11, 0)),
'11.3': (MINIMUM_GCC_VERSION, (11, 0)),
'11.4': ((6, 0, 0), (12, 0)),
'11.5': ((6, 0, 0), (12, 0)),
'11.6': ((6, 0, 0), (12, 0)),
'11.7': ((6, 0, 0), (12, 0)),
'11.8': ((6, 0, 0), (12, 0)), # 添加这一行
}
MINIMUM_CLANG_VERSION = (3, 3, 0)
CUDA_CLANG_VERSIONS: VersionMap = {
'11.1': (MINIMUM_CLANG_VERSION, (11, 0)),
'11.2': (MINIMUM_CLANG_VERSION, (12, 0)),
'11.3': (MINIMUM_CLANG_VERSION, (12, 0)),
'11.4': (MINIMUM_CLANG_VERSION, (13, 0)),
'11.5': (MINIMUM_CLANG_VERSION, (13, 0)),
'11.6': (MINIMUM_CLANG_VERSION, (14, 0)),
'11.7': (MINIMUM_CLANG_VERSION, (14, 0)),
'11.8': (MINIMUM_CLANG_VERSION, (14, 0)), # 添加这一行
}
安装packaging包(setup需要):
conda install packaging