#!/usr/bin/python # -*- coding: utf-8 -*- # @version : 1.0 # @Create Time : 2025/04/03 10:32 # @File : project_train.py # @IDE : PyCharm # @desc : pydantic 模型,用于数据库序列化操作 from core.data_types import DatetimeStr from pydantic import BaseModel, Field, ConfigDict from typing import Optional """ 项目训练版本信息表 """ class ProjectTrainIn(BaseModel): project_id: Optional[int] = Field(..., description="项目id") weights_id: Optional[str] = Field(None, description="权重文件") weights_name: Optional[str] = Field(None, description="权重文件名称") epochs: Optional[int] = Field(50, description="训练轮数") patience: Optional[int] = Field(20, description="早停的耐心值") class ProjectTrainOut(BaseModel): id: Optional[int] = Field(None, description="训练id") train_version: Optional[str] = Field(None, description="训练版本号") weights_name: Optional[str] = Field(None, description="权重名称") epochs: Optional[int] = Field(None, description="训练轮数") patience: Optional[int] = Field(None, description="早停的耐心值") create_datetime: DatetimeStr model_config = ConfigDict(from_attributes=True)