File size: 5,489 Bytes
ca274a1 1534fe9 ca274a1 1534fe9 5418fda 1534fe9 5418fda 1534fe9 5418fda 1534fe9 5418fda 1534fe9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | ---
license: cc-by-nc-4.0
library_name: pytorch
pipeline_tag: feature-extraction
tags:
- wireless
- channel-state-information
- channel-foundation-model
- contrastive-learning
- resnet
---
# CSI-CLIP ResNet-50
CSI-CLIP is a channel foundation model that aligns channel state information
(CSI/CFR) and channel impulse response (CIR) representations through
contrastive pre-training. This repository contains the official model-only
ResNet-50 weights associated with
[*A MIMO Wireless Channel Foundation Model via CIR-CSI Consistency*](https://arxiv.org/abs/2502.11965).
- Code: [GREAT-ISAC/CSI-CLIP](https://github.com/GREAT-ISAC/CSI-CLIP)
- Reference data generation: [GREAT-ISAC/Channel-Simulation-Data](https://github.com/GREAT-ISAC/Channel-Simulation-Data)
- Paper: [arXiv:2502.11965](https://arxiv.org/abs/2502.11965)
- IEEE: [ICMLCN 2025](https://ieeexplore.ieee.org/abstract/document/11140262/)
## Weight files
Both files contain the same pre-trained model parameters. They do not contain
an optimizer, scheduler, training data, or a downstream task head.
| File | Type | Intended use |
| --- | --- | --- |
| `model.safetensors` | Model-only pre-trained weights | Recommended for safe standalone loading and feature extraction |
| `model.pth` | Model-only PyTorch checkpoint with a `model` key | Compatibility with the existing fine-tuning scripts |
These are channel-foundation-model pre-training weights, not task-specific checkpoints
for positioning, beam management, or LOS/NLOS classification. A downstream
head must be trained before task-level inference.
The original checkpoint used the legacy names `cfr_backbone`, `cir_backbone`,
`proj_cfr`, and `proj_cir`. They were mapped to the names in the public
`CSICLIP` class without changing the tensors. The public class additionally
expects `logit_scale`; because the original checkpoint predates that parameter,
it is initialized to the documented CLIP default of `log(1 / 0.07)`. This does
not affect CSI encoder feature extraction. Exact SHA-256 values are recorded in
`manifest.json`.
## Input contract
| Property | Value |
| --- | --- |
| Input shape | `[batch, 2, 256, 256]` |
| Channel order | Real, imaginary |
| Dtype | `float32` |
| Normalization | Per-sample, per-channel min-max normalization to `[0, 1]` |
| Normalization epsilon | `1e-8` |
| CIR construction | IFFT of the normalized complex CSI along the last axis |
| CSI embedding size | 256 |
The same preprocessing must be used during training, fine-tuning, and
inference. The repository implementation is authoritative; see
`build_cir_cfr_pair` in `augmentations.py`.
## Usage
Install the code and its minimal dependencies:
```bash
git clone https://github.com/GREAT-ISAC/CSI-CLIP.git
cd CSI-CLIP
pip install -r requirements.txt
```
After downloading `model.safetensors`, run the model-loading smoke test:
```bash
python load_pretrained.py \
--checkpoint /path/to/model.safetensors
```
Expected output:
```text
CSI embedding shape: (1, 256)
```
Run feature extraction on a complex `cfr.npy` sample:
```bash
python load_pretrained.py \
--checkpoint /path/to/model.safetensors \
--input /path/to/scenario/cfr.npy \
--sample-index 0
```
## Training data
The model was pre-trained on simulated DeepMIMO CSI covering multiple wireless
scenarios. Generated training arrays are not included in this model repository.
A **reproducible, model-compatible reference data-generation pipeline** is
available in [Channel Simulation Data](https://github.com/GREAT-ISAC/Channel-Simulation-Data).
Its committed O1_60 configuration is one runnable reference example; it does
not reconstruct the complete multi-scenario checkpoint training data.
## Intended use
- Research on wireless/channel foundation models.
- CSI representation and feature extraction.
- Initialization for positioning, beam management, and LOS/NLOS classifiers.
- Non-commercial evaluation and reproducibility studies.
## Limitations and out-of-scope use
- The model was trained on simulated data; performance on measured channels is
not guaranteed.
- Inputs with different antenna/subcarrier layouts require an explicitly
validated adaptation rather than an assumed reshape.
- The released weights do not provide task predictions without a trained
downstream head.
- The model is not intended for safety-critical deployment or commercial use.
- Results depend on reproducing the documented preprocessing exactly.
## License
The original CSI-CLIP code, these model weights, and the repository-owned
data-generation scripts are released under the
[Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/)
license (**CC BY-NC 4.0**). Attribution is required and commercial use is not
permitted without prior written authorization from the copyright holders.
Third-party software, simulators, datasets, and scenario assets remain subject
to their respective licenses.
## Citation
```bibtex
@inproceedings{jiang2025csi_clip,
title={A MIMO Wireless Channel Foundation Model via CIR-CSI Consistency},
author={Jiang, Jun and Yu, Wenjun and Li, Yunfan and Gao, Yuan and Xu, Shugong},
booktitle={2025 IEEE International Conference on Machine Learning for Communication and Networking (ICMLCN)},
pages={1--6},
year={2025},
doi={10.1109/ICMLCN64995.2025.11140262}
}
```
## Contact
For questions, contact Jun Jiang at
[Jun.Jiang25@student.xjtlu.edu.cn](mailto:Jun.Jiang25@student.xjtlu.edu.cn).
|