2. 环境搭建与依赖安装:Ubuntu/Conda环境配置、PyTorch安装、YOLOv6源码下载与依赖安装、验证环境
好,咱们正式开始动手了。
这一章,说白了就是给你的电脑“装上武器”。环境搭不好,后面全是坑。我见过太多同学在环境上卡一整天,最后发现是Python版本不对。嗯,咱们一步步来,稳一点。
2.1 Ubuntu下的Conda环境配置
我个人习惯用Miniconda,而不是Anaconda。为什么?轻量,够用。Anaconda里一堆包咱们用不上,还占空间。
先下载Miniconda安装脚本:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
安装过程中一路yes就行。装完后记得重启终端,或者执行:
source ~/.bashrc
验证一下:
conda --version
看到版本号就对了。
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
2.2 创建独立的虚拟环境
为什么要用虚拟环境?你想想看,不同项目依赖的包版本可能打架。我吃过这个亏——有一次YOLOv5和YOLOv6的PyTorch版本冲突,折腾了两小时。
创建一个专门给YOLOv6用的环境:
conda create -n yolov6 python=3.8 -y
conda activate yolov6
Python版本我推荐3.8。3.9以上有些旧版依赖会报错,3.7又太老。3.8是经过验证的黄金版本。
2.3 PyTorch安装
这是最关键的一步。PyTorch版本选不对,后面训练直接崩。
先看看你的显卡:
nvidia-smi
看右上角的CUDA Version。比如显示11.7,那你就装对应版本的PyTorch。
我个人习惯去PyTorch官网(pytorch.org)用命令生成器。但这里直接给命令:
| CUDA版本 | 安装命令 |
|---|---|
| 11.7 | pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117 |
| 11.8 | pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118 |
| 12.1 | pip install torch==2.1.0+cu121 torchvision==0.16.0+cu121 --extra-index-url https://download.pytorch.org/whl/cu121 |
pip install torch torchvision
但说实话,CPU训练YOLOv6会慢到让你怀疑人生。我建议至少搞一张GTX 1060以上的卡。
装完后验证:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
如果输出True,恭喜你,显卡识别成功。
2.4 YOLOv6源码下载与依赖安装
源码直接从GitHub拉:
git clone https://github.com/meituan/YOLOv6.git
cd YOLOv6
然后安装依赖:
pip install -r requirements.txt
这里有个坑——我曾经遇到过。requirements.txt里有些包版本写死了,跟你的环境可能冲突。比如opencv-python,有时候装不上。解决办法:
pip install opencv-python-headless
嗯,这个头文件版本更轻量,够用。
另外,如果你要用TensorRT加速推理,还得装:
pip install tensorrt
不过这个咱们后面再细说,先跑通基础流程。
2.5 验证环境是否正常
环境搭没搭好,跑个demo就知道了。
YOLOv6源码里自带了一个简单的测试脚本。先下载预训练权重:
wget https://github.com/meituan/YOLOv6/releases/download/0.4.0/yolov6s.pt
然后跑推理:
python tools/infer.py --weights yolov6s.pt --source data/images/
如果没报错,并且在runs/inference/目录下生成了带检测框的图片,那就成了。
- conda环境激活成功(终端前面显示(yolov6))
- PyTorch能调用GPU(torch.cuda.is_available()为True)
- YOLOv6推理无报错
说实话,这三步走完,你的环境就稳了。后面训练模型的时候,基本不会因为环境问题翻车。
好,环境搭完了。下一章咱们聊聊数据准备——说白了,就是怎么把你的工业图片变成YOLOv6能吃的格式。那个坑更多,我到时候一个个给你拆解。