コード例 #1
0
     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" ))
コード例 #2
0
ファイル: play-simple-loop.py プロジェクト: xjtumliu/SigGAN
        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)