开放代码社区 › Myolotrain - YOLO视觉模型训练平台

Myolotrain - YOLO视觉模型训练平台

基础设施与运维Python

Myolotrain - YOLO视觉模型训练平台 Myolotrain是一个可视化管理yolo视觉模型训练的系统,为计算机视觉任务提供了直观的图形界面。该平台集成了数据集管理、模型管理、训练管理和目标检测功能,支持windows、linux、docker等多种部署方式,使用户能够轻松地训练和部署 YOLOv8 模型, 支持CPU和GPU,使用tensorboard实时查看训练进度,具备数据集自动分割、数据集增强、实时检测、动态轨迹和预测等。

AI/机器学习Web后端前端工具数据库
作者:用户6868语言:Python更新:2026-10-27
仓库地址
https://gitee.com/rock_kim/Myolotrain.git

前往原仓库

README

# Myolotrain - YOLO视觉模型训练平台

[![Gitee star](https://gitee.com/rock_kim/Myolotrain/badge/star.svg?theme=gvp)](https://gitee.com/rock_kim/Myolotrain/stargazers)
[![Gitee fork](https://gitee.com/rock_kim/Myolotrain//badge/fork.svg?theme=gvp)](https://gitee.com/rock_kim/Myolotrain/members)


Myolotrain是一个可视化管理yolo视觉模型训练的系统,为计算机视觉任务提供了直观的图形界面。该平台集成了数据集管理、模型管理、训练管理和目标检测功能,支持windows、linux、docker等多种部署方式,使用户能够轻松地训练和部署 YOLOv8 模型, 支持CPU和GPU,使用tensorboard实时查看训练进度,具备数据集自动分割、数据集增强、实时检测、动态轨迹和预测等。

# 重要!必看!

#### :exclamation: 重要提醒:2026年1月6日更新的代码中新功能修改了部分功能的数据结构,如果您有未完成的标注、训练,建议您先完成后再替换新版代码,同时建议您在升级前进行数据备份。

- :construction:  **本项目目前处于早期开发阶段,现阶段功能并不完整,不建议用于生产环境,开发阶段API、功能和文档会频繁变动。欢迎参与开发、试用、提Issue 或提交PR。**

- :bangbang: **本项目独立开发的功能完全开源、不限制商用,因目前代码中的训练、推理等功能使用Ultralytics,具体开源协议请遵循Ultralytics,由于使用本项目而产生的商业纠纷或侵权行为一概与本项目开发者无关,请自行承担法律风险。**

- 自2025年10月后的代码,python版本须为3.12,目前此平台在python3.12,torch2.6.0、CUDA12.6环境下开发与测试,若您的环境无法安装以上版本,需自行解决numpy、onnxruntime等依赖版本问题(numpy版本对照:https://numpy.org/doc/  onnxruntime版本对照:https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html)



- 常见问题:

<details>
<summary> - 问题1:已经安装了CUDA,但是新建训练任务无法识别GPU:</summary>

> 检查是否是项目的虚拟环境,python、CUDA、torch版本是否适配,建议:先检查CUDA版本,按CUDA版本找适配的torch版本,按torch版本安装适配的python。

</details>

<details>
<summary> - 问题2:有其他平台标注了一半的数据,想继续标注:</summary>

> 标注格式仅支持txt格式,并且严格遵循最新标准(例如OBB旋转框,目前仅支持4个点的坐标,8个数值,老方法不支持),新建两个目录images、labels和一个classes.txt(一行一个类别和已经标注的顺序一致),压缩成ZIP上传在线标注、勾选【导入原标注】,导入后检查类别顺序是否正确

</details>


## 致谢

感谢所有开发者的帮助与支持

### 更新日志:

<details>
<summary>-20260130  在线标注新增SAM3分割功能,在实例分割项目中可以使用SAM3进行实例分割</summary>

> - 1.功能说明:通过配置SAM3后,实现点选、框选、文本对图片进行SAM3分割,提高标注效率
> - 2.注意事项:
> - ①SAM3模型官方要求需要申请(如果在huggingface申请,不要选国区,一般不会通过)或自行下载
> - ②下载的权重文件不要改名保持原名称,一般为sam3.pt(或带版本)
> - ③如果您是更新代码,确保ultralytics版本为最新(SAM3要求8.3.237以上)手动安装依赖:timm>=1.0.24 
</details>

<details>
<summary>-20260123  新增导入原标注、标注项目合并功能</summary>

> - 1.导入原标注:新建在线标注项目时,可以勾选“导入原标注”,会自动解析ZIP目录(根目录下仅保留images/labels两个目录和classes.txt文件)、原有数据集的train目录下的图片和标注。
> - 2.标注项目合并功能:可以选择相同类型、相同类别数量(不会验证标注类别是否相同,只验证数量)的标注项目进行合并,可以自动处理重名(改名、覆盖、跳过),一定要保证所合并的两个项目类别相同;
> - 3.修复了新建各个功能项目后,按钮状态不更新的问题;

</details>


<details>
<summary>-20260116  新增模型结构剪枝、对比测试功能,修复部分错误</summary>

> - 1.增加模型测试对比功能,可选择两个同类型模型进行检测并对比;
> - 2.更新ultralytics,已支持yolo26推理和训练,手动更新:pip install --upgrade ultralytics;
> - 3.增加模型剪枝功能,支持非结构化剪枝和自定义的结构化剪枝,手动安装:pip install torch-pruning;
> - 4.修复数据集分割时特定名称的图片会出现名称错误、推理时json格式不全的问题。

</details>


<details>
<summary>-20260106  新增增加实例分割、OBB(旋转框)、Pose(关键点)三个类别的在线标注、训练、推理功能</summary>

> - 1.增加实例分割、OBB(旋转框)、Pose(关键点)三个类别的在线标注、训练、推理功能;
> - 2.解决了系统BUG;

</details>

<details>
<summary>-20251031  拆分main.js文件,增加多GPU/自动GPU训练,增加训练日志下载</summary>

> - 1.拆分main.js文件为多个js,包括在线标注、模型管理、训练管理、视频流、用户管理、视频管理等;
> - 2.新增多GPU训练,自动GPU训练功能;
> - 3.新增训练日志下载功能;
> - 4.修复继续训练检查点错误的问题;

</details>

<details>
<summary>-20251018  优化在线标注功能【开发者 @Tomle 贡献】</summary>

> - 1.调整高分辨率或浏览器有缩放的情况下,目标绘制框与十字标记错位问题;
> - 2.调整目标绘制完毕后主动退出编辑模式,无需再次点鼠标击标记框之外的位置
> - 3.调整绘制目标进入编辑模式的方法为三种:
> - 3.1点击左侧标注目标列表内的项目;
> - 3.2点击绘制目标左上角的文本标签;
> - 3.3.按住CTRL,鼠标点击绘制目标;
> - 4.调整绘制目标在编辑模式下鼠标的显示样式;

</details>

<details>
<summary>-20251015 优化在线标注功能,提高标注效率</summary>

> - 优化在线标注功能,增加辅助线、标注框选择与删除、增加标注框ID、鼠标滚轮放大缩小图片 。

</details>

<details>
<summary>-20251013 增加账户管理功能,优化提取帧功能</summary>

> - 开发者 @Tomle 完成:增加【用户管理】功能,初始账号密码admin/admin@123, **请手动更新依赖** 。
> - 优化视频处理-提取帧功能,增加下载、预览、删除服务器缓存功能
> - 更新依赖版本,删除onnxruntime(需手动安装),更新docker安装, **非docker用户需要手动安装onnxruntime,CPU版:onnxruntime>=1.21.0,GPU版:onnxruntime-gpu>=1.21.0** 并确保CUDA版本在12.0以上,python为3.12。

</details>


<details>
<summary>-20250903 更新ultralytics版本、解决手动中断任务继续训练日志监控的问题</summary>

> - !!更新ultralytics 8.3.191,如tensorboard无法生成文件,请务必更新!手动更新亦可,同时手动启用tensorboard,命令行:yolo settings tensorboard=True
> - 解决手段中断训练任务后,点击继续训练新生成的日志无法展示的问题,修改为在原日志上继续写入
> - 解决已完成的训练任务重复轮询的问题

</details>

<details>
<summary>-20250901 修复数据集分割功能标签文件识别BUG</summary>

> - 修复数据集分割功能中,由于文件名称问题导致无法分割标签文件的BUG

</details>

<details>
<summary>-20250827 新增一级功能【在线标注】,解决提取帧问题</summary>

> - 新增一级功能【在线标注】主要功能:在线标注,支持w\s、a\d快捷键快速切换,利用现有模型自动标注(AI自动标注功能),一键导出标注信息(不包含原图片),导出为数据集(包含图片)等,具体介绍详见功能介绍板块
> - 临时解决视频处理->提取帧问题
> - 关闭视觉追踪模块

</details>

<details>
<summary>-20250825 新增流媒体,优化训练服务错误提示</summary>

> - 增加更多的日志捕获,解决训练状态异常问题
> - 视频处理->实时检测功能中新增流媒体功能,支持RTSP、RTMP、HTTP、摄像头

</details>

<details>
<summary>-20250513 增加华为昇腾NPU支持、增加新的目标追踪功能</summary>

> 关于昇腾NPU支持(仅支持linux部署使用):
> - 通过torch_npu实现(深度学习框架依旧为pytorch,暂不支持MindSpore)
> - 需要手动安装:torch_npu(必须)、acl(必须)、onnxruntime-ascend(可选安装,后期扩展onnx格式数据集以及MindSpore架构)
> - torch_npu下载地址:https://gitee.com/ascend/pytorch/releases
> - 在新建训练任务选择设备类型“华为昇腾”并“获取昇腾信息”确认NPU信息获取无误后启动训练即可

</details>

### 注意事项 :exclamation:  :exclamation:  :exclamation: :
 **(20250418)目前暂不支持yolov5,支持yolov8以上** 

 **(20250418)在根目录有yolov8n、yolov11n两个预训练模型,datasets_import下有测试数据集,供测试使用** 

**须手动安装torch环境(华为昇腾NPU环境请参考更新日志)**

如果torch相关依赖安装失败,请手动安装:

1、命令行安装(参考Pytorch官网): https://pytorch.org/get-started/locally/

windwos环境示例:
```
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
```

2、手动下载地址:https://download.pytorch.org/whl/cu126 (cu126代表CUDA12.6)

手动请在下载whl时注意,torch-2.6.0+cu126-cp312-cp312-win_amd64.whl示意:2.6.0代表torch版本,cu126代表CUDA12.6版本,cp312代表pyhton3.12版本

 _此说明仅适用于GPU训练环境,如您为CPU环境,无需参考以上内容_ 

## 1. 功能介绍
### 1.1 技术特点

- **后端**:FastAPI框架,提供高性能的RESTful API
- **前端**:Bootstrap 5和现代JavaScript,提供响应式用户界面
- **数据库**:PostgreSQL,提供可靠的数据存储
- **模型引擎**:Ultralytics,提供先进的目标检测能力
- **可视化**:TensorBoard,提供实时训练监控和指标可视化

#### 1.1.1 主要特性

- **直观的Web界面**:基于FastAPI和现代前端技术构建的用户友好界面
- **多种数据集导入方式**:支持ZIP上传和服务器本地数据集
- **数据集分割**:支持自动分割数据集为训练集、验证集和测试集
- **灵活的训练配置**:支持矩形训练模式、GPU显存限制和多卡选择
- **GPU加速**:完整支持NVIDIA GPU加速训练
- **实时训练监控**:通过TensorBoard可视化训练过程和指标
- **模型测试**:内置图像和视频检测功能
- **多平台支持**:支持Windows、Linux和Docker部署
- **数据库集成**:使用 PostgreSQL 数据库存储数据集、模型和任务信息
- **异步处理**:支持长时间运行的训练和检测任务的异步处理
- **多用户支持**:支持多用户并发使用
- **可扩展性**:模块化设计,易于扩展新功能

### 1.2 核心功能

#### 1.2.1 在线标注

- **添加标注项目**:支持从系统数据集、本地上传图片压缩包(ZIP)自动解压(自动识别图片数量)、选择服务器目录方式导入需标注图片
- **AI自动标注**:支