版本260406
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
using OrpaonVision.Core.Results;
|
||||
using OrpaonVision.Model.Training;
|
||||
|
||||
namespace OrpaonVision.ConfigApp.Infrastructure.Services;
|
||||
|
||||
/// <summary>
|
||||
/// 训练任务管理服务接口。
|
||||
/// </summary>
|
||||
public interface ITrainingTaskService
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建训练任务。
|
||||
/// </summary>
|
||||
Task<Result<TrainingTaskModel>> CreateTask(TrainingTaskModel task);
|
||||
|
||||
/// <summary>
|
||||
/// 更新训练任务。
|
||||
/// </summary>
|
||||
Task<Result<TrainingTaskModel>> UpdateTask(TrainingTaskModel task);
|
||||
|
||||
/// <summary>
|
||||
/// 删除训练任务。
|
||||
/// </summary>
|
||||
Task<Result> DeleteTask(Guid taskId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取训练任务详情。
|
||||
/// </summary>
|
||||
Task<Result<TrainingTaskModel>> GetTaskById(Guid taskId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取训练任务分页列表。
|
||||
/// </summary>
|
||||
Task<Result<PagedResult<TrainingTaskModel>>> GetTaskPagedList(int pageIndex = 1, int pageSize = 20, TrainingTaskStatus? status = null, string? keyword = null);
|
||||
|
||||
/// <summary>
|
||||
/// 启动训练任务。
|
||||
/// </summary>
|
||||
Task<Result> StartTask(Guid taskId, string startedBy);
|
||||
|
||||
/// <summary>
|
||||
/// 暂停训练任务。
|
||||
/// </summary>
|
||||
Task<Result> PauseTask(Guid taskId, string pausedBy);
|
||||
|
||||
/// <summary>
|
||||
/// 停止训练任务。
|
||||
/// </summary>
|
||||
Task<Result> StopTask(Guid taskId, string stoppedBy);
|
||||
|
||||
/// <summary>
|
||||
/// 取消训练任务。
|
||||
/// </summary>
|
||||
Task<Result> CancelTask(Guid taskId, string cancelledBy);
|
||||
|
||||
/// <summary>
|
||||
/// 重新启动训练任务。
|
||||
/// </summary>
|
||||
Task<Result> RestartTask(Guid taskId, string restartedBy);
|
||||
|
||||
/// <summary>
|
||||
/// 获取任务运行状态。
|
||||
/// </summary>
|
||||
Task<Result<TrainingTaskStatus>> GetTaskStatus(Guid taskId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取任务进度。
|
||||
/// </summary>
|
||||
Task<Result<double>> GetTaskProgress(Guid taskId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取任务统计信息。
|
||||
/// </summary>
|
||||
Task<Result<TrainingTaskStatistics>> GetTaskStatistics();
|
||||
|
||||
/// <summary>
|
||||
/// 分配任务给用户。
|
||||
/// </summary>
|
||||
Task<Result> AssignTask(Guid taskId, Guid assignedToId, string assignedToName, string assignedBy);
|
||||
|
||||
/// <summary>
|
||||
/// 更新任务进度。
|
||||
/// </summary>
|
||||
Task<Result> UpdateTaskProgress(Guid taskId, int currentEpoch, double currentLoss, double currentMap, double progress);
|
||||
|
||||
/// <summary>
|
||||
/// 完成训练任务。
|
||||
/// </summary>
|
||||
Task<Result> CompleteTask(Guid taskId, string outputModelPath, double finalLoss, double finalMap, string completedBy);
|
||||
|
||||
/// <summary>
|
||||
/// 失败训练任务。
|
||||
/// </summary>
|
||||
Task<Result> FailTask(Guid taskId, string errorMessage, string failedBy);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 训练任务统计信息。
|
||||
/// </summary>
|
||||
public sealed class TrainingTaskStatistics
|
||||
{
|
||||
/// <summary>
|
||||
/// 总任务数。
|
||||
/// </summary>
|
||||
public int TotalTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 草稿任务数。
|
||||
/// </summary>
|
||||
public int DraftTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 等待中任务数。
|
||||
/// </summary>
|
||||
public int PendingTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 运行中任务数。
|
||||
/// </summary>
|
||||
public int RunningTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 已暂停任务数。
|
||||
/// </summary>
|
||||
public int PausedTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 已完成任务数。
|
||||
/// </summary>
|
||||
public int CompletedTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 已失败任务数。
|
||||
/// </summary>
|
||||
public int FailedTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 已取消任务数。
|
||||
/// </summary>
|
||||
public int CancelledTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 今日完成任务数。
|
||||
/// </summary>
|
||||
public int TodayCompletedTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 本周完成任务数。
|
||||
/// </summary>
|
||||
public int ThisWeekCompletedTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 本月完成任务数。
|
||||
/// </summary>
|
||||
public int ThisMonthCompletedTasks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 平均训练时长(分钟)。
|
||||
/// </summary>
|
||||
public double AverageTrainingMinutes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 成功率(百分比)。
|
||||
/// </summary>
|
||||
public double SuccessRate { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user