feat: 各步骤产物改为原子化落盘,复用前校验 .done 完成标记
跳过条件从 Path.exists() 改为 is_file_complete(),产物成功落盘后统一补 mark_file_complete()。涉及 step1 水域掩膜、step3 去耀斑、SHP 栅格化缓存三处快路径。 step3 去耀斑新增清理分支:无 .done 标记的旧文件一律视为半成品,先删除再重跑(Kutser/Goodman/Hedley/SUGAR 四种方法一致)。 模型落盘改为 atomic_filepath:modeling_batch 批量建模与 automl_trainer 的 AutoML 结果均先写 .__wip 再原子替换,避免中断产生半个 joblib 文件。
This commit is contained in:
@ -824,7 +824,9 @@ class WaterQualityModelingBatch:
|
||||
'metadata': metadata
|
||||
}
|
||||
|
||||
joblib.dump(save_data, filepath)
|
||||
from src.utils.util import atomic_filepath
|
||||
with atomic_filepath(str(filepath)) as _tmp:
|
||||
joblib.dump(save_data, _tmp)
|
||||
print(f"模型已保存: {filepath}")
|
||||
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
|
||||
Reference in New Issue
Block a user