一、本地环境基础配置(设置用户权限,换源,中文输入法、安装驱动、cuda、cudnn)

1.1设置用户权限

Linux下使用sudo命令时出现 debian中 xxx is not in the sudoers file.This incident will be reported.表明你的用户没有使用sudo的权限;直接 编辑 Sudoers 文件以 添加用户。
切换到root权限里面

su root

编辑sudoers文件

nano /etc/sudoers

滚动到最后一行 ,添加 用户名 ALL=(ALL:ALL) ALL

user ALL=(ALL:ALL) ALL


按下Ctrl+O保存文件,并按Enter键确定保存,按Ctrl+X退出,reboot重启后,就可以sudo命令了。

1.2换源(Ubuntu20.04&Debian12)

为什么换源,软件源是指 Linux操作系统的应用程序安装包仓库,一般这个源地址是在国外,国内访问速度超慢,基本上只有几Kb的速率,强烈推荐替换成国内的软件源,比如清华 阿里 等软件源;
Ubuntu20.04

#原始的源列表文件进行备份。这样,在发生问题时可以轻松恢复到原始状态
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
#使用文本编辑器(如nano、vim等)打开源列表文件
sudo nano /etc/apt/sources.list

打开后,把下面内容,任选一个复制到上面去,并注释掉原始仓库里面的内容

# 清华源 20.04 X86
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

# 清华源 20.04 arm系统 必须包含ports
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
#换源后一定执行这步命令
sudo apt update

先备份原始源文件,以免发生问题;打开源文件列表,注释掉原始的文件,然后添加清华源/阿里源;按ctrl+o保存 再按Enter键确定 最后ctrl+x退出;再更新软件包;
Debian
和上述类似 同样的操作,但先要查看系统的版本,一般有bookworm、buster、 stretch、bookwor等,不同的版本修改对应版本名称字符即可。我给出两种不同的版本示意。

#查看系统版本
lsb_release -a

这是别人的版本,拿来说明下,TA的就是Debian11 bullseye版本;

下面换源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list
# 清华源 debian12 x86 bookworm
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free contrib non-free-firmware
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main non-free contrib non-free-firmware
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main non-free contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main non-free contrib non-free-firmware
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main non-free contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main

# 清华源 debian11 x86 bullseye 
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
#deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
#deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware


再替换下面仓库

sudo nano /etc/apt/sources.list.d/raspi.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
sudo apt upgrade

一定注意Debian版本的问题

1.3安装中文输入法(搜狗/百度输入法)

1.3.1百度输入法

第一步: 安装输入法的容器fcitx,并设置系统页面显示为中文
ctrl+alt+t 打开终端,输入下面安装命令

sudo apt-get install fcitx

在这里插入图片描述

(1) 打开系统下的setting-> Region & Lannguage -> InputSource下的Manage installation Language;
(2) 点击Installation/ Remove Language;
(3) 点击Chinse(simplified),并点击Apply;
(4) 点击keyboard input method system选择:fcitx;
(5) 点击Apply System-Wide,应用到全局;
(6) 然后关机重启,就可以看到系统字体为中文了,但是打字还是英文,需要第二步安装相关中文输入法了。

第二步: 安装百度输入法
配置相关环境

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fcitx-bin fcitx-table fcitx-config-gtk fcitx-frontend-all
sudo apt-get install qt5-default qtcreator qml-module-qtquick-controls2

下载网址 百度输入法 选择左边Ubuntu&Deepin下载解压,cd到安装包xxx.deb的根目录,一键安装

cd Downloads
sudo dpkg –i fcitx-baidupinyin.deb
#卸载安装包
sudo dpkg --purge remove fcitx-baidupinyin:amd64

关机重启就能用了;如果不行,右上角,输入法设置,点击右下面的“+”号,添加百度输入法,并把百度输入法置顶,放在第一位;

1.3.2搜狗输入法

第一步:添加中文语言支持与安装百度输入法的第一步一样
第二步:官网下载:搜狗输入法 ,下载 sogoupinyin_4.2.1.145_amd64.deb,先配置环境再安装

cd Downloads
#配置输入法环境
sudo apt-get update
sudo apt-get upgrade
sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1
sudo dpkg –i sogoupinyin_4.2.1.145_amd64.deb
#卸载安装包
sudo dpkg --purge remove sogoupinyin_4.2.1.145_amd64:amd64

