一、本地环境基础配置(设置用户权限,换源,中文输入法、安装驱动、cuda、cudnn)
1.1设置用户权限
Linux下使用sudo命令时出现 debian中 xxx is not in the sudoers file.This incident will be reported.表明你的用户没有使用sudo的权限;直接 编辑 Sudoers 文件以 添加用户。
切换到root权限里面
su root
- 1
编辑sudoers文件
nano /etc/sudoers
- 1
滚动到最后一行 ,添加 用户名 ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) ALL
- 1
按下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
- 1
- 2
- 3
- 4
打开后,把下面内容,任选一个复制到上面去,并注释掉原始仓库里面的内容
# 清华源
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 http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
#换源后一定执行这步命令
sudo apt update
- 1
- 2
先备份原始源文件,以免发生问题;打开源文件列表,注释掉原始的文件,然后添加清华源/阿里源;按ctrl+o保存 再按Enter键确定 最后ctrl+x退出;再更新软件包;
Debian12
和上述类似 同样的操作,但先要查看系统的版本,一般有bookworm、buster、 stretch、bookwor等,不同的版本修改对应版本名称字符即可。我给出两种不同的版本示意。
#查看系统版本
lsb_release -a
- 1
- 2
这是别人的版本,拿来说明下,TA的就是Debian11 bullseye版本;
下面换源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list
# 清华源
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-security/ bullseye /updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security/ 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
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
再替换下面仓库
sudo nano /etc/apt/sources.list.d/raspi.list
- 1
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
- 1
- 2
sudo apt upgrade
- 1
一定注意Debian版本的问题
1.3安装中文输入法(搜狗/百度输入法)
1.3.1百度输入法
第一步: 安装输入法的容器fcitx,并设置系统页面显示为中文
ctrl+alt+t 打开终端,输入下面安装命令
sudo apt-get install fcitx
- 1
(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
- 1
- 2
- 3
- 4
下载网址 百度输入法 选择左边Ubuntu&Deepin下载解压,cd到安装包xxx.deb的根目录,一键安装
cd Downloads
sudo dpkg –i fcitx-baidupinyin.deb
#卸载安装包
sudo dpkg --purge remove fcitx-baidupinyin:amd64
- 1
- 2
- 3
- 4
关机重启就能用了;如果不行,右上角,输入法设置,点击右下面的“+”号,添加百度输入法,并把百度输入法置顶,放在第一位;
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
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
重启电脑,查看右上角,可以看到“搜狗”字样,在输入窗口设置搜狗输入法,类似于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
- 1
- 2
- 3
在打开的文件最后一行,添加下面几句话,然后保存退出
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
- 1
- 2
- 3
- 4
- 5
对刚才的内容进行更新
sudo update-initramfs -u
#重启计算机
sudo reboot
#检查是否禁用
lsmod | grep nouveau
- 1
- 2
- 3
- 4
- 5
若 终端输入 lsmod | grep nouveau ,没有任何输出,则nouveau已禁用。
1.4.2安装依赖gcc&g++&make
其实在换源完成后,安装所用东西之前应该执行这三步,后面再安装东西,不容易出错
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
- 1
- 2
- 3
sudo apt-get install build-essential
sudo apt-get install g++
sudo apt-get install make
gcc --version
g++ --version
make --version
- 1
- 2
- 3
- 4
- 5
- 6
1.4.3安装驱动
驱动安装方式一般有两种:自动源安装【推荐】和手动官方下载安装。这里示意自动安装的方式,先查看下显卡适应的驱动版本,终端输入:ubuntu-drivers devices;也有可能有问题哈
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
- 1
- 2
或者图形界面的安装方式【推荐】:打开软件和更新 -> 附加驱动 -> (专有)/(专用,tested)【选择刚刚系统推荐的版本】-> 应用更改。
【注意】:附加驱动不要安装带 server 和nouveau字眼的版本。
安装完后,重启,终端输入nvidia-smi
nvidia-smi
- 1
出现下面界面说明安装成功!!! 可以看到显卡的详细信息;注意右上角是表明安装cuda的最高版本,不是说一定要安装此版本。配置环境一般不需要太高的版本,而是适配的版本,太高的版本,不稳定且与其有关的其他工具,如pytorch,不会更新那么快。
手动安装方式以及存在错误 参考这两篇文章
Ubuntu系统—NVIDIA 驱动安装
ubuntu20.04 显卡驱动,CUDA 安装和卸载,cudnn安装
1.4.4卸载驱动
sudo apt-get remove --purge nvidia*
- 1
执行完上述命令后会有提示有残留,按照提示进行删除。
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
- 1
- 2
安装过程中,根据提示终端按键盘上下键↓选择continue ,再Enter键输入accept同意用户协议,直到出现下面界面
这就是选择runfile(local)安装方式的原因。使用<上下键>和<空格键>,取消Driver选型的选择(安装cuda最重要的一步)
选择 Install 回去安装,出现下面界面,则安装完毕。红色部分为安装的头文件、库文件和配置文件目录。
最后一步配置cuda的环境变量
打开环境变量的配置文件
sudo gedit ~/.bashrc
- 1
添加以下内容,就是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
- 1
- 2
- 3
- 4
更新环境变量
source ~/.bashrc
- 1
验证是否安装成功,可以看到已经链接到cuda-11.8,至此cuda11.8安装完毕
nvcc -V
- 1
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
出现类似下面界面表示安装成功
【卸载驱动】
卸载往往是把cuda和cuDNN一块卸载
版本cudaxx.x
cd/usr/local/cuda-11.8/bin
sudo ./cuda-uninstaller
- 1
- 2
这里我已经安装好了,不再卸载演示,用的是别人的图,
版本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*"
- 1
- 2
- 3
卸载cuDNN 如果安装方式是手动解压复制的,比较容易卸载,直接删除就可以
sudo rm -rf /usr/local/cuda-11.8
- 1
二、配置深度学习环境
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 (可以避免后续手动添加环境变量)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
手动配置anaconda的环境变量 打开vim编辑器 文末添加,按Esc 再按 :wq 保存退出
# 编辑配置文件
vim ~/.bashrc
# 在文件末尾配置环境变量
export PATH="/home/{用户名}/anaconda3/bin:$PATH"
- 1
- 2
- 3
- 4
终端输入,查看版本
conda --version
- 1
使用anaconda创建、退出、删除、列举已创建的环境
#创建深度学习环境 myenv是你环境的名字 任意取名
conda create --name myenv python=3.9
#激活虚拟环境
conda activate myenv
#退出当前虚拟环境
conda deactivate
#列举所有虚拟环境
conda info --envs
# 删除虚拟环境
conda remove --name myenv --all
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
一定要换源,换成清华或者阿里其他源,conda自己的源下载东西超级慢
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
- 1
或者单独换源,即软件包后面加 -i +网址
pip install numpy==2.2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 1
-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
- 1
- 2
- 3
- 4
- 5
- 6
创建的虚拟环境包一般在 /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
- 1
安装验证,终端输入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()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2.3安装Paddlepaddle
后续专门出一期配置paddlepaddle相关环境
三、其它软件安装
3.1安装Vscode
两种安装方式,一种是下载文件手动安装,一种是操作系统软件自带的安装【推荐简单】
方法一: 操作系统软件自带的安装
打开系统软件 -> Development -> code -> Install 等待安装完毕即可
方法二:下载安装包 官网 vscode官网
sudo dpkg -i code_xxx.deb
- 1
配置TabNine插件,AI自动补全插件 巨好用
快捷键 Ctrl+shift+X 搜索TabNine 一键安装就可以
3.2安装Cmake
cmake安装非常简单,有两种方式,一种是apt系统安装 一种是源码安装
一、apt系统软件包安装
#查看cmake版本 或者查看cmake是否安装
cmake --version
sudo apt update
sudo apt install cmake
- 1
- 2
- 3
- 4
二、源码安装
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
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
- 1
“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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
nvtop
- 1
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})
- 1
- 2
- 3
- 4
评论记录:
回复评论: