安装虚拟机和YOLOv12详细教程

安装虚拟机和YOLOv12保姆级教程


前言

  1. 安装虚拟机
  2. 安装PYthon和Pytorch
  3. 安装YOLOv12及其依赖

一、安装和配置Linux:

如果你更重视环境隔离,或者需要虚拟机的灵活性,VMwareOracle VirtualBox 可能是更合适的选择,但性能上会略逊色于 WSL2,尤其是在需要大量 GPU 计算的深度学习训练过程中。

方案1:如果电脑上还没有安装Linux,可以安装Ubuntu,然后在Ubuntu环境下运行YOLOv12

1. 下载Ubuntu

  • 可以从 Ubuntu 官方网站 下载最新版 Ubuntu
  • 需要 更稳定的版本,可以选择 Ubuntu 20.04 LTS 或 Ubuntu 22.04 LTS。

2. 创建Ubuntu安装U盘
需要一个 至少 8GB 的 U 盘 来制作 Ubuntu 启动盘:

  • 在 Windows 上下载 Rufus(官网)。
  • 用 Rufus 将 Ubuntu ISO 写入 U 盘,制作可启动盘。
  • 重新启动电脑,进入 BIOS,选择 U 盘启动并安装 Ubuntu。

3. 安装Ubuntu并配置环境
安装完成后,需要:

  • 更新系统:
sudo apt update && sudo apt upgrade -y
  • 安装NVIDIA驱动(如果有独立显卡):
 sudo ubuntu-drivers autoinstall

方案2:在Windows上使用WSL2(适用于开发测试)

  • WSL2 有一定的 GPU 兼容性问题,建议只用于开发和测试,不适用于大规模训练。
  • WSL2 提供接近原生 Linux 环境的性能,特别是在训练深度学习模型时,能够利用 GPU 加速(只要你正确配置了 NVIDIA 驱动、CUDA 和 cuDNN)。对于 YOLOv12 这样的模型训练,GPU 加速至关重要,WSL2 能提供非常好的性能。
  • WSL2 相比虚拟机使用的资源较少,不需要像虚拟机那样分配和管理 CPU、内存等资源,性能更高,尤其是在高负载任务(如图像分类识别训练)下表现优越。
  • 如果不想安装完整的 Linux 系统,可以使用 Windows Subsystem for Linux 2(WSL2) 来运行 Ubuntu:
  • 配置要求:
    操作系统:Windows 10 或 Windows 11(建议使用 WSL2)。
    GPU 支持:安装 NVIDIA 驱动、CUDA 和 cuDNN,确保能够在 WSL2 中使用 GPU。
    深度学习框架:安装 Python、PyTorch(或其他支持 YOLO 的框架)等库。

步骤1:启用 WSL 和虚拟机平台

  1. 以管理员身份打开 PowerShell(Win + X 搜索 “PowerShell”,右键选择 “以管理员身份运行”)
  2. 运行以下命令来启用 WSL2 和虚拟机支持。这个命令会自动安装 WSL2 和 Ubuntu:
wsl --install

在这里插入图片描述

如果你已经安装了 WSL1,需要手动升级到 WSL2:

wsl --set-default-version 2

启用虚拟化(如果未启用的话)
打开“控制面板” -> “程序” -> “启用或关闭 Windows 功能”,勾选 虚拟机平台Windows 子系统 Linux

  1. 重启计算机
    在这里插入图片描述
  2. 确认 WSL 版本
wsl -l -v

如果看到 Ubuntu 旁边写着 2,说明 WSL2 安装成功。
在这里插入图片描述

如果 wsl --install 失败,可以手动启用以下组件:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

步骤2:安装Ubuntu22.04

从 Microsoft Store 或者Google等网站下载并安装 Ubuntu 22.04,点击安装。
Ubuntu22.04下载链接: Ubuntu22.04下载链接Microsoft Store Ubuntu22.04下载链接
在这里插入图片描述
在这里插入图片描述

安装完成后,启动 Linux 发行版,完成初始化设置(创建用户和密码)。
在这里插入图片描述

步骤3:将 WSL 2 设置为默认版本
打开 PowerShell(管理员权限),输入:

wsl --set-default-version 2

步骤4:安装到F盘
WSL 默认将发行版安装在系统盘(C 盘),但你可以指定安装位置。这里在安装完 Ubuntu 22.04 后,迁移到 F 盘,其他盘类似:

  1. 首先,在 F 盘创建一个文件夹,例如 F:\WSL,用来存储 WSL 的 Linux 文件系统。
  2. 然后,在 PowerShell 中输入以下命令,将 Ubuntu 移动到 F 盘。
wsl --export Ubuntu-22.04 F:\WSL\ubuntu22.04.tar
wsl --unregister Ubuntu-22.04
wsl --import Ubuntu-22.04 F:\WSL\Ubuntu-22.04 F:\WSL\ubuntu22.04.tar --version 2

