目标检测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 验证是否成功
 

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

相关推荐
强化学习与机器人控制仿真3 小时前
Meta 最新开源 SAM 3 图像视频可提示分割模型
人工智能·深度学习·神经网络·opencv·目标检测·计算机视觉·目标跟踪
AutumnorLiuu4 小时前
【红外小目标检测实战】Yolov11加入SPDConv,HDC,ART等模块
人工智能·yolo·目标检测
ragnwang7 小时前
Ubuntu /home 分区安全扩容教程
linux·运维·ubuntu
咸鱼の猫11 小时前
用samba服务器将虚拟机的Ubuntu(磁盘)映射到本地电脑实现文件互传
linux·服务器·ubuntu
二川bro13 小时前
基于PyTorch的视觉检测2025:YOLO实战与优化
pytorch·yolo·视觉检测
路人甲ing..14 小时前
Ubuntu怎么安装tar.gz (android-studio为例)
linux·ubuntu·kotlin·android studio
强盛小灵通专卖员1 天前
基于RT-DETR的电力设备过热故障红外图像检测
人工智能·目标检测·sci·研究生·小论文·大论文·延毕
gorgeous(๑>؂<๑)1 天前
【ICLR26匿名投稿】Context-Aware ViT:让目标检测真正“看清上下文”的增强策略
人工智能·目标检测·机器学习·计算机视觉·目标跟踪
小雪_Snow1 天前
Ubuntu 安装教程
linux·ubuntu