本平台主要基于Gradio Python库构建,旨在为用户提供一个通用、高效的脚本执行环境。作为模型训练的第一站,我们支持多人多任务同时操作,确保工作效率最大化。
Gradio ✨✨ | FiftyOne ✨✨ | MMDET ✨✨ | Github ✨✨ ## 核心功能特色:✦ FiftyOne 数据管理:灵活导入数据,实现数据库的精细化管理。支持 VIA / COCO / TXT(YOLO) 三种标注格式一键入库。数据的导出、删除,以及有效与空图的快速检查。标签校验与发标注图等任务一键完成。
✦ AI 自动标注:支持手动上传模型进行预标注,自动生成 VIA 与 COCO 文件,可一键执行数据分析与数据管理任务。支持模型停止并释放 GPU 显存。
✦ 数据统计分析:对 COCO 格式文件进行深入分析,精确统计图片与标签的数量及其分布(散点图、折线图、条形图),为模型训练前提供有力支持。
✦ 离线数据增强:提供丰富多样的数据增强选项,包括偏移、明亮度调整、翻转等,支持从单张到多张图片的灵活增强策略。支持提交后台异步任务。
✦ 提取标注标签:可选择保留图像中现有标签,或进行转换,支持一键导出为 COCO 格式,满足不同需求。
✦ JSON 文件处理:提供 VIA 与 COCO 格式之间转换,以及 VIA 和 YOLO 格式之间的转换。via2coco 转换特别优化,自动过滤无效和空图,确保 image_id 为整数型。
平台将持续迭代,引入更多实用功能,助力您的数据工作流程更加流畅和高效。
- Docker 化部署:新增 Dockerfile + docker-compose.yml,支持 GPU 透传一键部署
- 异步任务队列:后台任务系统,支持数据增强/AI 预标注提交后台执行,带进度追踪
- 操作审计日志:JSON Lines 审计日志,记录操作人/操作类型/时间/目录
- 单元测试覆盖:pytest 测试 VIA/COCO 核心函数和边界场景
- MongoDB 专用端口:MongoDB 独立运行于 8003 端口,FiftyOne 桌面端与 Gradio 后端共享同一数据库
- MMDetection 3.x 兼容:推理代码适配 MMDetection 3.3 API(DetDataSample 等)
- Bug 修复:COCO 统计支持官方格式、GPU 0 可选、过期 import 路径修正
- 目录整理:scripts/ 子目录去除 datatools_ 前缀,命名统一
- 首次重构:配置系统从 YAML 迁移到 JSON,main.py 拆分重构(607→265 行),FiftyOne 状态健康检查,Gradio 4.x API 兼容,日志系统统一
- 创建虚拟环境(Python 3.10):
conda create -n py310_gdt python==3.10 -y
conda activate py310_gdt
- 安装依赖:
pip install torch==2.1.2 torchvision==0.16.2
pip install gradio imgaug GPUtil
pip install mmdet==3.3.0
pip install openmim
mim install mmcv==2.1.0
pip install fiftyone-desktop
- 修改配置文件
config/config.json中的服务器地址和数据路径:
{
"server": {
"host": "127.0.0.1",
"port": 8001
},
"paths": {
"default_label": "你的数据目录"
}
}MongoDB 和 FiftyOne App 配置在 config/fiftyone.json 中:
{
"database_dir": "scripts/fiftyone/fo_data",
"default_app_address": "127.0.0.1",
"default_app_port": 8002,
"database_uri": "mongodb://127.0.0.1:8003/?directConnection=true"
}- 启动服务:
conda activate py310_gdt
python main.py
docker-compose up -d| 服务 | 端口 | 说明 |
|---|---|---|
| Gradio 主界面 | 8001 | Web UI,浏览器访问 http://127.0.0.1:8001 |
| FiftyOne App | 8002 | 可视化数据浏览器 |
| MongoDB | 8003 | 数据库,FiftyOne 后端存储 |
