CFD_Benchmark / scripts /result.py
OneScience's picture
Upload folder using huggingface_hub
ff0fadf verified
Raw
History Blame Contribute Delete
1.4 kB
import json
from pathlib import Path
import torch
import yaml
PROJECT_ROOT = Path(__file__).resolve().parents[1]
def load_config():
with open(PROJECT_ROOT / "config" / "config.yaml", "r", encoding="utf-8") as f:
return yaml.safe_load(f)
def main():
cfg = load_config()
checkpoint = PROJECT_ROOT / cfg["paths"]["weight_path"]
result_dir = PROJECT_ROOT / cfg["paths"]["result_dir"] / cfg["train"]["save_name"]
metrics_path = result_dir / "metrics.json"
summary = {
"checkpoint": str(checkpoint),
"checkpoint_exists": checkpoint.exists(),
"result_dir": str(result_dir),
"result_dir_exists": result_dir.exists(),
"metrics": str(metrics_path),
"metrics_exists": metrics_path.exists(),
}
if checkpoint.exists():
state = torch.load(checkpoint, map_location="cpu", weights_only=False)
if isinstance(state, dict):
summary["epoch"] = state.get("epoch")
summary["best_epoch"] = state.get("best_epoch")
summary["best_test_loss"] = state.get("best_test_loss")
summary["has_model_state"] = "model_state" in state
if metrics_path.exists():
with open(metrics_path, "r", encoding="utf-8") as f:
summary["metrics_values"] = json.load(f)
print(json.dumps(summary, indent=2, ensure_ascii=False))
if __name__ == "__main__":
main()