240 lines
4.8 KiB
C#
240 lines
4.8 KiB
C#
namespace OrpaonVision.Model.Training;
|
||
|
||
/// <summary>
|
||
/// 数据集模型。
|
||
/// </summary>
|
||
public sealed class DatasetModel
|
||
{
|
||
/// <summary>
|
||
/// 数据集ID。
|
||
/// </summary>
|
||
public Guid Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 数据集名称。
|
||
/// </summary>
|
||
public string Name { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 数据集描述。
|
||
/// </summary>
|
||
public string? Description { get; set; }
|
||
|
||
/// <summary>
|
||
/// 数据集类型。
|
||
/// </summary>
|
||
public DatasetType Type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 数据集状态。
|
||
/// </summary>
|
||
public DatasetStatus Status { get; set; }
|
||
|
||
/// <summary>
|
||
/// 数据集路径。
|
||
/// </summary>
|
||
public string Path { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 数据集格式。
|
||
/// </summary>
|
||
public string Format { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 总图像数量。
|
||
/// </summary>
|
||
public int TotalImageCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 训练图像数量。
|
||
/// </summary>
|
||
public int TrainImageCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 验证图像数量。
|
||
/// </summary>
|
||
public int ValidationImageCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 测试图像数量。
|
||
/// </summary>
|
||
public int TestImageCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 总标注数量。
|
||
/// </summary>
|
||
public int TotalAnnotationCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 类别数量。
|
||
/// </summary>
|
||
public int ClassCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 类别列表JSON。
|
||
/// </summary>
|
||
public string ClassListJson { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 训练集比例。
|
||
/// </summary>
|
||
public double TrainRatio { get; set; }
|
||
|
||
/// <summary>
|
||
/// 验证集比例。
|
||
/// </summary>
|
||
public double ValidationRatio { get; set; }
|
||
|
||
/// <summary>
|
||
/// 测试集比例。
|
||
/// </summary>
|
||
public double TestRatio { get; set; }
|
||
|
||
/// <summary>
|
||
/// 数据增强配置JSON。
|
||
/// </summary>
|
||
public string? DataAugmentationJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// 统计信息JSON。
|
||
/// </summary>
|
||
public string? StatisticsJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// 版本号。
|
||
/// </summary>
|
||
public string Version { get; set; } = "1.0.0";
|
||
|
||
/// <summary>
|
||
/// 标签文件路径。
|
||
/// </summary>
|
||
public string? LabelsFilePath { get; set; }
|
||
|
||
/// <summary>
|
||
/// 配置文件路径。
|
||
/// </summary>
|
||
public string? ConfigFilePath { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否已验证。
|
||
/// </summary>
|
||
public bool IsValidated { get; set; }
|
||
|
||
/// <summary>
|
||
/// 验证时间(UTC)。
|
||
/// </summary>
|
||
public DateTime? ValidatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 验证人。
|
||
/// </summary>
|
||
public string? ValidatedBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人ID。
|
||
/// </summary>
|
||
public Guid CreatedById { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人姓名。
|
||
/// </summary>
|
||
public string CreatedByName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 创建时间(UTC)。
|
||
/// </summary>
|
||
public DateTime CreatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间(UTC)。
|
||
/// </summary>
|
||
public DateTime UpdatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人。
|
||
/// </summary>
|
||
public string CreatedBy { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 更新人。
|
||
/// </summary>
|
||
public string UpdatedBy { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 备注。
|
||
/// </summary>
|
||
public string? Remark { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 数据集类型枚举。
|
||
/// </summary>
|
||
public enum DatasetType
|
||
{
|
||
/// <summary>
|
||
/// 目标检测。
|
||
/// </summary>
|
||
ObjectDetection = 0,
|
||
|
||
/// <summary>
|
||
/// 图像分类。
|
||
/// </summary>
|
||
ImageClassification = 1,
|
||
|
||
/// <summary>
|
||
/// 语义分割。
|
||
/// </summary>
|
||
SemanticSegmentation = 2,
|
||
|
||
/// <summary>
|
||
/// 实例分割。
|
||
/// </summary>
|
||
InstanceSegmentation = 3
|
||
}
|
||
|
||
/// <summary>
|
||
/// 数据集状态枚举。
|
||
/// </summary>
|
||
public enum DatasetStatus
|
||
{
|
||
/// <summary>
|
||
/// 草稿。
|
||
/// </summary>
|
||
Draft = 0,
|
||
|
||
/// <summary>
|
||
/// 准备中。
|
||
/// </summary>
|
||
Preparing = 1,
|
||
|
||
/// <summary>
|
||
/// 已准备。
|
||
/// </summary>
|
||
Ready = 2,
|
||
|
||
/// <summary>
|
||
/// 验证中。
|
||
/// </summary>
|
||
Validating = 3,
|
||
|
||
/// <summary>
|
||
/// 已验证。
|
||
/// </summary>
|
||
Validated = 4,
|
||
|
||
/// <summary>
|
||
/// 验证失败。
|
||
/// </summary>
|
||
ValidationFailed = 5,
|
||
|
||
/// <summary>
|
||
/// 已发布。
|
||
/// </summary>
|
||
Published = 6,
|
||
|
||
/// <summary>
|
||
/// 已停用。
|
||
/// </summary>
|
||
Disabled = 7
|
||
}
|