从metadata.json里读取labels_mean和labels_std

This commit is contained in:
zhangkun9038@dingtalk.com 2025-06-01 02:05:09 +00:00
parent cf4c7391bf
commit 532da3a60e

View File

@ -51,7 +51,7 @@ class FreqaiPrimer(IStrategy):
}
freqai_info = {
"identifier": "test58", # 与实际目录名一致,修正为 test58
"identifier": "test58",
"model": "LightGBMRegressor",
"feature_parameters": {
"include_timeframes": ["3m", "15m", "1h"],
@ -174,15 +174,16 @@ class FreqaiPrimer(IStrategy):
# 从最新的子目录读取 metadata.json
try:
model_base_dir = os.path.join(self.config["user_data_dir"], "models", self.freqai_info["identifier"])
pair_clean = pair.replace('/', '_') # 将 "KAITO/USDT" 转换为 "KAITO_USDT"
sub_dirs = glob.glob(os.path.join(model_base_dir, f"sub-train-{pair_clean}_*"))
pair_base = pair.split('/')[0] # 取币对基础部分,例如 "OKB/USDT" -> "OKB"
sub_dirs = glob.glob(os.path.join(model_base_dir, f"sub-train-{pair_base}_*"))
if not sub_dirs:
logger.warning(f"[{pair}] 未找到任何子目录:{model_base_dir}/sub-train-{pair_clean}_*")
logger.warning(f"[{pair}] 未找到任何子目录:{model_base_dir}/sub-train-{pair_base}_*")
else:
# 按时间戳排序,获取最新的子目录
latest_sub_dir = max(sub_dirs, key=lambda x: int(x.split('_')[-1]))
metadata_file = os.path.join(latest_sub_dir, f"cb_{pair_clean.lower()}_{latest_sub_dir.split('_')[-1]}_metadata.json")
pair_clean = pair.replace('/', '_').lower() # 用于 metadata.json 文件名,例如 "OKB/USDT" -> "okb_usdt"
metadata_file = os.path.join(latest_sub_dir, f"cb_{pair_clean}_{latest_sub_dir.split('_')[-1]}_metadata.json")
if os.path.exists(metadata_file):
with open(metadata_file, "r") as f: