手把手教你如何用YOLO训练一个自己的识别验证码模型
https://github.com/ZKY-DW-Wait-me/YOLO-CAPTCHA
一、 环境准备
1. 安装 Miniconda
- 访问 Miniconda 下载页面。
- 找到 Quickstart install instructions,选择 Windows PowerShell。
- 在 PowerShell 中依次复制并运行以下命令进行一键安装:
1 | Invoke-WebRequest -Uri "https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe" -OutFile ".\miniconda.exe" |
2. 检查显卡驱动
打开一个新的 PowerShell 窗口,运行以下命令查看 CUDA 版本(例如你的版本为 13.1):
1 | nvidia-smi |
二、 创建虚拟环境
打开 Anaconda PowerShell Prompt,依次执行以下步骤:
1. 接受 Anaconda 条款
若直接创建环境提示授权问题,请先运行:
1 | conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main |
2. 创建并激活环境
创建 Python 3.12 虚拟环境:
1 | conda create -n yolo_captcha python=3.12 -y |
[!note]
激活后,命令行左侧的(base)会变为(yolo_captcha)。
三、 安装核心依赖
根据 PyTorch 官网建议及你的显卡配置进行安装。
1. 安装 PyTorch
输入以下命令强制安装指定版本(对应 CUDA 12.8,如需其他版本请参考官网):
1 | pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 --force-reinstall |
2. 安装本地库与验证
安装 YOLO 核心库,并验证显卡是否可用:
1 | pip install ultralytics |
[!success]
如果返回True,则代表显卡驱动与 PyTorch 版本匹配成功。
四、 数据集处理(数据集链接在文章末尾)
请确保数据集存放路径中不含中文或空格。
1. 划分数据集
在数据集目录下运行脚本,生成 ImageSets/Main/ 文件夹(含 train.txt, val.txt, test.txt):
1 | python split.py |
2. 格式转换 (VOC 转 YOLO)
执行转换脚本,将 XML 标签转换为 YOLO 格式:
1 | python voc2yolo.py |
- 动作: 脚本会将
JPEGImages中的.png转为images/下的.jpg。 - 动作: 脚本会将
Annotations中的 XML 标签转为labels/下的.txt。 - 确认: 检查
D:\YOLO\labels\train\下的 TXT 文件,内容应类似0 0.5123 0.4123...。
五、 编写配置文件
在 split.py 同级目录下创建以下两个文件。
1. 配置文件 captcha.yaml
1 | path: D:/YOLO |
2. 训练脚本 start_train.py
1 | from ultralytics import YOLO |
六、 执行训练
1. VS Code 环境配置
- 使用 VS Code 打开项目文件夹。
- 按
Ctrl + Shift + P,输入Python: Select Interpreter。 - 选择包含
yolo_captcha字样的环境路径。
2. 启动训练
在 Anaconda PowerShell Prompt 中定位到目录并运行:
1 | d: |
附录:低配/无显卡模式(CPU 训练)
若显卡不支持或驱动有问题,可使用以下 start_train.py 配置进行 CPU 训练:
1 | from ultralytics import YOLO |
运行命令:python start_train.py
等待训练成功,5060 8G跑得有点慢,有没有佬友能后来居上超过先训练完的 :distorted_face:
数据集链接:
访问 点选验证码数据集(目标检测数据集+图标相似度数据集
数据集来源Github,感谢开源贡献
- 标题: 手把手教你如何用YOLO训练一个自己的识别验证码模型
- 作者: ZKY
- 创建于 : 2026-02-10 22:50:00
- 更新于 : 2026-02-10 23:38:21
- 链接: https://blog.zky-dw.top/手把手教你如何用YOLO训练一个自己的识别验证码模型/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。