Files
admin 87ab06221c 综合训练(多物种合并模型)全链路:合并打包/独立版本序列/App 覆盖互斥 + 管理端发布入口
- 后端:/admin/trainings/combined 发起(≥2 数据集、类别重映射、防重名、负样本单份);
  model_training/model_version 加 kind+dataset_ids(迁移 v14),综合任务 dataset_id=0、
  文件基名 combined(_n)、版本序列独立;训练列表补 published 标记
- 管理端:数据训练页工具栏发起综合训练;横幅常驻进行中任务 + 每档最近一条已结束任务,
  成功未发布给「发布模型」入口(可关闭收起)
- App:目录解析 kind/datasetIds、激活覆盖互斥、自动更新退场改目标档待办横幅手动一键下载
2026-09-09 15:45:51 +08:00

30 lines
2.3 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package entity
import "github.com/gogf/gf/v2/os/gtime"
// ModelTraining 训练任务:runner 启动训练进程,轮询解析 epoch 日志更新进度/指标,
// 日志尾部截断存 log_tail;pid 用于取消与存活探测。
// 状态机 queued → running → success/failedqueued=GPU 忙排队,轮询晋级启动)。
type ModelTraining struct {
Id int64 `json:"id" orm:"id" description:"自增主键"`
Name string `json:"name" orm:"name" description:"任务名"`
Status string `json:"status" orm:"status" description:"queued|running|success|failed"`
Variant string `json:"variant" orm:"variant" description:"档位 s(高识别)|n(高性能)"`
DatasetId int64 `json:"datasetId" orm:"dataset_id" description:"来源数据集(综合任务=0)"`
Kind string `json:"kind" orm:"kind" description:"species 单物种|combined 多物种综合"`
DatasetIds string `json:"datasetIds" orm:"dataset_ids" description:"综合任务覆盖的数据集 id JSON 数组"`
Imgsz int `json:"imgsz" orm:"imgsz" description:"训练分辨率"`
Epochs int `json:"epochs" orm:"epochs" description:"目标轮数"`
Batch int `json:"batch" orm:"batch" description:"batch size"`
Device string `json:"device" orm:"device" description:"训练设备"`
CurrentEpoch int `json:"currentEpoch" orm:"current_epoch" description:"当前轮数"`
TotalEpochs int `json:"totalEpochs" orm:"total_epochs" description:"实际总轮数(完成时写)"`
Metrics string `json:"metrics" orm:"metrics" description:"JSON {p,r,map50}"`
LogTail string `json:"logTail" orm:"log_tail" description:"日志尾部(截断)"`
Pid int `json:"pid" orm:"pid" description:"训练进程 pid"`
Error string `json:"error" orm:"error" description:"失败原因"`
StartedAt *gtime.Time `json:"startedAt" orm:"started_at" description:"开始时间"`
FinishedAt *gtime.Time `json:"finishedAt" orm:"finished_at" description:"结束时间"`
CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"`
}