目标检测YOLO[02]:YOLOv8 环境安装-Ubuntu

环境 版本
ubuntu-24.04.3 Server release 10.0
Cuda 12.4
显卡 RTX 2080 Ti 22G 驱动 NVIDIA-Linux-x86_64-580.105.08
conda 25.9.1
git 2.47.3

1.操作系统基础安装

安装 Ubuntu 24 Server 版本后(全部默认安装),默认安装情况下,逻辑卷的容量只有 100G,默认安装的时候,虽然硬盘有 462.7GB 分配给了 LVM,但目前只用了其中的 100GB 创建了一个逻辑卷作为系统根目录。剩余空间仍保留在卷组中,扩展逻辑卷并同时扩展文件系统:

shell 复制代码
# 确认文件系统
dufo df -T /
Filesystem                        Type 1K-blocks     Used Available Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 102626232 10978200  86388768  12% /

# 使用卷组中 所有剩余空间
sudo lvextend --resizefs -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

# 验证
sudo lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0 465.8G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 462.7G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0 462.7G  0 lvm  /

可以看到是 ext4 文件系统,使用西面命令完成扩容: 自动扩容LV 并 resize2fs,扩容后 可以看到逻辑卷容量已经全部是 sda3 分区的容量了

1.2 替换镜像源/更新

shell 复制代码
# 查看当前镜像源, 发现是官方镜像源
cat /etc/apt/sources.list.d/ubuntu.sources

# 备份
cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak

# 替换成华为云镜像源
sudo sed -i 's|http://[a-z0-9\.]*\.archive\.ubuntu\.com|https://mirrors.huaweicloud.com|g' /etc/apt/sources.list.d/ubuntu.sources
sudo sed -i 's|http://security\.ubuntu\.com|https://mirrors.huaweicloud.com|g' /etc/apt/sources.list.d/ubuntu.sources

# 更新软件包列表(同步本地软件包索引和远程仓库)
sudo apt update 
# 升级所有已安装的软件包到最新版本(不处理依赖关系的重大变更)
sudo apt upgrade -y
# 清理无用包(系统运行并安装和卸载了不少东西后,使用,当前不需要执行)
sudo apt autoremove

1.3 安装常用软件

shell 复制代码
sudo apt update && sudo apt install -y vim wget telnet net-tools  lrzsz unzip   gcc libnuma-dev  dnsutils perl pciutils git wget htop jq make

显卡检查时会用到 lspci命令,该命令在 pciutils包中, 源码下载会用到git

2.显卡驱动安装

2.1确认显卡型号

shell 复制代码
lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller: NVIDIA Corporation TU102 USB Type-C UCSI Controller (rev a1)

# 确认你运行的内核版本,然后安装对应的开发包:
# 查看当前运行的内核版本
uname -r
# 安装对应版本的内核开发包
sudo apt install -y "linux-headers-$(uname -r)"

确认内核版本以及安装对应版本内核开发包很重要,要不然驱动无法安装

2.2检查是否存在开源驱动nouveau

shell 复制代码
lsmod | grep nouveau

有输出说明存在。 开源驱动会与NVIDA 驱动冲突。我的是有输出的

如果存在,则需要关闭 nouveau 驱动

shell 复制代码
sudo tee /etc/modprobe.d/blacklist-nouveau.conf <<EOF
blacklist nouveau
options nouveau modeset=0
EOF
# 更新initramfs
sudo update-initramfs -u
# 重启
sudo reboot 

# 重启后确认,如果没有输出则表示已经关闭了
sudo lsmod | grep nouveau

2.3驱动下载

https://www.nvidia.cn/drivers/lookup/

选择一个版本下载

将下载的文件存放到 /home/qy/soft目录备用

2.4执行安装

shell 复制代码
cd /usr/local/src
# 添加可执行权限
 chmod +x NVIDIA-Linux-x86_64-580.105.08.run
# 执行安装
 sudo ./NVIDIA-Linux-x86_64-580.105.08.run

安装的时候,会让你选择许可证,我们直接选择 **NVIDIA Proprietary**即可

选项 许可证 特点 推荐选择
NVIDIA Proprietary 专有许可证 • 传统的NVIDIA专有驱动 • 经过长期测试,稳定性高 • 与各种NVIDIA功能完全兼容 大多数用户
MIT/GPL 开源许可证 • 较新的开源内核模块 • 更好的内核兼容性 • 遵循开源协议 特定场景用户

如果操作系统安装的是字符界面,则会出现一个警告:

WARNING: nvidia-installer was forced to guess the X library path '/usr/lib64' and X module path '/usr/lib64/xorg/modules';

这个警告信息表明NVIDIA安装程序无法自动检测到X Window系统的开发文件位置,解决这个警告你需要安装X.Org的开发包和pkg-config工具,

这个警告不会影响CUDA计算功能,只会影响图形显示,如果你只在字符界面使用Rocky Linux进行计算任务,可以暂时忽略这个警告

2.5 验证

shell 复制代码
#  若输出显示显卡信息、驱动版本,则安装成功
nvidia-smi

CUDA Version: 13.0 表示支持的 cuda 版本最高到 13.0 版本

3.安装CUDA

CUDACompute Unified Device Architecture 的缩写,是NVIDIA推出的并行计算平台和编程模型

**本质:**让GPU不仅能处理图形,还能进行通用计算的平台

**作用:**允许开发者使用C/C++等语言直接在GPU上编写程序

