Start.md 2.3 KB

快速启动

1. 确认目录

cd /home/kekezack/workspace/X_SSL_Net

2. 先跑最小调试实验

推荐先用 BUSI 短跑,把真实数据、XNet2d 前向、loss、验证和 checkpoint 链路跑通:

DATASET=BUSI \
EXTRA_SET_ARGS="train.epochs=2 train.batch_size=2 train.val_batch_size=2 logging.use_swanlab=false" \
bash tools/run_optimized_supervised.sh

这条命令会:

  1. 根据数据集名称解析数据根目录
  2. 对需要项目级 split 的数据集生成 train/val
  3. 读取 configs/segmentation/optimized/*.yaml
  4. 启动 SupervisedSegmentationTrainer
  5. 构建并训练 XNet2d

3. 汇总结果

训练结束后运行:

bash tools/summarize_results.sh

会生成:

  1. results/experiment_summary.csv
  2. results/experiment_summary.md

查看 markdown 表:

sed -n '1,40p' results/experiment_summary.md

重点看:

  1. dataset
  2. mode
  3. epoch
  4. best_metric
  5. dice
  6. iou

4. 推荐实验顺序

当前项目更适合先验证 XNet 在 2D 超声分割上的稳定性。建议顺序:

  1. BUSI
  2. DDTI
  3. TN3K
  4. TG3K
  5. BUS_UC

示例:

DATASET=DDTI bash tools/run_optimized_supervised.sh
DATASET=TN3K bash tools/run_optimized_supervised.sh
DATASET=TG3K bash tools/run_optimized_supervised.sh

5. 常用覆盖参数

短跑:

EXTRA_SET_ARGS="train.epochs=2"

减小 batch size:

EXTRA_SET_ARGS="train.batch_size=2 train.val_batch_size=2"

关闭 wavelet branch:

EXTRA_SET_ARGS="model.use_wavelet_branch=false checkpoint.dir=outputs/experiments/supervised_ablation/BUSI_no_wavelet logging.experiment_name=xnet_busi_no_wavelet"

关闭 decoder frequency refine:

EXTRA_SET_ARGS="model.use_frequency_refine=false checkpoint.dir=outputs/experiments/supervised_ablation/BUSI_no_freq logging.experiment_name=xnet_busi_no_freq"

强制 SS2D 使用 torch fallback:

EXTRA_SET_ARGS="model.ssm_backend=torch checkpoint.dir=outputs/experiments/supervised_ablation/BUSI_ssm_torch logging.experiment_name=xnet_busi_ssm_torch"

6. 当前主链边界

当前快速启动不涉及:

  1. lib/sam2
  2. lib/SwinTransformer
  3. SwinV2 配置
  4. 半监督 trainer
  5. 边界辅助 loss

这些内容保留为外部资产或历史资料,不属于当前 active 训练路径。