34 lines
1.9 KiB
Python
34 lines
1.9 KiB
Python
"""Legacy config shim loading values from YAML."""
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from omegaconf import OmegaConf
|
|
|
|
|
|
_BASE_CONFIG_PATH = Path(__file__).resolve().parent / "configs" / "base_config.yaml"
|
|
_CFG = OmegaConf.load(_BASE_CONFIG_PATH)
|
|
|
|
# --- 训练参数 ---
|
|
LEARNING_RATE = float(_CFG.training.learning_rate)
|
|
BATCH_SIZE = int(_CFG.training.batch_size)
|
|
NUM_EPOCHS = int(_CFG.training.num_epochs)
|
|
PATCH_SIZE = int(_CFG.training.patch_size)
|
|
SCALE_JITTER_RANGE = tuple(float(x) for x in _CFG.training.scale_jitter_range)
|
|
|
|
# --- 匹配与评估参数 ---
|
|
KEYPOINT_THRESHOLD = float(_CFG.matching.keypoint_threshold)
|
|
RANSAC_REPROJ_THRESHOLD = float(_CFG.matching.ransac_reproj_threshold)
|
|
MIN_INLIERS = int(_CFG.matching.min_inliers)
|
|
PYRAMID_SCALES = [float(s) for s in _CFG.matching.pyramid_scales]
|
|
INFERENCE_WINDOW_SIZE = int(_CFG.matching.inference_window_size)
|
|
INFERENCE_STRIDE = int(_CFG.matching.inference_stride)
|
|
IOU_THRESHOLD = float(_CFG.evaluation.iou_threshold)
|
|
|
|
# --- 文件路径 ---
|
|
LAYOUT_DIR = str((_BASE_CONFIG_PATH.parent / _CFG.paths.layout_dir).resolve()) if not Path(_CFG.paths.layout_dir).is_absolute() else _CFG.paths.layout_dir
|
|
SAVE_DIR = str((_BASE_CONFIG_PATH.parent / _CFG.paths.save_dir).resolve()) if not Path(_CFG.paths.save_dir).is_absolute() else _CFG.paths.save_dir
|
|
VAL_IMG_DIR = str((_BASE_CONFIG_PATH.parent / _CFG.paths.val_img_dir).resolve()) if not Path(_CFG.paths.val_img_dir).is_absolute() else _CFG.paths.val_img_dir
|
|
VAL_ANN_DIR = str((_BASE_CONFIG_PATH.parent / _CFG.paths.val_ann_dir).resolve()) if not Path(_CFG.paths.val_ann_dir).is_absolute() else _CFG.paths.val_ann_dir
|
|
TEMPLATE_DIR = str((_BASE_CONFIG_PATH.parent / _CFG.paths.template_dir).resolve()) if not Path(_CFG.paths.template_dir).is_absolute() else _CFG.paths.template_dir
|
|
MODEL_PATH = str((_BASE_CONFIG_PATH.parent / _CFG.paths.model_path).resolve()) if not Path(_CFG.paths.model_path).is_absolute() else _CFG.paths.model_path |