diff --git a/src/training/__init__.py b/src/training/__init__.py index beb2e9f..9e043ca 100644 --- a/src/training/__init__.py +++ b/src/training/__init__.py @@ -35,6 +35,9 @@ from src.training.components.models import LightGBMModel from src.training.components.filters import BaseFilter, STFilter # 训练核心 +# .. deprecated:: Trainer (旧版) +# 请从 src.training.trainer_v2 导入新的 Trainer 类 +# 旧版 Trainer 将在后续版本中移除 from src.training.core import StockPoolManager, Trainer # 工具函数 @@ -43,12 +46,15 @@ from src.training.utils import check_data_quality # 配置 from src.training.config import TrainingConfig -# 新增:模块化 Trainer 组件 +# 新增:模块化 Trainer 组件(推荐) from src.training.factor_manager import FactorManager from src.training.pipeline import DataPipeline from src.training.result_analyzer import ResultAnalyzer from src.training.tasks import BaseTask, RegressionTask, RankTask +# 从 trainer_v2 导入新 Trainer(推荐) +from src.training.trainer_v2 import Trainer as TrainerV2 + __all__ = [ # 基础抽象类 "BaseModel", @@ -73,18 +79,19 @@ __all__ = [ "STFilter", # 模型 "LightGBMModel", - # 训练核心 + # 训练核心(旧版,已废弃) "StockPoolManager", "Trainer", # 工具函数 "check_data_quality", # 配置 "TrainingConfig", - # 新增:模块化 Trainer 组件 + # 新增:模块化 Trainer 组件(推荐使用) "FactorManager", "DataPipeline", "ResultAnalyzer", "BaseTask", "RegressionTask", "RankTask", + "TrainerV2", # 新的 Trainer(推荐) ] diff --git a/src/training/core/trainer.py b/src/training/core/trainer.py index 618cb8e..3cd26a9 100644 --- a/src/training/core/trainer.py +++ b/src/training/core/trainer.py @@ -1,8 +1,15 @@ """训练器主类 整合数据处理、模型训练、预测的完整流程。 + +.. deprecated:: + 此模块已废弃,将在后续版本中移除。 + 请使用 src.training.trainer_v2.Trainer 替代。 + 新 Trainer 提供更灵活的模块化设计,支持 FactorManager、 + DataPipeline、Task 策略等组件。 """ +import warnings from typing import TYPE_CHECKING, List, Optional import polars as pl @@ -15,6 +22,16 @@ if TYPE_CHECKING: from src.training.components.filters import BaseFilter +def _warn_deprecated(): + """发出废弃警告""" + warnings.warn( + "src.training.core.trainer.Trainer 已废弃,将在后续版本中移除。" + "请使用 src.training.trainer_v2.Trainer 替代。", + DeprecationWarning, + stacklevel=3, + ) + + class Trainer: """训练器主类 @@ -41,6 +58,9 @@ class Trainer: ): """初始化训练器 + .. deprecated:: + 请使用 src.training.trainer_v2.Trainer 替代。 + Args: model: 模型实例 pool_manager: 股票池管理器,None 表示不筛选 @@ -52,6 +72,7 @@ class Trainer: persist_model: 是否保存模型 model_save_path: 模型保存路径 """ + _warn_deprecated() self.model = model self.pool_manager = pool_manager self.processors = processors or []