重启电脑,查看右上角,可以看到“搜狗”字样,在输入窗口设置搜狗输入法,类似于1.3.1。如果没有搜狗字样,选择配置,将搜狗加入输入法列表即可;
在这里插入图片描述在这里插入图片描述

1.4安装NVIDIA驱动

1.4.1禁用nouveau

Ubuntu系统里面集成显卡驱动是nouveau,它是第三方为NVIDIA开发的开源驱动,需要禁用它,才能安装官网驱动;

#更改文件权限
sudo chmod 666 /etc/modprobe.d/blacklist.conf 
sudo gedit /etc/modprobe.d/blacklist.conf

在打开的文件最后一行,添加下面几句话,然后保存退出

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

对刚才的内容进行更新

sudo update-initramfs -u
#重启计算机
sudo reboot
#检查是否禁用
lsmod | grep nouveau 

若 终端输入 lsmod | grep nouveau ,没有任何输出,则nouveau已禁用。

1.4.2安装依赖gcc&g++&make

其实在换源完成后,安装所用东西之前应该执行这三步,后面再安装东西,不容易出错

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install build-essential
sudo apt-get install g++
sudo apt-get install make
gcc --version
g++ --version
make --version

1.4.3安装驱动

驱动安装方式一般有两种:自动源安装【推荐】和手动官方下载安装。这里示意自动安装的方式,先查看下显卡适应的驱动版本,终端输入:ubuntu-drivers devices;也有可能有问题哈

ubuntu-drivers devices
sudo ubuntu-drivers autoinstall


或者图形界面的安装方式【推荐】:打开软件和更新 -> 附加驱动 -> (专有)/(专用,tested)【选择刚刚系统推荐的版本】-> 应用更改。


【注意】:附加驱动不要安装带 server 和nouveau字眼的版本。
安装完后,重启,终端输入nvidia-smi

nvidia-smi

出现下面界面说明安装成功!!! 可以看到显卡的详细信息;注意右上角是表明安装cuda的最高版本,不是说一定要安装此版本。配置环境一般不需要太高的版本,而是适配的版本,太高的版本,不稳定且与其有关的其他工具,如pytorch,不会更新那么快。

手动安装方式以及存在错误 参考这两篇文章
Ubuntu系统—NVIDIA 驱动安装
ubuntu20.04 显卡驱动,CUDA 安装和卸载,cudnn安装

1.4.4卸载驱动

sudo apt-get remove --purge nvidia*

执行完上述命令后会有提示有残留,按照提示进行删除。

1.4安装cuda(11.8)

接下来安装cuda,安装cuda,首先明确我们需要的版本,虽然先安装cuda,但是要综合GPU、驱动、深度学习环境选择合适的版本;根据1.4.3知道cuda版本不超过12.6;
CUDA版本与驱动 根据官网 cuda-toolkit

根据官网 pytorch官网

根据paddlepaddle官网

pytorch2.0以上基本上要求1.7以上,而且适配版本最多的是1.8,paddlepaddle适配版本里面也有11.8版本,这里综合选择cuda11.8的版本。
进入 官方cuda下载页面 ,选择确定的cuda版本。

【注意】 要选择runfile(local)✔️,本地手动安装方式,可以不安装软件包内置的显卡驱动。避免显卡驱动版本矛盾冲突。
根据官网提示,CTRL+ALT+T终端输入以下命令安装

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

安装过程中,根据提示终端按键盘上下键↓选择continue ,再Enter键输入accept同意用户协议,直到出现下面界面
这就是选择runfile(local)安装方式的原因。使用<上下键>和<空格键>,取消Driver选型的选择(安装cuda最重要的一步)


选择 Install 回去安装,出现下面界面,则安装完毕。红色部分为安装的头文件、库文件和配置文件目录。

最后一步配置cuda的环境变量
打开环境变量的配置文件

sudo gedit ~/.bashrc

添加以下内容,就是cuda的安装目录,注意路径名称

# CUDA11-8 环境变量 
export PATH=$PATH:/usr/local/cuda-11.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.8

更新环境变量

source ~/.bashrc

验证是否安装成功,可以看到已经链接到cuda-11.8,至此cuda11.8安装完毕

nvcc -V

1.4安装cudnn(8.6)

安装cuDNN包比较简单,就当成下载文件,把文件放到应该的位置。下载cuDNN包 点击官网,按照需要cuda的版本和Linux系统版本找对应的cuDNN
这里选择8.6.0版本;下载时候,需要注册一个Nvidia账号,并验证一下,就可以下载

