Bootstrap

Ubuntu24.04配置DINO-Tracker

一、引言

记录 Ubuntu 配置的第一个代码过程

二、更改conda虚拟环境的默认安装路径

鉴于不久前由于磁盘空间不足引发的重装系统的惨痛经历,在新系统装好后当然要先更改虚拟环境的默认安装路径。

输入指令:

conda info

在这里插入图片描述
可能因为我原本就没有把 Anacoda 安装在 home 文件夹下,所以我的默认安装路径都不是根目录?但是我还是想把下面那个根目录去掉。
打开根目录,点击左上角的三个横线标识,勾选“显示隐藏的文件”,打开 .condarc 文件。在文件末尾添加如下内容:

envs_dirs:
  - ...\envs
pkgs_dirs:
  - ...\pkgs

重新在命令行输入指令查看路径:
在这里插入图片描述
这里发现 pkgs 的路径更改成功了,但是 envs 的路径没有更改成功。我查看了两个文件夹的权限都是一样的。所以为什么有一个没改成功呢?
设置 envs 文件夹权限:
在这里插入图片描述
设置完还是没有变化。查看 base 环境的位置,发现也是我安装 anaconda 的位置,并不是根目录,所以这里我没有再更改了。

三、配置环境

1. 新建环境

按照 readme.md 中的要求:

conda create -n dino-tracker python=3.9
conda activate dino-tracker

(安装完成后发现路径没有问题)
在安装 requirements 文件中的包之前,我先安装了 CUDA+cudnn。

2. 安装 CUDA + CUDNN + torch

1)查看 CUDA 与 cudnn 的版本

在终端输入:

nvidia-smi

在这里插入图片描述
可以看到我能安装的最高版本为12.4。
打开 pytorch官网查看 cuda 对应版本。本项目所需的 torch 版本为 2.1.0:
在这里插入图片描述
可以选择的版本有11.8和12.1。这里我选择安装12.1。

2) 下载安装包

下载地址: https://developer.nvidia.com/cuda-toolkit
历史版本下载地址: https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述在这里插入图片描述
这里说明一下,cuda11.8 和 cuda12.1 都没有对应的 ubuntu24.04 版本,所以我选择了 22.04 版本。

3)安装 CUDA

(1) 方法1(失败)

按照官网给出的命令依次执行。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
由于我是 ubuntu24.04 版本,而我选择安装的是 cuda 对应的是 22.04 版本,这里需要安装一下 libtinfo5。
参考这位大佬这位大佬的帖子,我需要执行下面这个命令安装 libtinfo5:

wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.4-2_amd64.deb
dpkg -i libtinfo5_6.4-2_amd64.deb

在这里插入图片描述
我打开这个网页:http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses
在这里插入图片描述
发现根本没有 libtinfo5_6.4-2 这个版本。。。。。。然后我选择安装了 libtinfo5_6.3-2 这个版本,重新执行安装 cuda 的命令。这次没有出现 libtinfo5 这个错误,但是在安装过程中也没有弹出选择是否安装驱动的选项,而是直接执行到最后一步,然后出问题了:
在这里插入图片描述
在这里插入图片描述
然后我再次输入nvidia-smi
在这里插入图片描述
果然驱动出问题了。看到一些帖子的分享,说这个问题可能重启之后就会解决,于是我抱着试试的心态重启了一下,先然显然我不是那个幸运儿:
在这里插入图片描述
只好卸载驱动重新安装。
参考链接
移除所有关于 cuda 的内容:

sudo apt-get --purge -y remove 'cuda*'
# cuda10.1及以上的卸载
cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x

这里我的 cuda 应该是压根就没安装成功,因为 /usr/local/cuda-12.1 文件夹下面根本没有 bin 文件夹。
移除所有关于 nvidia 的内容:

sudo apt-get --purge -y remove 'nvidia*'

查看cuda文件夹

ls /usr/local/ | grep cuda

此时再次在终端输入 nvidia-smi,显示如下:

找不到命令 “nvidia-smi”,但可以通过以下软件包安装它:
sudo apt install nvidia-utils-470         # version 470.256.02-0ubuntu0.24.04.1, or
sudo apt install nvidia-utils-470-server  # version 470.256.02-0ubuntu0.24.04.1
sudo apt install nvidia-utils-535         # version 535.183.01-0ubuntu0.24.04.1
sudo apt install nvidia-utils-535-server  # version 535.216.01-0ubuntu0.24.04.1
sudo apt install nvidia-utils-550         # version 550.120-0ubuntu0.24.04.1
sudo apt install nvidia-utils-525         # version 525.147.05-0ubuntu1
sudo apt install nvidia-utils-525-server  # version 525.147.05-0ubuntu1
sudo apt install nvidia-utils-550-server  # version 550.127.05-0ubuntu0.24.04.1

应该是卸载成功了。按照提示输入sudo apt install nvidia-utils-550,安装失败。
还好不是第一次安装 nvidia 驱动。详细过程不再赘述了,按照之前的笔记安装。
安装过程中我第一次安装的是 550.107 版本,但是不知道为什么nvidia-smi出来显示的是 550.120 版本。这次重装我选择的是最新的版本 550.135,但是安装完成后一直黑屏开不了机,不得已又卸载了重新安装的 550.120 版本,然后非常顺利,安装过程没有任何问题。

(2) 方法2(成功)

在这里插入图片描述
依次执行上面两条命令。
在这里插入图片描述
在这里插入图片描述
按下空格取消安装驱动。中途出现了这个问题:
在这里插入图片描述

搜索之后发现只需在命令后面加一个--override
在这里插入图片描述

添加环境变量:

export PATH=$PATH:/usr/local/cuda-12.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.1
source ~/ .bashrc

在这里插入图片描述
输入nvcc -V查看是否安装成功:
在这里插入图片描述

4) 安装 CUDNN

  1. 选择版本
    官网选择合适的版本安装。
    在这里插入图片描述
    为了选择与 ubuntu24.04 匹配的版本,我选择了9.3.0。

在这里插入图片描述

  1. 安装
    依次执行上述命令:
wget https://developer.download.nvidia.com/compute/cudnn/9.3.0/local_installers/cudnn-local-repo-ubuntu2404-9.3.0_1.0-1_amd64.debsudo 
dpkg -i cudnn-local-repo-ubuntu2404-9.3.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2404-9.3.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn-cuda-12
  1. 执行文件复制
sudo cp usr/include/cudnn* /usr/local/cuda-12.1/include
  1. 测试是否安装 cudnn 成功
cat /usr/local/cuda-12.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述

  1. 查看版本信息
dpkg -l |grep cudnn
查看版本信息

在这里插入图片描述

5) 安装 torch

  1. 打开官网
  2. 选择合适的版本
    在这里插入图片描述
    输入指令:
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=12.1 -c pytorch -c nvidia

检测是否安装成功:

python

import torch
print(torch.version.cuda)
print(torch.backends.cudnn.version())

在这里插入图片描述
在这里插入图片描述
输入命令:

conda install numpy==1.26

重新检测:
在这里插入图片描述
成功。

6) 安装其他包

pip install -r requirements.txt

查看是否安装成功:

conda list

这里我都安装成功了。

7) 配置环境变量

cd dino-tracker
export PYTHONPATH=`pwd`:$PYTHONPATH
;