**应用领域:**AI/深度学习、科学计算、数据分析、图形渲染等

前提条件,需要先安装 NVIDIA 驱动

shell 复制代码
nvidia-smi  # 有输出,则确认驱动正常工作

3.1 下载CUDA Toolkit并安装

上面安装的RTX 2080 Ti 驱动支持CUDA到13.0,我们选择 12.4 版本下载,下载地址:https://developer.nvidia.com/cuda-toolkit-archive ,找到对应的版本,选择合适的环境下载。下载后,文件存放到 /home/qy/soft

shell 复制代码
cd ~/soft

wget wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

sudo sh cuda_12.4.0_550.54.14_linux.run

安装的时候,会出现错误:unsupported compiler version: 14.2.1. Use --override to override this check. 此时使用下面命令跳过检查。 原因是当前系统版本的gcc版本过高 ,cuda_12.4.0 不识别这个gcc版本。生产环境可以降低 gcc版本,比如gcc 10 版本。因为现在是测试,直接跳过检查

sudo sh cuda_12.4.0_550.54.14_linux.run --override

因为驱动已经安装了,所以这里需要将 "Driver" 选项去掉

安装完毕后,Toolkit 被安装在了 /usr/local/cuda-12.4, 同时有个链接文件 /usr/local/cuda指向了这个目录

3.2环境变量配置

shell 复制代码
# 编辑bash配置文件
sudo vim ~/.bashrc

# 添加以下内容
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

# 使配置生效
 source ~/.bashrc

3.3验证

shell 复制代码
# 检查CUDA编译器
nvcc --version
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:18:24_PDT_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0

# 检查CUDA工具包版本
nvidia-smi  # 查看右上角的CUDA Version

nvidia-smi 显示的CUDA版本是驱动程序支持的最高 CUDA版本,不是实际安装的CUDA版本,使用 nvcc --version显示的才是实际安装的版本。

4.安装Conda

Conda 是一个开源的包管理和环境管理系统,最初由 Anaconda 公司开发,主要用于 Python 及其他语言(如 R、Ruby、Lua、Perl、Haskell、C/C++)的包管理和环境管理。它可以安装、更新、卸载软件包,并创建隔离的虚拟环境,使得不同项目之间的依赖不会相互干扰。Conda与pip的区别:

shell 复制代码
cd ~/soft
# 下载安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

 # 执行安装
sh Miniconda3-latest-Linux-x86_64.sh

# 手动激活 base环境
eval "$(/home/qy/miniconda3/bin/conda shell.bash hook)"

# 接收许可
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r

# 查看源
conda config --show-sources
==> /home/qy/miniconda3/.condarc <==
channels:
  - defaults
  
conda config --set show_channel_urls yes

conda config --show channels

 # 自动激活base环境
conda config --set auto_activate_base true

5.创建conda环境

shell 复制代码
# 明确指定版本,否则可能会因版本过高导致有包装不上
(base) conda create -n yolov8 python=3.10

#激活虚拟环境
(base) conda activate yolov8

# 接下来会使用pip安装依赖,所以天添加国内加速
(yolov8) pip config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple/

6.pytorch 安装

PyTorch 是由 Meta(原 Facebook)开源的深度学习框架 ,基于 Python 语言构建,核心定位是为机器学习 / 深度学习任务提供从模型设计、训练、调试到部署的全流程支持,因其易用性、灵活性和强大的生态,成为科研界和工业界最主流的深度学习工具之一。

PyTorch 提供了丰富的张量(Tensor)运算、自动微分(Autograd)、神经网络层(nn.Module)等核心模块,支持几乎所有主流深度学习任务

官方地址:https://pytorch.org

选择安装版本的时候,要对应你的机器上安装的 CUDA版本,如果没有安装CUDA,就下载 CPU only

shell 复制代码
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124
CUDA是否要安装?

如果只需要训练、简单推理,则无需单独安装CUDA,直接安装pytorch;如果有部署需求,例如导

出TensorRT模型,则需要进行CUDA安装

7.安装YOLOv8(ultralytic)

开源地址:https://github.com/ultralytics/ultralytics

文档地址:https://docs.ultralytics.com/zh/

shell 复制代码
git clone https://github.com/ultralytics/ultralytics.git

这里我使用的是 8.3.229分支

安装依赖:

shell 复制代码
cd ~/yolo/ultralytics-8.3.229/
conda activate yolov8
# 安装 jupyterlab
 pip install jupyterlab
 # 本地包的可编辑模式安装(Editable Install),核心作用是将当前目录下的 Python 包以 "实时联动" 的方式安装到环境中,是包开发阶段的核心命令。
 # 目录下必须有 setup.py(传统)、pyproject.toml(PEP 621 标准)或 setup.cfg,否则会报错
 # -e 不会复制源码,而是在 site-packages 中创建一个软链接 / 配置文件(如 .egg-link 或 .pth),指向本地包的根目录。
 pip install -e .

 # 输入 yolo 验证是否成功
 

输出提示信息,表示安装成功:

相关推荐
欧云服务器5 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI5 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
向哆哆5 天前
高精度织物缺陷检测数据集(适用YOLO系列/1000+标注)(已标注+划分/可直接训练)
yolo·目标检测
前网易架构师-高司机5 天前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
The️5 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
再战300年5 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys2005 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
木尧大兄弟5 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬5 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动
码农三叔5 天前
(3-2-01)视觉感知:目标检测与分类
人工智能·目标检测·分类·机器人·人机交互·人形机器人