版本260406

This commit is contained in:
2026-04-06 22:04:05 +08:00
parent 7dc5e73af7
commit 0b150470be
216 changed files with 98993 additions and 33 deletions

View File

@@ -0,0 +1,239 @@
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
}