【YOLOv8学习】Windows中启用wsl2,并配置yolov8环境

335 阅读3分钟

最近想学习下YOLOv8模型,在电脑中的启用wsl2,并在wsl中配置YOLOv8的环境,记录下环境配置的步骤。

1.启用WSL

首先确定自己电脑主板BIOS里的虚拟化是否开启了,我这里是AMD的CPU,将BIOS中的SVM开启。

然后在windows的控制面板-程序-程序和功能-启用或关闭Windows功能中,开启Virtual Machine Platform适用于Linux的Windows子系统,至于Hyper-V,ChatGPT提示不是wsl必须的项。

hyper-V.jpg

完成上面的设置后,打开windows终端,执行命令:

wsl --install

一键安装wsl2,安装后我执行了更新命令,更新到了最新版:

wsl --update

2.配置wsl使用windows的代理

如果windows本身有使用网络代理,安装上wsl,在终端进入wsl后,会有一句代理的提示,这是因为wsl2使用的是NAT网络,无法使用windows的代理。进行代理配置,在windows中,系统盘-用户-用户名文件夹下(比如C:/用户/Tai)创建.wslconfig文件,并写入配置:

[wsl2]
networkingMode=mirrored
autoProxy=true

在终端中执行:

wsl --shutdown

再重新进入wsl

3.YOLOv8环境配置

wsl中执行nvidia-smi,看是否有显卡信息输出,显卡驱动大于510,则不需要安装CUDA Toolkit for WSL,否则需要安装。

3.1 安装 Python 和 pip,并创建虚拟环境

执行如下命令:

sudo apt update && sudo apt install -y python3 python3-pip python3-venv

在用户目录下创建YOLOv8的文件夹,便于管理:

mkdir -p ~/projects/yolov8-study

进入该目录下,创建虚拟环境并启用:

cd ~/projects/yolov8-study
python3 -m venv venv
source venv/bin/activate

后续就可以进入这个目录,并使用source命令进入虚拟环境,虚拟环境可以隔离各个项目,保证环境的干净。

3.2 安装PyTorch

我这里是2070的显卡,所以安装CUDA版本,可以在PyTorch官网pytorch.org/get-started…,根据自己的配置选择,我这里是Linux + pip + Python + CUDA 12.8

上面启用虚拟环境后,执行以下:

pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

成功执行后,输入命令验证Pytorch是否支持GPU:

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

显示true就表示配置成功。

3.3 安装YOLOv8(Ultralytics)

执行命令:

pip install ultralytics

验证安装:

yolo

会显示YOLO的CLI帮助信息。

3.4 运行 YOLOv8 示例(测试 GPU)

下载并运行官方模型推理示例(这个命令会下载一张bus的照片,以及生成结果文件,可以在yolov8-study文件夹执行,以免目录和文件乱了):

yolo task=detect mode=predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

如果成功运行且速度较快(几百毫秒内),说明 GPU 正常工作。

3.5常见问题

  • nvidia-smi 报错:说明 NVIDIA 驱动未完全支持 WSL GPU,确保 Windows 和驱动都是最新。
  • PyTorch 不识别 CUDA:可能安装的是 CPU 版本,请使用 --index-url 安装正确 CUDA 版本。
  • 下载模型失败:检查网络代理或改用国内镜像。

我上面的虚拟环境,以及后面的yolo命令都是在yolov8-study文件目录下执行的,因为会生成文件夹,在主目录执行的话,感觉目录很乱,以下是ChatGPT推荐的目录结构

yolov8-study/
├── venv/                  # 虚拟环境目录(可选放)
├── data/                  # 自定义数据集
│   ├── images/
│   └── labels/
├── models/                # 保存训练好的模型.pt
├── runs/                  # 推理和训练输出
├── data.yaml              # 数据集配置
├── train.sh               # 可选的训练脚本
└── README.md              # 记录项目说明

至此YOLOv8的环境就搭建好了,后面准备在学习具体的应用。