refactor(training): 将旧版 Trainer 标记为废弃,推荐使用 TrainerV2

- 在 src.training.core.trainer.Trainer 添加废弃警告
- 更新 __init__.py 导入说明,标注旧版 Trainer 为废弃
- 新增 TrainerV2 到模块导出列表(推荐使用)
- 提供清晰的迁移路径:src.training.trainer_v2.Trainer

Refs: Trainer V2 采用模块化设计,支持 FactorManager、DataPipeline、Task 策略
This commit is contained in:
2026-03-24 23:39:46 +08:00
parent e41a128ca3
commit 3806b8021b
2 changed files with 31 additions and 3 deletions

View File

@@ -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推荐
]

View File

@@ -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 []