最近想学习下YOLOv8
模型,在电脑中的启用wsl2
,并在wsl
中配置YOLOv8
的环境,记录下环境配置的步骤。
1.启用WSL
首先确定自己电脑主板BIOS
里的虚拟化是否开启了,我这里是AMD
的CPU,将BIOS
中的SVM
开启。
然后在windows的控制面板-程序-程序和功能-启用或关闭Windows功能
中,开启Virtual Machine Platform
和适用于Linux的Windows子系统
,至于Hyper-V
,ChatGPT提示不是wsl
必须的项。
完成上面的设置后,打开windows终端
,执行命令:
wsl --install
一键安装wsl2,安装后我执行了更新命令,更新到了最新版:
wsl --update
2.配置wsl使用windows的代理
如果windows本身有使用网络代理,安装上wsl
,在终端进入wsl
后,会有一句代理的提示,这是因为wsl2
使用的是NAT网络,无法使用windows的代理。进行代理配置,在windows中,系统盘-用户-用户名文件夹下(比如C:/用户/Tai)
创建.wslconfig
文件,并写入配置:
[wsl2]networkingMode=mirroredautoProxy=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-studypython3 -m venv venvsource venv/bin/activate
后续就可以进入这个目录,并使用source
命令进入虚拟环境,虚拟环境可以隔离各个项目,保证环境的干净。
3.2 安装PyTorch
我这里是2070的显卡,所以安装CUDA版本,可以在PyTorch官网pytorch.org/get-started…,根据自己的配置选择,我这里是Linux + pip + Python + CUDA 12.8
上面启用虚拟环境后,执行以下:
pip install --upgrade pippip 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
的环境就搭建好了,后面准备在学习具体的应用。