package com.yice.webadmin.app.dto;

import com.yice.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * TuningRunDto对象。
 *
 * @author linking
 * @date 2023-04-13
 */
@ApiModel("TuningRunDto对象")
@Data
public class TuningRunDto {

    /**
     * 运行ID。
     */
    @ApiModelProperty(value = "运行ID", required = true)
    @NotNull(message = "数据验证失败，运行ID不能为空！", groups = {UpdateGroup.class})
    private Long runId;

    /**
     * 任务ID。
     */
    @ApiModelProperty(value = "任务ID")
    private Long taskId;

    /**
     * 运行状态。
     */
    @ApiModelProperty(value = "运行状态")
    private Integer runStatus;

    /**
     * 运行版本号。
     */
    @ApiModelProperty(value = "运行版本号")
    private Integer runVersion;

    /**
     * 运行名称。
     */
    @ApiModelProperty(value = "运行名称")
    private String runName;

    /**
     * 基础模型ID。
     */
    @ApiModelProperty(value = "基础模型ID")
    private Long modelId;

    /**
     * 基础模型版本ID。
     */
    @ApiModelProperty(value = "基础模型版本ID")
    private Long modelVersionId;

    /**
     * 运行时长。
     */
    @ApiModelProperty(value = "运行时长")
    private Long runTime;

    /**
     * 数据集版本IDs。
     */
    @ApiModelProperty(value = "数据集版本IDs")
    private String datasetVersionIds;

    /**
     * 拆分比例。
     */
    @ApiModelProperty(value = "拆分比例(0~100)")
    private Integer splitRatio;

    /**
     * 训练模式。
     */
    @ApiModelProperty(value = "训练模式")
    private String trainMode;

    /**
     * 训练方法。
     */
    @ApiModelProperty(value = "训练方法")
    private String trainMethod;

    /**
     * 参数配置。
     */
    @ApiModelProperty(value = "参数配置")
    private String configuration;

    /**
     * 发布状态。
     */
    @ApiModelProperty(value = "发布状态")
    private Integer publishStatus;
}