这会将 Ubuntu 迁移到 F 盘并使用 WSL2。
这里,Ubuntu-22.04 是你的 WSL 实例名称,F:\ubuntu-22.04.tar 是你希望保存的目标位置。
迁移完成后可以把tar包删除。
3. 启动 Ubuntu:

wsl

或者:

wsl -d Ubuntu-22.04

在这里插入图片描述

这样,你就可以将 WSL2 安装到 F 盘并在该位置运行 Linux 发行版了。

方案3:使用虚拟机(适用于测试)

虚拟机性能较差,不推荐用于深度学习训练,但适用于测试和开发。
可以在 Windows 或 macOS 上使用 VirtualBoxVMware 安装 Ubuntu:

  • 下载 VirtualBox 或 VMware。
  • 安装 Ubuntu,并分配至少 4GB RAM2 核 CPU(训练模型建议 8GB+)。
  • 安装 YOLOv12。

方案 4:双系统安装 Windows + Ubuntu

如果你需要同时使用 Windows 和 Linux,可以安装 双系统

备份重要数据,然后在 Windows 中使用 磁盘管理 缩小 Windows 分区,留出 50GB 以上的空间用于 Ubuntu。
使用 Ubuntu 启动 U 盘 进行安装,并在分区时选择 “安装 Ubuntu 旁边” 选项。
安装完成后,你可以在启动时选择 WindowsUbuntu

二、安装 NVIDIA CUDA(GPU 加速)和cuDNN

我选择WSL2配置 YOLO 训练 Ubuntu22.04环境(适用于 Ubuntu 20.04/22.04)。
WSL2 结合 NVIDIA GPU 加速 可以让 YOLO 训练更快、更高效。上面已经安装好WSL了,下面是完整的 配置 指南。

如果你想用 GPU 训练 YOLO,必须安装 CUDA 驱动。

1. 先在 Windows 上安装 NVIDIA 驱动
🔗 下载地址:NVIDIA驱动下载地址
2. 确认WSL2识别GPU:
在 Windows 上打开 PowerShell(管理员模式),运行命令检查更新wsl,然后重启 wsl:

wsl --update
wsl --shutdown

在这里插入图片描述

然后Win+R:wsl,重新启动 WSL2 Linux终端(Ubuntu22.04),运行以下命令,检查 NVIDIA GPU
是否可用。
如果能看到显卡信息,说明 WSL2 识别了你的 NVIDIA GPU(显卡驱动),驱动安装正确。

nvidia-smi

在这里插入图片描述

检查 CUDA 是否可用:

nvcc --version

如果 nvcc 命令未找到,需要安装 CUDA Toolkit
安装 CUDA Toolkit

 sudo apt install -y cuda

在这里插入图片描述
3. 在 WSL(Ubuntu 22.04) 里安装 CUDA
NVIDIA 为 WSL2 提供了 专门的 CUDA 工具包,你需要安装 WSL 版 CUDA

  1. 快捷键Win+R,输入wsl,打开 Ubuntu 终端
  2. 添加 NVIDIA 软件包密钥:
# 添加 NVIDIA 源
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb

# 更新包管理器
sudo apt update

在这里插入图片描述

  1. 手动添加CUDA到环境变量:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
  1. 验证 CUDA 安装:
nvcc -V

在这里插入图片描述

  1. 安装 cuDNN
sudo apt install -y libcudnn8 libcudnn8-dev

三、安装 Python 和 PyTorch

首先安装 Python 3.10+ 和 pip:

sudo apt install -y python3 python3-pip

然后安装 PyTorch(适配 CUDA 版本):

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

报错。Ubuntu 22.04 可能使用的是 Python 3.10+,并且默认启用了 PEP 668 保护机制,防止 pip 直接修改系统 Python 依赖。
在这里插入图片描述
解决办法:使用 venv 创建虚拟环境(推荐)
Python 现在建议使用 虚拟环境 安装第三方包,以避免污染系统 Python 依赖。

创建一个 Python 虚拟环境
运行以下命令:

sudo apt update
sudo apt install -y python3-venv

因为YOLO和 PyTorch 目前不完全支持 Python 3.12, 可能会导致兼容性问题
Ubuntu 22.04 的官方源默认提供的是 Python 3.10Python 3.12,你需要手动添加 deadsnakes PPA 才能安装 Python 3.11

解决办法:手动安装Python3.11:
** 1. 添加**deadsnakes PPA

sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update

在这里插入图片描述
在这里插入图片描述
这一步会添加 deadsnakes PPA,它提供多个 Python 版本的安装包。
在这里插入图片描述

** 安装 Python 3.11**

sudo apt install python3.11 python3.11-venv python3.11-dev -y

在这里插入图片描述
安装完成后,检查是否成功:

python3.11 --version

在这里插入图片描述

创建Python虚拟环境:

