SPEKTRAN Baseline Checkpoints v0.6.0
Pre-trained baseline model weights for the SPEKTRAN
optical gas sensing benchmark. 25 baselines across 5 modalities (TDLAS, NDIR, CRDS, FTIR, DOAS)
and 9 benchmark tasks.
Available Pre-trained Weights
| Checkpoint |
Task |
Modality |
Model |
Key Metric |
ridge-t1-da/ |
T1 Concentration |
TDLAS DA |
Ridge |
2.80 ppm MAE |
cnn1d-t1-da/ |
T1 Concentration |
TDLAS DA |
CNN1D |
16.79 ppm MAE |
ridge-t4-wms/ |
T4 WMS Concentration |
TDLAS WMS |
Ridge |
12.46 ppm MAE |
ridge-t9-temperature/ |
T9 Temperature |
TDLAS DA |
Ridge |
7.03 K MAE |
All 25 Registered Baselines
Train any baseline from scratch with one command:
pip install spektran[dev]
spektran train --baseline ridge
spektran train --baseline cnn1d
spektran train --baseline transformer
spektran train --baseline ridge_crds
spektran train --baseline ridge_ftir
spektran train --baseline ridge_doas
spektran list baselines --json
T1 β Concentration Regression (TDLAS DA)
| Baseline |
Type |
Params |
| Ridge Regression |
Linear |
~201 |
| 1D CNN |
Deep Learning |
~50K |
| Patchified Transformer |
Deep Learning |
~100K |
| Random Forest / GBR |
Ensemble |
~1M |
| MLP (BPNN) |
Deep Learning |
~50K |
| BiLSTM |
RNN |
~60K |
| CNN-LSTM-Attention |
Hybrid |
~80K |
| PINN |
Physics-Informed |
~50K |
| SpektralNet |
TDLAS-native |
~45K |
| Voigt Fit (LM) |
Classical physics |
0 (no training) |
T2 β Spectral Denoising
| Baseline |
Type |
| Wing-Anchored Polynomial |
Classical |
| 1D U-Net |
Deep Learning |
| LSTM-DAE |
Autoencoder |
T4 β WMS Concentration
| Baseline |
Type |
| Ridge (WMS) |
Linear |
| CNN (WMS) |
Deep Learning |
| Transformer (WMS) |
Deep Learning |
T5 β Drift Compensation
| Baseline |
Type |
| Moving Average |
Classical |
| TCN |
Deep Learning |
T6 β OOD Detection
| Baseline |
Type |
| PCA + Mahalanobis |
Statistical |
T7 β Cross-Modality (TDLAS β NDIR)
| Baseline |
Type |
| Ridge (Cross-Modality) |
Linear |
T8 β Multi-Species
| Baseline |
Type |
| Ridge (Multi-Species) |
Linear |
T9 β Temperature Regression
| Baseline |
Type |
| Ridge (Temperature) |
Linear |
New Modality Baselines (v0.6.0)
| Baseline |
Modality |
Type |
| Ridge (CRDS) |
CRDS |
Linear |
| Ridge (FTIR) |
FTIR |
Linear |
| Ridge (DOAS) |
DOAS |
Linear |
Quick Start
Load Pre-trained Ridge
import numpy as np
from huggingface_hub import hf_hub_download
path = hf_hub_download("spektran/spektran-baselines-v0", "ridge-t1-da/weights.npz")
data = np.load(path)
X_scaled = (raw_scan - data["scaler_mean"]) / data["scaler_scale"]
concentration_ppm = X_scaled @ data["coef"] + data["intercept"][0]
Load Pre-trained CNN
import torch
import torch.nn as nn
from huggingface_hub import hf_hub_download
norm_path = hf_hub_download("spektran/spektran-baselines-v0", "cnn1d-t1-da/normalization.npz")
model_path = hf_hub_download("spektran/spektran-baselines-v0", "cnn1d-t1-da/model.pt")
norm = np.load(norm_path)
state = torch.load(model_path, weights_only=True)
model = nn.Sequential(
nn.Conv1d(1, 16, 15, stride=2, padding=7), nn.ReLU(),
nn.Conv1d(16, 32, 9, stride=2, padding=4), nn.ReLU(),
nn.Conv1d(32, 64, 5, stride=2, padding=2), nn.ReLU(),
nn.AdaptiveAvgPool1d(8), nn.Flatten(),
nn.Linear(64 * 8, 64), nn.ReLU(), nn.Linear(64, 1),
)
model.load_state_dict(state)
Train Any Baseline
pip install spektran[dev] scikit-learn torch
spektran train --baseline ridge --json
spektran train --baseline cnn1d --json
spektran train --baseline ridge_crds --json
For AI Agents
import subprocess, json
result = subprocess.run(["spektran", "list", "baselines", "--json"],
capture_output=True, text=True)
baselines = json.loads(result.stdout)
result = subprocess.run(["spektran", "train", "--baseline", "ridge", "--json"],
capture_output=True, text=True)
scores = json.loads(result.stdout)
Citation
@software{spektran2026,
title = {SPEKTRAN: Synthetic ML Training Data for Optical Gas Sensing},
url = {https://github.com/spektran/spektran},
doi = {10.5281/zenodo.21790394},
version = {0.6.0},
year = {2026},
}
Links