cd到下载目录,解压并把解压文件里面的include和lib文件里面东西复制到cuda-11.8对应的include和lib64里面

cd Downloads
tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz
cd cudnn-linux-x86_64-8.6.0.163_cuda11-archive/
sudo cp include/cudnn*.h /usr/local/cuda-11.8/include
sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64
sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*
#验证安装
cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

出现类似下面界面表示安装成功

【卸载驱动】
卸载往往是把cuda和cuDNN一块卸载
版本cudaxx.x<cuda12.0,可以先直接执行可执行文件卸载,再用空格键勾选以下几项,选择done,提示Successfully uninstalled 表示卸载完成。

cd/usr/local/cuda-11.8/bin
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.8 #一定要把这个空文件夹删除

这里我已经安装好了,不再卸载演示,用的是别人的图,

版本cudaxx.x>cuda12.0,稍微复杂点,cuda12.0版本没有可执行卸载程序,需要手动卸载

#To remove CUDA Toolkit:
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \
 "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"

卸载cuDNN 如果安装方式是手动解压复制的,比较容易卸载,直接删除就可以

sudo rm -rf /usr/local/cuda-11.8

问题:FAIL : Failed to load library libonnxruntime_providers_cuda.so with error: libcublasLt.so.11: cannot open shared object file: No such file or directory
cuda12.4
原因:找不到 CUDA 11 版本的 libcublasLt.so.11,但你的系统安装的是 CUDA 12.4(默认带有 libcublasLt.so.12
cuda12.1/cuda11.8版本切换

# 设置默认版本为12.1  创立软连接
sudo rm -f /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda
sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda

二、配置深度学习环境

2.1安装Anaconda3

Anaconda3可以创建多个虚拟环境,便于搭建不同深度学习环境,避免不同库导致依赖包版本冲突。
Anaconda3的官方链接,需要注册邮箱,会发送个验证下载的链接,点击就可到下载页面 选择 64-Bit(x86)Installer cd到安装包目录,执行下载命令。

cd Downloads
# 改变文件权限 可选
chmod -R 777 Anaconda3-2024.10-1-Linux-x86_64.sh
sudo ./Anaconda3-2024.10-1-Linux-x86_64.sh
# 根据提示回车继续安装
# 一直回车看到协议
# 输入yes继续安装
# 选择安装目录 默认/自定义
#是否把anaconda的bin添加到用户的.bashrc 输入yes (可以避免后续手动添加环境变量)

手动配置anaconda的环境变量 打开vim编辑器 文末添加,按Esc 再按 :wq 保存退出

# 编辑配置文件
vim ~/.bashrc
# 在文件末尾配置环境变量
export PATH="/home/{用户名}/anaconda3/bin:$PATH"

终端输入,查看版本

conda --version

使用anaconda创建、退出、删除、列举已创建的环境

#创建深度学习环境 myenv是你环境的名字  任意取名
conda create --name myenv python=3.9
#激活虚拟环境
conda activate myenv
#退出当前虚拟环境
conda deactivate
#列举所有虚拟环境
conda info --envs
# 删除虚拟环境
conda remove --name myenv --all

一定要换源,换成清华或者阿里其他源,conda自己的源下载东西超级慢

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

或者单独换源,即软件包后面加 -i +网址

pip install numpy==2.2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
-i https://pypi.tuna.tsinghua.edu.cn/simple
-i https://mirrors.aliyun.com/pypi/simple
# 安装tensorflow非常快
-i http://pypi.douban.com/simple --trusted-host pypi.douban.com
#安装 paddlepaddle非常快
-i https://mirror.baidu.com/pypi/simple

创建的虚拟环境包一般在 /anaconda3/envs文件下,具体的包如 numpy 一般在 /anaconda3/envs/lightglue/lib/python3.10/site-packages 这个文件夹下。
红色圈出部分文件都是自己创建的虚拟环境 文件夹名字和虚拟环境名字一样

2.2安装Pytorch(2.0版本以上)

打开 pytorch官网 查看自己适应的版本,这里选择pytorch2.2.2 对应的cuda11.8,gpu版本。
选择建议: 1、直接选择GPU版本,即使没有显卡,也可以切换回来; 2、选择适配性较高的版本,比如好几个版本都适配cuda-11.8,那就选择有cuda11.8的版本,因为经过多个版本验证,稳定性较好;3、尽量不要安装最新的版本,因为最新版本还在测验阶段,确实不太稳定;但是如果版本日期是一年前以上基本上也没大问题;4、使用pip安装,若没换源;5、如果跑前沿的算法,一般pytorch版本有要求,要看好算法要求的版本。

pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu118


安装验证,终端输入python 进入python环境,依次输入

import torch
from torch.backends import  cudnn
print(cudnn.is_available())
# 输出True,说明pytorch的gpu接口可用
torch.cuda.is_available()
torch.zeros(1).cuda()
#退出python
exit()

2.3安装Paddlepaddle

后续专门出一期配置paddlepaddle相关环境

三、其它软件安装

3.1安装Vscode

两种安装方式,一种是下载文件手动安装,一种是操作系统软件自带的安装【推荐简单】
方法一: 操作系统软件自带的安装
打开系统软件 -> Development -> code -> Install 等待安装完毕即可

方法二:下载安装包 官网 vscode官网

sudo dpkg -i code_xxx.deb

配置TabNine插件,AI自动补全插件 巨好用
快捷键 Ctrl+shift+X 搜索TabNine 一键安装就可以
卸载vscode
(1)、 通过 apt-get 方式安装的,删除时会提示确认

sudo apt-get remove code # 只是卸载,保留配置
sudo apt-get --purge remove code # 彻底清除,包括配置
sudo apt-get purge code # 也是彻底清除

(2)、 通过 dpkg 方式安装的,删除时将没有确认提示

sudo dpkg -r code # 只是卸载,保留配置
sudo dpkg --remove code # 只是卸载,保留配置
sudo dpkg -r code # 彻底清除,包括配置
sudo dpkg --purge code # 彻底清除,包括配置

(3)、 通过snap方式安装的;

snap list | grep -i vscode #存在,卸载命令
sudo snap remove code
which code # 返回路径
code --version #返回版本号

3.2安装Cmake

cmake安装非常简单,有两种方式,一种是apt系统安装 一种是源码安装
一、apt系统软件包安装

#查看cmake版本 或者查看cmake是否安装
cmake --version
sudo apt update
sudo apt install cmake

二、源码安装
CMake的官方网站: cmake官网 可以手动下载安装 也可以wget安装。
【注意】不要下载带linux名称的安装包,解压文件里面没有这个bootstrap安装程序。

#安装依赖 或者编译过程中缺啥安装啥
sudo apt update
sudo apt install build-essential curl libssl-dev
cd Downloads
tar -zxvf cmake-3.26.6.tar.gz
cd cmake-3.26.6
#执行安装命令
./bootstrap
make -j4
sudo make install
cmake --version
#卸载cmake
sudo apt remove --purge cmake

3.3安装Opencv

安装opencv较为复杂,单独拿出来,参考自己另一篇
Ubuntu20.04安装opencv4.2.0 && opencv4.10.0 一文详细介绍安装步骤(带图)及报错解决

3.4安装Pcl

安装pcl较为复杂,单独拿出来,参考自己另一篇
Ubuntu20.04安装pcl1.10.0 && pcl1.13.1 一文详细介绍安装步骤(带图)及报错解决

3.5安装nvtop

在深度学习训练过程中,使用 nvtop 工具来实时监控 GPU 的各种指标,如显存大小,GPU利用率、温度等,使用非常方便
1、apt安装方式出错

sudo apt install nvtop

“nvtop : Depends: libnvidia-compute-418 but it is not going to be installed”,翻译过来就是,nvtop : 依赖: libnvidia-compute-418 但是它将不会被安装。 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。只能源码编译安装。
2、源码编译安装 下载链接:https://github.com/Syllo/nvtop/tree/3.1.0

# 安装依赖
sudo apt install libudev-dev libsystemd-dev libdrm-dev ncurses-devel
git clone https://github.com/Syllo/nvtop.git
mkdir -p nvtop/build && cd nvtop/build
cmake .. -DNVIDIA_SUPPORT=ON -DAMDGPU_SUPPORT=ON -DINTEL_SUPPORT=ON 
make -j4
sudo make install
nvtop

3.5安装json

c++ 需要加载json数据文件,需要安装nlohmann/json ,安装使用非常简单。
官方网站:GitHub页面
下载nlohmann/json.hpp,选择single_include/nlohmann,将头文件放入到系统路径里面,系统编译时自动查找,/usr/local/include/路径下。

或者是放到你的工程文件下,使用cmake构建链接

# 设置 nlohmann/json 的路径
set(JSON_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/nlohmann)
# 链接包含 nlohmann/json 头文件目录
target_include_directories(${project_name} PRIVATE ${JSON_INCLUDE_DIR})
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