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:
@@ -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(推荐)
|
||||
]
|
||||
|
||||
@@ -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 []
|
||||
|
||||
Reference in New Issue
Block a user