Model Card β€” GenAI Channel Modeling Models

Pre-trained checkpoints for the paper:

Site-Specific MIMO Channel Generation via Diffusion and Flow Matching: Fidelity, Efficiency, and Downstream Utility
Sina Beyraghi, Masoud Sadeghian, Firdous Bin Ismail, Angel Lozano, Paul Almasan, and Giovanni Geraci
[TBC]


Model overview

Two conditional generative model architectures are provided:

Abbreviation Full name Inference mechanism
cDDIM Conditional Denoising Diffusion Implicit Model Reverse diffusion, n_T = 150 steps
cFMM Conditional Flow Matching Model Euler integration, steps = 10

Both share the same Context U-Net backbone (~15.6 M parameters, n_feat = 256) and are conditioned on 3-dimensional UE coordinates (n_classes = 3). Channels are represented in beamspace as two-channel real tensors of shape (2, 4, 32) (real and imaginary parts; 4 Rx Γ— 32 Tx beams for a 2Γ—2 Rx UPA and 4Γ—8 Tx UPA).


Available checkpoints

Checkpoints are organised under logs/ using the naming convention:

{MODEL}_{dataset}_{freq}_{scenario}_{guide_w}_{N_train}_{date}/

where N_train is the number of real training samples used.

cDDIM β€” 3.5 GHz, LoS

N_train Directory
200 logs/CDDIM_sina_dataset_3.5GHz_LoS_0.0_200_14_05_2026_10_19/
500 logs/CDDIM_sina_dataset_3.5GHz_LoS_0.0_500_19_05_2026_09_32/
1 000 logs/CDDIM_sina_dataset_3.5GHz_LoS_0.0_1000_19_05_2026_09_33/
2 000 logs/CDDIM_sina_dataset_3.5GHz_LoS_0.0_2000_19_05_2026_09_46/
5 000 logs/CDDIM_sina_dataset_3.5GHz_LoS_0.0_5000_19_05_2026_10_00/
10 000 logs/CDDIM_sina_dataset_3.5GHz_LoS_0.0_10000_20_05_2026_09_55/

cDDIM β€” 3.5 GHz, NLoS + LoS

N_train Directory
200 logs/CDDIM_sina_dataset_3.5GHz_NLoS+LoS_0.0_200_15_05_2026_14_55/
500 logs/CDDIM_sina_dataset_3.5GHz_NLoS+LoS_0.0_500_19_05_2026_11_51/
1 000 logs/CDDIM_sina_dataset_3.5GHz_NLoS+LoS_0.0_1000_19_05_2026_11_57/
2 000 logs/CDDIM_sina_dataset_3.5GHz_NLoS+LoS_0.0_2000_19_05_2026_11_57/
5 000 logs/CDDIM_sina_dataset_3.5GHz_NLoS+LoS_0.0_5000_19_05_2026_11_58/
10 000 logs/CDDIM_sina_dataset_3.5GHz_NLoS+LoS_0.0_10000_19_05_2026_11_58/

cDDIM β€” 28 GHz, LoS

N_train Directory
200 logs/CDDIM_sina_dataset_28GHz_LoS_0.0_200_13_05_2026_15_07/
500 logs/CDDIM_sina_dataset_28GHz_LoS_0.0_500_28_05_2026_09_33/
1 000 logs/CDDIM_sina_dataset_28GHz_LoS_0.0_1000_27_05_2026_08_52/

cFMM β€” 3.5 GHz, LoS

N_train Directory
200 logs/FMM_sina_dataset_3.5GHz_LoS_0.0_200_14_05_2026_10_21/
500 logs/FMM_sina_dataset_3.5GHz_LoS_0.0_500_19_05_2026_12_22/
1 000 logs/FMM_sina_dataset_3.5GHz_LoS_0.0_1000_19_05_2026_12_23/
2 000 logs/FMM_sina_dataset_3.5GHz_LoS_0.0_2000_19_05_2026_12_23/
5 000 logs/FMM_sina_dataset_3.5GHz_LoS_0.0_5000_19_05_2026_13_10/
10 000 logs/FMM_sina_dataset_3.5GHz_LoS_0.0_10000_20_05_2026_09_57/

cFMM β€” 3.5 GHz, NLoS + LoS

N_train Directory
200 logs/FMM_sina_dataset_3.5GHz_NLoS+LoS_0.0_200_15_05_2026_14_57/
500 logs/FMM_sina_dataset_3.5GHz_NLoS+LoS_0.0_500_19_05_2026_14_28/
1 000 logs/FMM_sina_dataset_3.5GHz_NLoS+LoS_0.0_1000_19_05_2026_14_28/
2 000 logs/FMM_sina_dataset_3.5GHz_NLoS+LoS_0.0_2000_19_05_2026_14_29/
5 000 logs/FMM_sina_dataset_3.5GHz_NLoS+LoS_0.0_5000_19_05_2026_14_29/
10 000 logs/FMM_sina_dataset_3.5GHz_NLoS+LoS_0.0_10000_19_05_2026_14_30/

cFMM β€” 28 GHz, LoS

N_train Directory
200 logs/FMM_sina_dataset_28GHz_LoS_0.0_200_13_05_2026_15_08/
500 logs/FMM_sina_dataset_28GHz_LoS_0.0_500_28_05_2026_09_34/
1 000 logs/FMM_sina_dataset_28GHz_LoS_0.0_1000_27_05_2026_08_55/

Checkpoint contents

Each model directory contains:

File Description
model.pth PyTorch state-dict of the trained model
training_config.txt Hyperparameters used during training
training_log.txt Loss curves and validation metrics logged during training
indices.npy Shuffled dataset indices defining the train/val/test split
train.npy / val.npy / test.npy Pre-processed channel arrays for each split
train_coords.npy / val_coords.npy / test_coords.npy Corresponding UE coordinates

Important: The indices.npy file fixes the data split. cFMM checkpoints reuse the indices from the corresponding cDDIM run to ensure identical splits across both models.


Downloading the checkpoints

git clone https://huggingface.co/PaulAlm/GenAI_Channel_Modeling_Models
cd GenAI_Channel_Modeling_Models
unzip logs.zip

Running inference

After downloading, set the save_dir variable in the inference script to the desired model directory and run:

# cDDIM β€” LoS
python infer_cDDIM_LoS.py generate

# cFMM β€” LoS
python infer_cFMM_LoS.py generate

Full instructions are in the code repository.


Training details

Hyperparameter cDDIM cFMM
Epochs 3 000 2 000
Batch size 100 100
Learning rate 1 Γ— 10⁻⁴ 1 Γ— 10⁻⁴
Inference steps 150 (DDIM) 10 (Euler)
Conditioning 3D UE coordinates 3D UE coordinates
Guidance weight 0.0 0.0
Model parameters ~15.6 M ~15.6 M

Datasets

The corresponding channel datasets are available at:
https://huggingface.co/datasets/PaulAlm/GenAI_Channel_Modeling_Datasets


Related resources


Citation

If you use these models, please cite:

@article{beyraghi2025sitespecific,
  title   = {Site-Specific MIMO Channel Generation via Diffusion and Flow Matching:
             Fidelity, Efficiency, and Downstream Utility},
  author  = {Beyraghi, Sina and Sadeghian, Masoud and Bin Ismail, Firdous and
             Lozano, Angel and Almasan, Paul and Geraci, Giovanni},
  journal = {arXiv preprint arXiv:2510.10190},
  year    = {2025}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Paper for PaulAlm/GenAI_Channel_Modeling_Models