python3 -m venv ~/pytorch-env

激活虚拟环境

source ~/pytorch-env/bin/activate

(设置Python 3.11 成为 python3 命令的默认版本):

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
sudo update-alternatives --config python3

在这里插入图片描述

在虚拟环境中安装 PyTorch(适配 CUDA12.8 版本)(安不上啊怎么回事/(ㄒoㄒ)不管了)(原来是python版本不兼容 弄了好久)
离线下载对应版本,安装whl安装包pytorch离线安装包下载地址
打开链接,找到版本下载
在这里:
cu118:cuda11.8版本
cp311:Python3.11版本

下载pytorchtorchvisiontorchaudio,下载完成后可以把安装包删除。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下载到yolov12文件夹中

**切换**到whl在的文件夹:
```bash
cd /mnt/c/User/19658/yolov12/yolov12

激活环境后,按照顺序安装三个whl文件:torch,torchvision,torchaudio

四、安装YOLOv12及依赖

在 WSL2 中 默认不包含 git,如果你遇到 git: command not found,需要先安装 Git:

sudo apt update
sudo apt install -y git

在这里插入图片描述

然后再运行 git clone 命令克隆 YOLOv12 仓库:

git clone https://github.com/sunsmarterjie/yolov12.git
cd yolov12

在这里插入图片描述
安装Flash Attention:
下载flash-attn文件:flash-attn2.7.3下载地址
在这里插入图片描述

pip install /path/to/flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl

安装其他依赖

pip install -r requirements.txt

或逐一安装:

pip install timm==1.0.14
pip install albumentations==2.0.4
pip install onnx==1.14.0
pip install onnxruntime==1.15.1
pip install pycocotools==2.0.7
pip install PyYAML==6.0.1
pip install scipy==1.13.0
pip install onnxslim==0.1.31
pip install onnxruntime-gpu==1.18.0
pip install gradio==4.44.1
pip install opencv-python==4.9.0.80
pip install psutil==5.9.8
pip install py-cpuinfo==9.0.0
pip install huggingface-hub==0.23.2
pip install safetensors==0.4.3
pip install numpy==1.26.4

如果你需要 OpenCV 进行数据增强:

pip3 install opencv-python-headless

五、验证YOLO训练环境

确保 PyTorch 能够使用 GPU:

python3 -c "import torch; print(torch.cuda.is_available())"

如果返回 True,说明 PyTorch 识别到了 GPU。

测试 YOLO 是否可用:

python3 detect.py --weights yolov12.pt --img 640 --source data/images

如果能看到推理结果,说明 YOLO 运行正常。

六、未来训练YOLO

可以使用以下命令训练 YOLO:

python3 train.py --img 640 --batch 16 --epochs 300 --data data.yaml --weights yolov12.pt --device 0

这里:
–img 640:输入图片尺寸
–batch 16:批量大小(根据显存调整)
–epochs 300:训练 300 轮
–data data.yaml:数据集配置文件
–weights yolov12.pt:预训练权重
–device 0:使用 GPU 训练


还可以通过浏览器或 API 请求来使用该服务进行推理。

  1. 启动 Web 服务: 运行 app.py 来启动服务。
python3 app.py

你应该会看到类似以下内容的输出,说明服务器已经启动:

 Running on http://127.0.0.1:5000 (Press CTRL+C to quit)

这里的 5000 是默认的端口,你可以根据需要修改。如果是其他端口,则会显示相应的端口号。

  1. 通过浏览器或 HTTP 请求进行推理
    浏览器访问: 在浏览器中输入以下 URL:
 http://127.0.0.1:5000

如果该 Web 服务提供了一个用户界面,你应该能够看到一个输入框来上传图片或其他方式进行推理。
通过 API 请求进行推理: 如果 app.py 提供 API 接口,你可以使用 curl 或 Python 脚本来发送图片进行推理。
例如,使用 curl 上传图片进行推理:

curl -X POST -F "file=@/path/to/image.jpg" http://127.0.0.1:5000/predict

请根据 app.py 中的 API 路径修改。

  1. 检查 app.py 代码了解 API 路由
    如果你不确定 app.py 提供了哪些功能或路由,可以打开 app.py,查看其定义的路由和推理方式。例如,常见的 Flask 或 FastAPI 项目会包含如下代码:
from flask import Flask, request, jsonify
import torch

app = Flask(__name__)

@app.route('/predict', methods=['POST'])
def predict():
    file = request.files['file']
    # 进行推理并返回结果
    result = model_inference(file)  # 你自己的推理函数
    return jsonify(result)

if __name__ == "__main__":
    app.run(debug=True)

通过查看 app.py 中的代码,你可以确认 Web 服务的端点(例如 /predict),然后根据这些信息构建 API 请求。

总结

这是我自己一步步摸索出来的wsl的安装和YOLOv12的安装步骤,有不对之处请一起交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值