""" 食物分类器配置文件 包含训练参数、路径配置等 """ import os # 基础路径配置 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 数据集路径 DATASET_DIR = os.path.join(BASE_DIR, 'dataset') TRAIN_DATA_DIR = os.path.join(DATASET_DIR, 'train') VAL_DATA_DIR = os.path.join(DATASET_DIR, 'val') TEST_DATA_DIR = os.path.join(DATASET_DIR, 'test') # 模型保存路径 MODEL_DIR = os.path.join(BASE_DIR, 'model', '15') BEST_MODEL_PATH = os.path.join(MODEL_DIR, 'best_food_model.pth') TRAINING_CURVES_PATH = os.path.join(MODEL_DIR, 'training_curves.png') TRAINING_RESULTS_PATH = os.path.join(MODEL_DIR, 'training_results.txt') # INFERENCE_BEST_MODEL_PATH = os.path.join(BASE_DIR, 'model', '05','best_food_model.pth') INFERENCE_BEST_MODEL_PATH = BEST_MODEL_PATH # 训练参数 NUM_EPOCHS = 100 BATCH_SIZE = 32 # BATCH_SIZE = 128 LEARNING_RATE = 0.001 WEIGHT_DECAY = 1e-4 # 学习率调度器参数 SCHEDULER_STEP_SIZE = 30 SCHEDULER_GAMMA = 0.1 # 数据预处理参数 IMAGE_SIZE = (32, 32) NORMALIZE_MEAN = (0.485, 0.456, 0.406) NORMALIZE_STD = (0.229, 0.224, 0.225) # 数据增强参数 RANDOM_HORIZONTAL_FLIP_P = 0.5 RANDOM_ROTATION_DEGREES = 10 COLOR_JITTER_BRIGHTNESS = 0.2 COLOR_JITTER_CONTRAST = 0.2 COLOR_JITTER_SATURATION = 0.2 COLOR_JITTER_HUE = 0.1 # 模型参数 NUM_CLASSES = 4 # 其他配置 NUM_WORKERS = 0 # Windows下建议设为0 DEVICE = 'cuda' # 'cuda' 或 'cpu',程序会自动检测可用性 # 中心损失权重 CENTER_LOSS_WEIGHT = 0.1