Skip to content

Codes for "Deep Joint Source-Channel Coding for Wireless Image Transmission with Adaptive Rate Control", ICASSP 2022

Notifications You must be signed in to change notification settings

mingyuyng/Dynamic_JSCC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic_JSCC

This is the code for paper Deep Joint Source-Channel Coding for Wireless Image Transmission with Adaptive Rate Control. The model is implemented with PyTorch.

structure

Usage

The basic settings are contained in options/base_options.py, options/train_options.py, and options/test_options.py. The style of coding is borrowed from CycleGAN.

Training

usage: train_dyna.py [-h] [--gpu_ids GPU_IDS]
                 [--checkpoints_dir CHECKPOINTS_DIR] [--model MODEL]
                 [--input_nc INPUT_NC] [--output_nc OUTPUT_NC] [--ngf NGF]
                 [--ndf NDF] [--max_ngf MAX_NGF] [--norm NORM]
                 [--init_type INIT_TYPE] [--init_gain INIT_GAIN]
                 [--n_downsample N_DOWNSAMPLE] [--n_blocks N_BLOCKS]
                 [--C_channel C_CHANNEL] [--G_n G_N] [--G_s G_S]
                 [--select SELECT] [--SNR_MAX SNR_MAX] [--SNR_MIN SNR_MIN]
                 [--lambda_reward LAMBDA_REWARD] [--lambda_L2 LAMBDA_L2]
                 [--batch_size BATCH_SIZE]
                 [--max_dataset_size MAX_DATASET_SIZE] [--epoch EPOCH]
                 [--load_iter LOAD_ITER] [--verbose] [--suffix SUFFIX]
                 [--save_latest_freq SAVE_LATEST_FREQ]
                 [--print_freq PRINT_FREQ]
                 [--save_epoch_freq SAVE_EPOCH_FREQ] [--save_by_iter]
                 [--continue_train] [--epoch_count EPOCH_COUNT]
                 [--phase PHASE] [--n_epochs_joint N_EPOCHS_JOINT]
                 [--n_epochs_decay N_EPOCHS_DECAY]
                 [--n_epochs_fine N_EPOCHS_FINE] [--lr_joint LR_JOINT]
                 [--lr_decay LR_DECAY] [--lr_fine LR_FINE]
                 [--temp_init TEMP_INIT] [--eta ETA]

Example usage:

python train_dyna.py --gpu_ids '0' --select 'hard' --SNR_MIN 0 --SNR_MAX 20 --lambda_reward 2e-3

Testing

usage: test_dyna.py [-h] [--gpu_ids GPU_IDS]
                [--checkpoints_dir CHECKPOINTS_DIR] [--model MODEL]
                [--input_nc INPUT_NC] [--output_nc OUTPUT_NC] [--ngf NGF]
                [--ndf NDF] [--max_ngf MAX_NGF] [--norm NORM]
                [--init_type INIT_TYPE] [--init_gain INIT_GAIN]
                [--n_downsample N_DOWNSAMPLE] [--n_blocks N_BLOCKS]
                [--C_channel C_CHANNEL] [--G_n G_N] [--G_s G_S]
                [--select SELECT] [--SNR_MAX SNR_MAX] [--SNR_MIN SNR_MIN]
                [--lambda_reward LAMBDA_REWARD] [--lambda_L2 LAMBDA_L2]
                [--batch_size BATCH_SIZE]
                [--max_dataset_size MAX_DATASET_SIZE] [--epoch EPOCH]
                [--load_iter LOAD_ITER] [--verbose] [--suffix SUFFIX]
                [--phase PHASE] [--num_test NUM_TEST]
                [--num_test_channel NUM_TEST_CHANNEL] [--SNR SNR]

Example usage:

python test_dyna.py --gpu_ids '0' --select 'hard' --SNR_MIN 0 --SNR_MAX 20 --lambda_reward 2e-3 --num_test 10000 --num_test_channel 1 --SNR 5

Reference

@misc{yang2021deep,
  title={Deep Joint Source-Channel Coding for Wireless Image Transmission with Adaptive Rate Control}, 
  author={Mingyu Yang and Hun-Seok Kim},
  year={2021},
  eprint={2110.04456},
  archivePrefix={arXiv},
  primaryClass={eess.SP}
}

About

Codes for "Deep Joint Source-Channel Coding for Wireless Image Transmission with Adaptive Rate Control", ICASSP 2022

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages