reward_types = [True] res_r={} for reward_type in reward_types: res_b={} for beta in betas: thr=False res_e={} res_e[0]={"cnvg_val": trainer.test_curr_discriminator_batch(), "steps": 0} for epsilon in eps: print("t: "+str(n_authorized)+", snr: "+str(snr)+", eps: "+str(epsilon)+", beta: "+str(beta)+", reward: "+str(reward_type)) if thr: res_e[epsilon]={"cnvg_val": trainer.test_curr_discriminator_batch(), "steps": 0} else: trainer.reset_generator(lr=1e-3, epsilon=epsilon, beta=beta, binary_reward=reward_type) trainer.reflect_pre_train() cnvg_val, steps = trainer.train_loop(steps=1000, sensitivity=sensitivity) res_e[epsilon]={"cnvg_val": cnvg_val, "steps": steps} if(cnvg_val < 0.01): thr=True res_b[beta]=res_e res_r[reward_type]=res_b res_t[snr]=res_r data_pickle[n_authorized]=res_t if(dump_pickle_each_loop): pickle.dump(data_pickle, open(pickle_path, "wb" )) res_b[beta]=res_e res_r[reward_type]=res_b res_t[snr]=res_r data_pickle[n_authorized]=res_t if(dump_pickle_each_loop): pickle.dump(data_pickle, open(pickle_path, "wb" ))
sig_im_train_re_t = sig_im_train.reshape((-1, 2)) sig_im_valid_re = sig_im_valid.reshape((-1, 1, 2)) sig_im_valid_re_t = sig_im_valid.reshape((-1, 2)) sig_im_test_re = sig_im_test.reshape((-1, 1, 2)) trainer.pre_train_generator( g_epochs=100, g_pre_data_train=[sig_im_train_re, sig_im_train_re_t], g_pre_data_valid=[sig_im_valid_re, sig_im_valid_re_t], lr=1e-3) pred_curr = trainer.predict_curr_discriminator() assert (pred_curr <= 0.4) [0., 0.02, 0.05, 0.07, 0.08, 0.10, 0.12, 0.2] eps = [0., 0.02, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.12, 0.15, 0.2] betas = [0, 1000, 5000, 7500, 10000, 12500, 15000, 20000] reward_types = [True, False] for epsilon in eps: for beta in betas: for reward_type in reward_types: trainer.reset_generator(lr=1e-3, epsilon=0.05, beta=5000, binary_reward=True) trainer.reflect_pre_train() trainer.train(steps=1000)