Go to file
2023-12-23 23:04:48 +08:00
demo debug and demo 2023-12-23 22:58:38 +08:00
saved debug and demo 2023-12-23 22:58:38 +08:00
.gitignore utils.py added 2023-12-23 13:25:39 +08:00
best_number_workers.py workers modified 2023-12-22 00:41:34 +08:00
channel.py debug and demo 2023-12-23 22:58:38 +08:00
eval.py debug and demo 2023-12-23 22:58:38 +08:00
model.py debug and demo 2023-12-23 22:58:38 +08:00
README.md add readme 2023-12-23 23:04:48 +08:00
requirements.txt requirements modified 2023-12-23 10:48:54 +08:00
train.py train.py modified 2023-12-23 21:49:20 +08:00
utils.py debug norm 2023-12-23 17:30:19 +08:00

Deep JSCC

This implements training of deep JSCC models for wireless image transmission as described in the paper Deep Joint Source-Channel Coding for Wireless Image Transmission by Pytorch. And there has been a Tensorflow and keras implementations .

This is my first time to use PyTorch and git to reproduce a paper, so there may be some mistakes. If you find any, please let me know. Thanks!

Architecture

architecture

Demo

I spend 3 days from 12-20 to 12-24 to reproduce the paper, and i get the result as follow. The result is not good, because i trained the model on cifar10 which is 3232 but test on kodim which is 768512 and the model is not trained enough.

That is all enough!! demo

Installation

conda or other virtual environment is recommended.

git clone https://github.com/chunbaobao/Deep-JSCC-PyTorch.git
pip install requirements.txt

Usage

Training Model

Run(example presented in paper)

cd ./Deep-JSCC-PyTorch
python train.py --lr 10e-4 --epochs 100 --batch_size 32 --channel 'AWGN' --saved ./saved --snr_list 1 4 7 13 19 --ratio_list 1/6 1/12 --dataset imagenet

or

python train.py --lr 10e-3 --epochs 100 --batch_size 512 --channel 'AWGN' --saved ./saved --dataset cifar10 --num_workers 4 --parallel True

Evaluation

Run(example presented in paper)

python eval.py --channel 'AWGN' --saved ./saved/${mode_path} --snr 20 --ratio_list 1/3 --test_img ./test_image ./demo/kodim08.png

Citation

If you find (part of) this code useful for your research, please consider citing

@misc{chunhang_Deep-JSCC,
  author = {chunhang},
  title = {a pytorch implementation of Deep JSCC},
  url ={https://github.com/chunbaobao/Deep-JSCC-PyTorch},
  year = {2023}
}