Files
OrpaonVision/OrpaonVision.Core/Training/Contracts/ModelVersionDetailDto.cs
2026-04-06 22:04:05 +08:00

108 lines
2.5 KiB
C#
Raw 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.
namespace OrpaonVision.Core.Training.Contracts;
/// <summary>
/// 模型版本详情。
/// </summary>
public sealed class ModelVersionDetailDto
{
/// <summary>
/// 模型版本ID。
/// </summary>
public Guid ModelVersionId { get; init; }
/// <summary>
/// 模型版本号。
/// </summary>
public string VersionNo { get; init; } = string.Empty;
/// <summary>
/// 训练任务ID。
/// </summary>
public Guid TrainingJobId { get; init; }
/// <summary>
/// 训练算法类型。
/// </summary>
public string AlgorithmType { get; init; } = string.Empty;
/// <summary>
/// 模型文件路径。
/// </summary>
public string ModelFilePath { get; init; } = string.Empty;
/// <summary>
/// 模型文件大小(字节)。
/// </summary>
public long ModelFileSizeBytes { get; init; }
/// <summary>
/// 模型准确率。
/// </summary>
public decimal Accuracy { get; init; }
/// <summary>
/// 模型召回率。
/// </summary>
public decimal Recall { get; init; }
/// <summary>
/// 模型F1分数。
/// </summary>
public decimal F1Score { get; init; }
/// <summary>
/// 验证集损失。
/// </summary>
public decimal ValidationLoss { get; init; }
/// <summary>
/// 训练集损失。
/// </summary>
public decimal TrainingLoss { get; init; }
/// <summary>
/// 模型状态。
/// </summary>
public string Status { get; init; } = string.Empty;
/// <summary>
/// 是否已批准。
/// </summary>
public bool IsApproved { get; init; }
/// <summary>
/// 批准时间UTC
/// </summary>
public DateTime? ApprovedAtUtc { get; init; }
/// <summary>
/// 批准者。
/// </summary>
public string ApprovedBy { get; init; } = string.Empty;
/// <summary>
/// 创建时间UTC
/// </summary>
public DateTime CreatedAtUtc { get; init; }
/// <summary>
/// 创建者。
/// </summary>
public string CreatedBy { get; init; } = string.Empty;
/// <summary>
/// 训练日志路径。
/// </summary>
public string TrainingLogPath { get; init; } = string.Empty;
/// <summary>
/// 评估报告路径。
/// </summary>
public string EvaluationReportPath { get; init; } = string.Empty;
/// <summary>
/// 模型元数据JSON
/// </summary>
public string MetadataJson { get; init; } = string.Empty;
}