opt.n_layers_D = 4 opt.label_smooth = 1 # Label smoothing factor (for lsgan and vanilla gan only) opt.n_downsample = 3 # Downsample times opt.n_blocks = 4 # Numebr of residual blocks opt.first_kernel = 5 # The filter size of the first convolutional layer in encoder opt.batch_size = 16 opt.n_epochs = 20 # # of epochs without lr decay opt.n_epochs_decay = 20 # # of epochs with lr decay opt.lr_policy = 'linear' # decay policy. Availability: see options/train_options.py opt.beta1 = 0.5 # parameter for ADAM opt.lr = 5e-4 ############################ Things recommanded to be changed ########################################## # Set up the training procedure opt.C_channel = 24 opt.SNR = 5 opt.is_feedback = False opt.feedforward = 'EXPLICIT-RES' opt.N_pilot = 1 # Number of pilots for chanenl estimation opt.CE = 'MMSE' # Channel Estimation Method opt.EQ = 'MMSE' # Equalization Method opt.pilot = 'ZadoffChu' # QPSK or ZadoffChu opt.is_clip = False opt.CR = 0 if not opt.is_clip else 1.2 opt.is_regu_PAPR = False opt.lam_PAPR = 0.1
elif opt.dataset_mode == 'CelebA': opt.n_layers_D = 3 opt.label_smooth = 1 # Label smoothing factor (for lsgan and vanilla gan only) opt.n_downsample = 3 # Downsample times opt.n_blocks = 2 # Numebr of residual blocks opt.first_kernel = 5 # The filter size of the first convolutional layer in encoder opt.batchSize = 64 opt.n_epochs = 30 # # of epochs without lr decay opt.n_epochs_decay = 30 # # of epochs with lr decay opt.lr_policy = 'linear' # decay policy. Availability: see options/train_options.py opt.beta1 = 0.5 # parameter for ADAM opt.lr = 5e-4 ############################ Things recommanded to be changed ########################################## # Set up the training procedure opt.C_channel = 12 opt.SNR = 20 opt.is_feedback = False opt.feedforward = 'EXPLICIT-RES' opt.N_pilot = 2 # Number of pilots for chanenl estimation opt.CE = 'MMSE' # Channel Estimation Method opt.EQ = 'MMSE' # Equalization Method opt.pilot = 'ZadoffChu' # QPSK or ZadoffChu opt.is_clip = False opt.CR = 0 if not opt.is_clip else 1 opt.is_regu_PAPR = True opt.lam_PAPR = 0.5 opt.is_regu_sigma = False
import torch import torchvision import torchvision.transforms as transforms import scipy.io as sio # Extract the options opt = TrainOptions().parse() # For testing the neural networks, manually edit/add options below opt.gan_mode = 'none' # 'wgangp', 'lsgan', 'vanilla', 'none' opt.n_layers_D = 3 opt.label_smooth = 1 # Label smoothing factor (for lsgan and vanilla gan only) opt.C_channel = 16 # The output channel number of encoder (Important: it controls the rate) opt.n_downsample= 2 # Downsample times opt.n_blocks = 2 # Numebr of residual blocks opt.first_kernel = 5 # The filter size of the first convolutional layer in encoder # Set the input dataset opt.dataset_mode = 'CIFAR10' # Current dataset: CIFAR10, CelebA # Choose the channel opt.channel = 'awgn' # Available channels: 'awgn', 'ofdm', 'bsc' # Set up the training procedure opt.batchSize = 64 # batch size opt.n_epochs = 300 # # of epochs without lr decay opt.n_epochs_decay = 300 # # of epochs with lr decay opt.lr = 5e-4 # Initial learning rate