ExoMiner++ on TESS with Transfer Learning from Kepler: Transit Classification and Vetting Catalog for 2-min Data
Paper β’ 2502.09790 β’ Published
A multi-branch 1D CNN for detecting exoplanet transits in stellar light curves, based on the AstroNet/ExoMiner++ architecture (NASA Ames).
Multi-Branch 1D CNN with 5 input branches:
Each flux branch uses 2 convolutional blocks with 3 conv layers each (8β16 filters), batch normalization, and max pooling. Branches are fused and fed through a 4-layer fully-connected classifier head.
Total parameters: 244,181
| Metric | Test Set |
|---|---|
| Accuracy | 89.10% |
| F1 (weighted) | 89.03% |
| Precision (weighted) | 89.03% |
| Recall (weighted) | 89.10% |
| Loss | 0.2804 |
import torch
import numpy as np
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
# 1. Download and load model
model_path = hf_hub_download("sarojpatil16/exoplanet-transit-detector", "model.safetensors")
# 2. Recreate architecture (copy from this model card or train.py)
# ... (see model architecture code below) ...
# model = AstroNetCNN(n_scalars=9, num_classes=3)
# model.load_state_dict(load_file(model_path))
# model.eval()
# 3. Prepare inputs from light curve data
# flux_global: (1, 201) - phase-folded full light curve, median-subtracted & MAD-normalized
# flux_local: (1, 81) - zoomed transit view
# flux_odd: (1, 201) - odd-numbered transits
# flux_even: (1, 201) - even-numbered transits
# scalars: (1, 9) - [period_days, duration_hrs, depth_ppm, teff, logg, radius, mass, metallicity, kepmag]
# (period, duration, depth are log1p-transformed)
# 4. Predict
# with torch.no_grad():
# output = model(flux_global, flux_local, flux_odd, flux_even, scalars)
# probabilities = torch.softmax(output.logits, dim=-1)
# pred_class = torch.argmax(output.logits, dim=-1)
# # 0=PLANET, 1=FALSE_POSITIVE, 2=NO_SIGNAL
| Class ID | Label | Description |
|---|---|---|
| 0 | PLANET | Confirmed or candidate exoplanet transit |
| 1 | FALSE_POSITIVE | Signal is not a planet (eclipsing binary, stellar variability, etc.) |
| 2 | NO_SIGNAL | No significant transit signal detected |