Download example_usage.py from anonym-submit-26/bemae-halpha-v1: direct link, hf CLI and curl.
- Browser
- Download file 1.3 kB
-
https://huggingface.co/anonym-submit-26/bemae-halpha-v1/resolve/main/example_usage.py
- Command line
-
hf download hf://anonym-submit-26/bemae-halpha-v1/example_usage.py
-
curl -L -o example_usage.py https://huggingface.co/anonym-submit-26/bemae-halpha-v1/resolve/main/example_usage.py
1.3 kB
| """ | |
| example_usage.py — Minimal inference with BeMAE-Hα. | |
| This script loads a checkpoint from HuggingFace Hub, retrieves a spectrum | |
| de test depuis le dataset BeSS-foundation, et calcule son embedding z_halpha. | |
| """ | |
| import json | |
| import sys | |
| import numpy as np | |
| import torch | |
| from huggingface_hub import snapshot_download | |
| MODEL_ID = "anonym-submit-26/bemae-halpha-v1" | |
| # 1. Download the snapshot | |
| ckpt_dir = snapshot_download(MODEL_ID) | |
| sys.path.insert(0, ckpt_dir) | |
| from model import SpectralEncoderHalpha, ModelConfig # noqa: E402 | |
| # 2. Charger la config et les poids | |
| with open(f"{ckpt_dir}/config.json") as f: | |
| meta = json.load(f) | |
| cfg = ModelConfig(**meta["model_config"]) | |
| encoder = SpectralEncoderHalpha(cfg) | |
| state = torch.load(f"{ckpt_dir}/pytorch_model.bin", map_location="cpu") | |
| encoder.load_state_dict(state) | |
| encoder.eval() | |
| # 3. Prepare a dummy spectrum (Hα-centred, 128 bins, pseudo-continuum at 1.0) | |
| B = 4 | |
| flux = torch.ones(B, 128) + 0.3 * torch.randn(B, 128) * 0.01 | |
| wavelengths = torch.linspace(6512.8, 6612.8, 128).unsqueeze(0).expand(B, -1) | |
| validity = torch.ones(B, 128) | |
| # 4. Inference | |
| with torch.no_grad(): | |
| z_halpha, *_ = encoder(flux, wavelengths, validity, mask=None) | |
| print(f"z_halpha shape : {tuple(z_halpha.shape)}") | |
| print(f"z_halpha[0, :8] : {z_halpha[0, :8].numpy()}") | |