namespace OrpaonVision.Core.Training.Contracts.Commands;
///
/// 提交训练任务命令。
///
public sealed class SubmitTrainingJobCommand
{
///
/// 训练任务名称。
///
public string Name { get; init; } = string.Empty;
///
/// 训练任务描述。
///
public string Description { get; init; } = string.Empty;
///
/// 数据集版本ID。
///
public Guid DatasetVersionId { get; init; }
///
/// 训练算法类型。
///
public string AlgorithmType { get; init; } = string.Empty;
///
/// 训练参数(JSON)。
///
public string TrainingParametersJson { get; init; } = string.Empty;
///
/// 总轮次。
///
public int TotalEpochs { get; init; } = 100;
///
/// 批次大小。
///
public int BatchSize { get; init; } = 16;
///
/// 学习率。
///
public decimal LearningRate { get; init; } = 0.001m;
///
/// 早停轮次。
///
public int EarlyStoppingPatience { get; init; } = 10;
///
/// 保存间隔轮次。
///
public int SaveIntervalEpochs { get; init; } = 10;
///
/// 验证间隔轮次。
///
public int ValidationIntervalEpochs { get; init; } = 1;
///
/// 是否启用混合精度。
///
public bool EnableMixedPrecision { get; init; } = false;
///
/// GPU设备ID。
///
public int GpuDeviceId { get; init; } = 0;
///
/// 随机种子。
///
public int? RandomSeed { get; init; }
///
/// 创建者。
///
public string CreatedBy { get; init; } = string.Empty;
}