import sys from pathlib import Path import numpy as np import torch PROJECT_ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(PROJECT_ROOT)) from onescience.utils.YParams import YParams def resolve_path(path_value): path = Path(path_value) return path if path.is_absolute() else PROJECT_ROOT / path def main(): cfg = YParams(str(PROJECT_ROOT / "config" / "config.yaml"), "root") checkpoint_path = resolve_path(cfg.inference.checkpoint_path) pred_dir = resolve_path(cfg.inference.result_dir) / "predictions" if checkpoint_path.exists(): ckpt = torch.load(checkpoint_path, map_location="cpu") print(f"Checkpoint: {checkpoint_path}") print(f"Epoch: {ckpt.get('epoch')}, val_loss: {ckpt.get('val_loss')}") print(f"Model config: {ckpt.get('config')}") else: print(f"Checkpoint not found: {checkpoint_path}") pred_path = pred_dir / "prediction_batch.npy" if pred_path.exists(): pred = np.load(pred_path) print(f"Prediction batch: shape={pred.shape}, dtype={pred.dtype}, mean={pred.mean():.6f}") else: print(f"Prediction batch not found: {pred_path}") if __name__ == "__main__": main()