2026/6/20 9:25:54
网站建设
项目流程
湛江网站建设工作,网页设计html代码大全划掉线,网络营销的内容主要包括哪些方面,浅析网站域名在搜索引擎排名中的作用Ubuntu 18.04下GPU版PyTorch与YOLOv5环境搭建
在深度学习项目开发中#xff0c;一个稳定、可复现的运行环境往往是成功的第一步。尤其是目标检测这类计算密集型任务#xff0c;能否高效调用 GPU 资源直接决定了训练和推理的速度。Ubuntu 18.04 作为长期支持#xff08;LTS一个稳定、可复现的运行环境往往是成功的第一步。尤其是目标检测这类计算密集型任务能否高效调用 GPU 资源直接决定了训练和推理的速度。Ubuntu 18.04 作为长期支持LTS版本在科研和工业部署中仍被广泛使用但其默认软件源相对陈旧手动配置 CUDA 和深度学习框架时常遇到兼容性问题。本文将带你从零开始在Ubuntu 18.04上构建一套完整的GPU 加速 YOLOv5 开发环境。我们将采用轻量级的 Miniconda 管理 Python 环境避免系统污染并通过国内镜像源大幅提升依赖安装速度。整个过程经过实战验证适用于本地工作站或远程服务器场景。核心工具选择为什么是 Miniconda在 Python 生态中虚拟环境管理至关重要。我们选择Miniconda-Python3.10镜像而非完整 Anaconda原因很实际体积小仅包含 conda、Python 和必要依赖安装包不到 100MB。启动快没有预装大量科学计算库环境初始化更迅速。控制力强所有第三方库按需安装避免“包冲突”导致的诡异错误。多环境隔离可为不同项目创建独立环境互不干扰。尤其在团队协作或论文复现时这种“干净可控”的策略能极大提升可维护性。你可以轻松导出environment.yml文件供他人一键还原环境。实践建议不要在全局 Python 环境中安装任何 AI 框架。一旦出现版本冲突排查成本极高。系统准备硬件识别与基础组件安装在动手前请确认你的系统满足以下条件✅ 运行 Ubuntu 18.04桌面版或服务器版均可✅ 配备 NVIDIA GPU计算能力 ≥ 3.5如 GTX 10xx / RTX 20/30/40 系列✅ 已连接互联网并具备 sudo 权限✅ 显卡驱动未被 nouveau 占用检查 GPU 是否被识别首先查看 PCI 总线上是否有 NVIDIA 设备lspci | grep -i nvidia如果输出类似NVIDIA Corporation GP107 [GeForce GTX 1050 Ti]说明硬件已被内核识别。接着安装必要的编译工具链和内核头文件这是后续安装闭源驱动的前提sudo apt update sudo apt install build-essential gcc g make sudo apt install linux-headers-$(uname -r)这些组件确保了 dkmsDynamic Kernel Module Support能够为当前内核编译 NVIDIA 驱动模块。屏蔽开源驱动禁用 nouveauUbuntu 默认启用的nouveau是一款开源显卡驱动但它与 NVIDIA 官方闭源驱动无法共存。若不提前禁用会导致安装后黑屏或驱动加载失败。编辑黑名单配置文件sudo vi /etc/modprobe.d/blacklist-nouveau.conf写入以下内容blacklist nouveau options nouveau modeset0保存后更新 initramfs 并重启sudo update-initramfs -u sudo reboot重启完成后执行lsmod | grep nouveau若无任何输出则表示 nouveau 已成功屏蔽。小贴士有些用户会尝试用nomodeset内核参数临时绕过图形界面但这只是权宜之计。彻底禁用才是长久之策。安装 NVIDIA 显卡驱动Ubuntu 提供了便捷的自动检测工具ubuntu-drivers可以智能推荐最适合你显卡的驱动版本。查看推荐选项ubuntu-drivers devices输出示例driver : nvidia-driver-470 - distro non-free driver : nvidia-driver-450 - distro non-free通常选择列表中最靠前的非 nouveau 选项即可。执行自动安装sudo ubuntu-drivers autoinstall安装完成后再次重启系统sudo reboot验证驱动状态nvidia-smi正常情况下你会看到如下信息----------------------------------------------------------------------------- | NVIDIA-SMI 470.182.03 Driver Version: 470.182.03 CUDA Version: 11.4 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | --------------------------------------------------------------------------- | 0 GeForce RTX 3060 Off | 00000000:01:00.0 On | N/A | | 30% 45C P8 12W / 170W | 1024MiB / 12288MiB | 5% Default | ---------------------------------------------------------------------------关键点- 驱动版本显示正确- CUDA Version 字段存在注意这是驱动支持的最大 CUDA 版本不是已安装的 Toolkit此时 GPU 已就绪接下来就可以部署深度学习框架了。安装 Miniconda 并配置环境进入主目录下载 Miniconda 安装脚本mkdir ~/miniconda cd ~/miniconda wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-Linux-x86_64.sh运行安装程序bash Miniconda3-py310_23.1.0-Linux-x86_64.sh按提示阅读协议并输入yes接受条款。路径建议保持默认~/miniconda3便于后续管理。安装完成后刷新 shell 环境变量source ~/.bashrc此时输入conda --version应能返回版本号。使用清华源加速包下载由于官方源位于海外pip 和 conda 安装速度可能极慢。切换为清华大学镜像可显著提升体验# 添加 conda 清华源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes # 设置 pip 使用清华源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple这样无论是conda install还是pip install都会优先从国内拉取资源。关闭 base 环境自动激活每次打开终端都自动进入(base)会影响脚本执行和其他语言环境。建议关闭conda config --set auto_activate_base false此后仅在需要时手动激活基础环境conda activate创建 YOLOv5 专用虚拟环境为保证项目独立性我们新建一个名为yolov5的环境conda create -n yolov5 python3.10激活该环境conda activate yolov5终端前缀变为(yolov5)表示切换成功。此后所有操作都将局限于这个沙箱环境中。安装 GPU 版 PyTorchYOLOv5 基于 PyTorch 构建必须安装支持 CUDA 的 GPU 版本才能发挥显卡性能。根据nvidia-smi中显示的 CUDA Version例如 11.4前往 PyTorch 官网 获取对应安装命令。以 CUDA 11.8 为例pip install torch2.0.1cu118 torchvision0.15.2cu118 torchaudio2.0.2 --extra-index-url https://download.pytorch.org/whl/cu118⚠️ 注意事项- 不要盲目复制官网最新命令。若你的驱动只支持到 CUDA 11.4则应选择cu114版本。- 可通过nvidia-smi查看驱动支持的最高 CUDA 版本。- 若强行安装更高版本的 PyTorch CUDA会导致torch.cuda.is_available()返回False。安装完成后进入 Python 交互环境验证import torch print(torch.__version__) print(torch.cuda.is_available()) # 应返回 True print(torch.cuda.get_device_name(0))预期输出2.0.1cu118 True NVIDIA GeForce RTX 3060只有当第二行输出为True时才说明 GPU 加速已启用。克隆并配置 YOLOv5 项目获取官方代码仓库git clone https://github.com/ultralytics/yolov5 cd yolov5安装项目依赖项pip install -r requirements.txt该脚本会自动安装numpy,matplotlib,Pillow,tqdm,seaborn,scipy等常用库。整个过程约需 2–5 分钟取决于网络速度。测试 YOLOv5 推理功能YOLOv5 自带detect.py脚本可用于图像、视频或多路流的目标检测。运行内置示例图片测试python detect.py --source data/images/执行完毕后结果将保存在runs/detect/exp/目录下ls runs/detect/exp/你可以通过 SCP 下载这些图片或在本地图形界面中查看。每张图上都会标注出检测到的对象及其置信度常见类别包括人、车、狗、自行车等。常用参数说明参数含义--weights yolov5s.pt使用小型模型也可换为 m/l/x--conf 0.4设置置信度阈值--img-size 640输入图像尺寸越大越准但越慢--device 0指定使用第一块 GPU例如运行中型模型并指定 GPUpython detect.py --source data/images/ --weights yolov5m.pt --img 640 --device 0首次运行时会自动下载预训练权重文件如yolov5s.pt后续无需重复下载。常见问题排查指南❌nvidia-smi命令未找到原因分析NVIDIA 驱动未正确安装或系统未重启。解决方法- 确认是否执行了sudo ubuntu-drivers autoinstall- 安装后务必重启系统- 检查/usr/bin/nvidia-smi是否存在❌torch.cuda.is_available()返回 False这是最常见的 GPU 调用失败问题可能由多种因素引起PyTorch 安装的是 CPU 版本- 检查安装命令是否包含cuXXX标识- 错误示例pip install torch→ 默认安装 CPU 版CUDA 版本不匹配- 驱动支持的 CUDA 版本 PyTorch 所需版本- 解决方案降级 PyTorch 或升级驱动显卡被占用或异常- 执行nvidia-smi查看 GPU 使用情况- 尝试重启系统释放资源Conda 环境混乱- 曾混用sudo pip install导致权限错乱- 建议删除环境重来conda env remove -n yolov5调试技巧运行nvcc --version可查看本地 CUDA Toolkit 版本非必需但有助于定位问题。如果没有安装 CUDA Toolkit也不影响 PyTorch 使用 GPU因为其自带 CUDA runtime。❌ 安装过程中出现权限错误错误做法在 Conda 环境中使用sudo pip install这会导致包安装到系统路径破坏虚拟环境隔离机制。✅ 正确做法- 在激活的 conda 环境中直接使用pip install- 如遇权限问题先升级 pippip install --upgrade pip- 若仍失败检查家目录权限是否正常总结与延伸思考至此你已经完成了一个功能完备的深度学习开发平台搭建。这套流程不仅适用于 YOLOv5也为后续接入其他基于 PyTorch 的模型如 YOLOv8、Mask R-CNN、Transformer 等打下了坚实基础。回顾核心步骤- 成功禁用了 nouveau 驱动- 安装了适配的 NVIDIA 官方驱动- 配置了 Miniconda 实现环境隔离- 安装了 GPU 版 PyTorch 并验证可用性- 部署了 YOLOv5 并完成首次推理测试整套方案强调“最小化依赖 最大化可控”特别适合科研实验、模型复现和自动化部署。应用扩展建议可视化训练过程结合 TensorBoard 记录 loss、mAP 等指标自定义数据集训练编写.yaml文件进行迁移学习边缘设备部署导出 ONNX 模型并在 Jetson Nano/TX2 上运行批量处理视频流接入 RTSP 视频源实现安防监控现在你可以放心地投入到模型训练与优化中了——毕竟一个好的开始等于成功了一半。附录完整命令汇总一键复制备用# 1. 系统准备 sudo apt update sudo apt install build-essential linux-headers-$(uname -r) echo -e blacklist nouveau\noptions nouveau modeset0 | sudo tee /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u sudo reboot # 2. 安装 NVIDIA 驱动 sudo ubuntu-drivers autoinstall sudo reboot # 3. 安装 Miniconda mkdir ~/miniconda cd ~/miniconda wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-Linux-x86_64.sh bash Miniconda3-py310_23.1.0-Linux-x86_64.sh source ~/.bashrc # 4. 配置镜像源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple conda config --set auto_activate_base false # 5. 创建虚拟环境 conda create -n yolov5 python3.10 conda activate yolov5 # 6. 安装 GPU 版 PyTorch pip install torch2.0.1cu118 torchvision0.15.2cu118 torchaudio2.0.2 --extra-index-url https://download.pytorch.org/whl/cu118 # 7. 安装 YOLOv5 git clone https://github.com/ultralytics/yolov5 cd yolov5 pip install -r requirements.txt # 8. 测试 python detect.py --source data/images/