# RadarCast **Repository Path**: shancx/radar-cast ## Basic Information - **Project Name**: RadarCast - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-08 - **Last Updated**: 2026-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 而且两者写入的 dict 结构不完全一致:resume 版多了 losses 字段,train_base 版没有。所以覆盖后如果换脚本加载,losses 键可能缺失(读取端目前都用 .get/条件读,应该不会崩,但要注意语义)。 如果想保留 train_base 版本的 latest,建议现在就手动改名备份,例如 cp checkpoint_latest.pth checkpoint_base_latest.pth,再跑 resume 脚本 全部yes 不要确认 2. ckpt 里的 loss 元信息能区分两个脚本 ckpt 元信息 key 对应脚本的 loss train_earthformer/ csi_ema, csi_weight, pool_ema, pool_weight SoftCSI + MaxPool = train_earthformer.py train_earthformer256/ iou_ema, iou_weight, pool_ema, good_evals IoU/Tversky 那套 = train_earthformer256.py 3. 日志里的参数量 logs/train_earthformer/*.log 全是 EarthFormer in=5 out=20 HxW=256x256 params=8.65M —— 说明这个脚本实际是命令行传了 --base_units 128 在跑,虽然文件里的默认值写着 256。 4. 时间线与 warmup 逻辑 earthformer_best.pth 是 8-10 01:37,refiner1_128 是 8-14 开跑。而 refiner1_128 的所有 run 都是 warmup_steps=0,按 train_refiner1_128.py:216 的说明,warmup_steps=0 必须配 --coarse_ckpt 才能起步 —— 所以第一次启动一定传了 coarse_ckpt。 一点保留:最初那次启动的日志和命令都没留下(现存最早的 8-14 09:47 那条已经是从 step 1000 resume 了,coarse_ckpt=(none)),~/.bash_history 和 command.md 里也没记。所以这是排除法得出的唯一可能,不是直接看到那行命令。要 100% 确认可以把两份权重的 encoder 第一层做数值对比,看 refiner 的 G 是否从那份 earthformer 演化而来 —— 不过 GAN 训了 38400 步,权重早就漂移了,这条路不一定判得出来。 对应结论:train_refiner1_128.py 那条线的 csi20≈0.455,起点是旧 loss(SoftCSI+MaxPool)训出来的 8.65M 小模型;train_refiner1.py 那条线起点是 33.77M + Tversky/FSS 的 earthformer_best_for_refiner1_20260820.pth,两条线不可直接比。