基于 Gradio 和 Ultralytics 的 YOLO 模型可视化训练管理平台,提供数据集管理、模型下载、训练配置等功能。
- 🗂️ 数据集管理: 支持压缩包上传、结构验证、元数据管理
- 🤖 模型管理: 预训练模型下载、训练模型管理、统一元数据
- 🏋️ 训练配置: 任务约束选择、超参数配置、实时 TOML 预览
- 📊 可视化界面: 基于 Gradio 的现代化 Web 界面
- 🔄 多任务支持: 图像分类、目标检测、图像分割、关键点跟踪、旋转框检测
- Python 3.13+
- PyTorch (建议 CUDA 支持)
- 8GB+ RAM (训练时)
# 克隆项目
git clone <repository-url>
cd yoloradio
# 安装依赖 (使用 uv)
uv sync
# 或使用 pip
pip install -e .# 激活虚拟环境 (uv)
source .venv/bin/activate # Linux/Mac
# 或
.venv\Scripts\activate # Windows
# 启动应用
python main.py访问 http://localhost:7860 开始使用。
yoloradio/
├── main.py # 应用入口
├── yoloradio/ # 核心模块
│ ├── __init__.py
│ ├── paths.py # 路径配置
│ ├── utils.py # 工具函数
│ ├── pages_home.py # 主页
│ ├── pages_datasets.py # 数据集管理
│ ├── pages_models.py # 模型管理
│ ├── pages_train.py # 训练配置
│ ├── pages_val.py # 验证页面
│ ├── pages_export.py # 导出页面
│ └── pages_quick.py # 快速应用
├── Datasets/ # 数据集目录 (git ignored)
├── Models/ # 模型目录 (git ignored)
│ ├── pretrained/ # 预训练模型
│ └── trained/ # 训练模型
├── runs/ # 训练日志 (git ignored)
├── pyproject.toml # 项目配置
└── README.md # 项目文档
- 上传数据集: 支持 .zip/.tar.gz 格式,自动验证结构
- 数据集类型:
- 图像分类 (classify)
- 目标检测 (detect)
- 图像分割 (segment)
- 关键点跟踪 (pose)
- 旋转检测框 (obb)
- 元数据: 自动生成
.yml文件记录类型、描述等信息
- 预训练模型: 从 Ultralytics 下载 YOLOv8/v11 预训练权重
- 训练模型: 管理本地训练生成的模型
- 元数据: 记录任务类型、版本、描述等信息
- 任务选择: 选择任务类型,自动过滤兼容的数据集和模型
- 超参数: 核心参数 + 高级参数折叠面板
- 实时预览: 参数变更实时生成 TOML 配置预览
paths.py: 定义项目路径常量utils.py: 核心工具函数 (文件操作、数据集处理、模型管理)pages_*.py: 各页面渲染逻辑
- 新增页面: 在
yoloradio/下创建pages_xxx.py,实现render()函数 - 注册路由: 在
main.py中添加路由配置 - 工具函数: 在
utils.py中添加通用功能
数据集元数据 (Datasets/<name>.yml):
type: detect # 任务类型
name: my_dataset # 数据集名称
description: "..." # 描述
created_at: "..." # 创建时间模型元数据 (Models/*/model.yml):
task: detect # 任务类型
version: v11 # YOLO版本
size: n # 模型大小
description: "..." # 描述
created_at: "..." # 创建时间- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- Ultralytics - YOLO 实现
- Gradio - Web 界面框架