Git Product home page Git Product logo

csinet-pytorch's Introduction

CsiNet-Pytorch

Pytorch implementation of CsiNet (C. Wen, 2018)
and online learning (Y. Cui, 2022)

[1] Chao-Kai Wen, Wan-Ting Shih, and Shi Jin, β€œDeep learning for massive MIMO CSI feedback,” IEEE Wireless Communications Letters, 2018.
[2] Yiming Cui, Jiajia Guo, Chao-Kai Wen, Shi Jin, and Shuangfeng Han, "Unsupervised Online Learning in Deep Learning-Based Massive MIMO CSI Feedback", Unsupervised Online Learning in Deep Learning-Based Massive MIMO CSI Feedback, 2022.

some of functions are from https://github.com/WilliamYangXu/CSITransformer.

data:
You can download QuaDRiGa in https://quadriga-channel-model.de/ and generate channel.
Please put the channel data csv file in ./filepath folder.
Sample datasets are available in https://drive.google.com/drive/folders/1cWkGpdYPxrHSN55phGgyJ4YGHFZgSCS9?usp=sharing

run:
open 'main.py'
adjust parameters (dimension of codeword, the number of epochs, ...)
and run 'main.py'.

explanation of each python file

  • data.py: generates data, returns train dataloader and test dataloader
  • train.py: run train epochs and evaluations.
  • model.py: neural network models of encoer and decoder
  • main.py: run file

update 20230116
Here is the online learning with different scenarios added.
The model architecture is same as CsiNet(2018), not the online learning paper(2022)
What is online learning?
In the real time communication scenarios, each BS experience different environment (i.e., different probability density of channel).
Therefore, it is helpful to do fine tuning with each BS's data.
Since UE cannot transmit the whole channel matrix to BS,
BS doesn't have knowledge about data label.
Moreover, BS can't deliver the gradient flow to UE, so that the encoder in UE cannot be updated.
Therefore, the online learning only learns decoder part, without knowledge of channel label.

csinet-pytorch's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

csinet-pytorch's Issues

Comparison of csi-pytorch and csi-tensorflow

Hi SeokhyunJeong, I would like to ask about the missing SeriesAdditionalBlock class in the code, will this part be added later?
Will the csinet-pytorch code have the same effect as the tensorflow results in 'Deep learning for massive MIMO CSI feedback'?

Ask questions about datasets.

I'm sorry to bother you, but I also recently enjoyed the research on CSI feedback overhead in massive MIMO systems, and I'm glad to find your contribution here. However, I have encountered difficulties in using QuaDRiGa for dataset generation, I would appreciate it if you could share your dataset generation source code with me. Please contact me at [email protected]. Thank you very much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.