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).