SeokhyunJeong / CsiNet-Pytorch

Pytorch reproduction of CsiNet
17 stars 0 forks source link

Comparison of csi-pytorch and csi-tensorflow #2

Open cencenxy opened 1 year ago

cencenxy commented 1 year ago

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'?

SeokhyunJeong commented 1 year ago

Hi cencenxy, thank you for your comment.

I added SeriesAdditionalBlock class in model.py. Please see the updated model.py file. I appreciate your advice.

I made csinet-pytorch model architecture as written as the CsiNet, so it works exactly same as it. However, in my code, the test metric was MSE (not NMSE), so the result will be somewhat different. I updated NMSE function in train.py, and implemented NMSE for the test metric. Now, you can see NMSE as a test metric.

Thank you!

cencenxy commented 1 year ago

Hi cencenxy, thank you for your comment.

I added SeriesAdditionalBlock class in model.py. Please see the updated model.py file. I appreciate your advice.

I made csinet-pytorch model architecture as written as the CsiNet, so it works exactly same as it. However, in my code, the test metric was MSE (not NMSE), so the result will be somewhat different. I updated NMSE function in train.py, and implemented NMSE for the test metric. Now, you can see NMSE as a test metric.

Thank you!

Thank you for your patient reply and code update. I still have some questions that I don't understand and I would like to ask for your advice. In the code of 'Deep learning for massive MIMO CSI feedback', the author used a lot of '.m' data based on the cost2100 channel. So why is the data in your code a CSV file?

SeokhyunJeong commented 1 year ago

As you said, CsiNet authors used COST2100 channel model. However, I wanted to do an experiment in mmWave channel model, as well as sub 6GHz. Because COST2100 doesn't support mmWave, I chose the QuaDRiGa as a dataset, whose output is .csv file. There's no other reason except I wanted to generate mmWave channel data.

Thank you for your question.

cencenxy commented 1 year ago

As you said, CsiNet authors used COST2100 channel model. However, I wanted to do an experiment in mmWave channel model, as well as sub 6GHz. Because COST2100 doesn't support mmWave, I chose the QuaDRiGa as a dataset, whose output is .csv file. There's no other reason except I wanted to generate mmWave channel data.

Thank you for your question.

Thank you very much for your patient reply. Best regards.

SeokhyunJeong commented 1 year ago

Thank you! If you have any issues, feel free to comment here!

Andy7129z commented 1 year ago

I changed the value of encoded_dim to change the compression ratio, but the value of NMSE didn't change

SeokhyunJeong commented 1 year ago

Hi, Andy7129z, thank you for your comment.

I think you changed the variable 'encoded_dim' in model.py line 11. I'm afraid you were somewhat confused since it was a useless variable. I revised the code for it so that you can check model.py line 11.

Instead, you might want to change the variable 'dim' in main.py line 37. Please check if the NMSE changes when you change 'dim' in main.py.

Thank you!

I changed the value of encoded_dim to change the compression ratio, but the value of NMSE didn't change

FardadAnsari commented 6 months ago

can you give some predefined setting about the dataset, indoor or outdoor and frequency