harsharajkumar273/ReCL-Ultrasound-Dataset
Viewer β’ Updated β’ 908
Official model checkpoints for the paper "Respecting Physical Priors: Reconstructive Contrastive Learning for Signal-Domain Sim-to-Real Transfer" (NeurIPS 2026).
These model weights contain pre-trained MLP and CNN encoders trained under the ReCL objective on aperture-domain ultrasound RF datasets (PICMUS) and EEG denoising datasets (PhysioNet EEGBCI).
This repository contains the following checkpoint weights:
Ultrasound Encoders (Vanderbilt VU-BEAM Lab):
redcl_stage1_best.pt / _ckpt.pt: Depth-Aware ReCL pre-trained MLP encoder (Vanderbilt).recl_cnn_s42_best.pt / _s123_ / _s777_: ReCL pre-trained CNN backbones.recon_no_strat_s42_best.pt: Unstratified ReCL pre-trained MLP encoder.EEG Encoders (PhysioNet BCI):
eeg_redcl_best.pt / _ckpt.pt: ReCL pre-trained EEG MLP encoder.Baselines & Ablations:
byol_stage1_best.pt / simclr_stage1_best.pt: SimCLR and BYOL baseline MLP checkpoints.ablation_cosine_s42_best.pt / ablation_mse_only_s42_best.pt: Ablation checkweights.To load these pre-trained encoders in your local setup:
import torch
from src.model import Encoder
# 1. Initialize the MLP encoder model architecture
encoder = Encoder(input_dim=256, embedding_dim=256)
# 2. Load the state dictionary
checkpoint = torch.load("redcl_stage1_best.pt", map_location="cpu")
state_dict = checkpoint["model"] if "model" in checkpoint else checkpoint
# Extract encoder state dict weights (removes the "encoder." module prefix if present)
if any(k.startswith("encoder.") for k in state_dict.keys()):
state_dict = {k[len("encoder."):]: v for k, v in state_dict.items() if k.startswith("encoder.")}
encoder.load_state_dict(state_dict)
encoder.eval()
print("β ReCL Encoder model loaded successfully!")