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
|
from src.training.components.filters import BaseFilter, STFilter
|
||||||
|
|
||||||
# 训练核心
|
# 训练核心
|
||||||
|
# .. deprecated:: Trainer (旧版)
|
||||||
|
# 请从 src.training.trainer_v2 导入新的 Trainer 类
|
||||||
|
# 旧版 Trainer 将在后续版本中移除
|
||||||
from src.training.core import StockPoolManager, 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
|
from src.training.config import TrainingConfig
|
||||||
|
|
||||||
# 新增:模块化 Trainer 组件
|
# 新增:模块化 Trainer 组件(推荐)
|
||||||
from src.training.factor_manager import FactorManager
|
from src.training.factor_manager import FactorManager
|
||||||
from src.training.pipeline import DataPipeline
|
from src.training.pipeline import DataPipeline
|
||||||
from src.training.result_analyzer import ResultAnalyzer
|
from src.training.result_analyzer import ResultAnalyzer
|
||||||
from src.training.tasks import BaseTask, RegressionTask, RankTask
|
from src.training.tasks import BaseTask, RegressionTask, RankTask
|
||||||
|
|
||||||
|
# 从 trainer_v2 导入新 Trainer(推荐)
|
||||||
|
from src.training.trainer_v2 import Trainer as TrainerV2
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
# 基础抽象类
|
# 基础抽象类
|
||||||
"BaseModel",
|
"BaseModel",
|
||||||
@@ -73,18 +79,19 @@ __all__ = [
|
|||||||
"STFilter",
|
"STFilter",
|
||||||
# 模型
|
# 模型
|
||||||
"LightGBMModel",
|
"LightGBMModel",
|
||||||
# 训练核心
|
# 训练核心(旧版,已废弃)
|
||||||
"StockPoolManager",
|
"StockPoolManager",
|
||||||
"Trainer",
|
"Trainer",
|
||||||
# 工具函数
|
# 工具函数
|
||||||
"check_data_quality",
|
"check_data_quality",
|
||||||
# 配置
|
# 配置
|
||||||
"TrainingConfig",
|
"TrainingConfig",
|
||||||
# 新增:模块化 Trainer 组件
|
# 新增:模块化 Trainer 组件(推荐使用)
|
||||||
"FactorManager",
|
"FactorManager",
|
||||||
"DataPipeline",
|
"DataPipeline",
|
||||||
"ResultAnalyzer",
|
"ResultAnalyzer",
|
||||||
"BaseTask",
|
"BaseTask",
|
||||||
"RegressionTask",
|
"RegressionTask",
|
||||||
"RankTask",
|
"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
|
from typing import TYPE_CHECKING, List, Optional
|
||||||
|
|
||||||
import polars as pl
|
import polars as pl
|
||||||
@@ -15,6 +22,16 @@ if TYPE_CHECKING:
|
|||||||
from src.training.components.filters import BaseFilter
|
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:
|
class Trainer:
|
||||||
"""训练器主类
|
"""训练器主类
|
||||||
|
|
||||||
@@ -41,6 +58,9 @@ class Trainer:
|
|||||||
):
|
):
|
||||||
"""初始化训练器
|
"""初始化训练器
|
||||||
|
|
||||||
|
.. deprecated::
|
||||||
|
请使用 src.training.trainer_v2.Trainer 替代。
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
model: 模型实例
|
model: 模型实例
|
||||||
pool_manager: 股票池管理器,None 表示不筛选
|
pool_manager: 股票池管理器,None 表示不筛选
|
||||||
@@ -52,6 +72,7 @@ class Trainer:
|
|||||||
persist_model: 是否保存模型
|
persist_model: 是否保存模型
|
||||||
model_save_path: 模型保存路径
|
model_save_path: 模型保存路径
|
||||||
"""
|
"""
|
||||||
|
_warn_deprecated()
|
||||||
self.model = model
|
self.model = model
|
||||||
self.pool_manager = pool_manager
|
self.pool_manager = pool_manager
|
||||||
self.processors = processors or []
|
self.processors = processors or []
|
||||||
|
|||||||
Reference in New Issue
Block a user