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
注意: 如果你没有NVIDIA显卡,或者CUDA版本低于11.7,那就装CPU版本:
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能吃的格式。那个坑更多,我到时候一个个给你拆解。