コード例 #1
0
             ae.update_catalog("ed_"+name,info)
             update_status(ae, "history", {"name": name,
                                           "loss": losscomb(0, h),
                                           "acc": losscomb(1, h),
                                           "date": time_str()})
 if continue_encdecs:
     opt, dr, gbs, gsf, l2 = 'adadelta', 0.001, 0.001, 2, 0.001
     name = "o-"+str(opt)+"-dr-"+str(dr)+"-gbs-"+str(gbs)+"-gsf-"+str(gsf)+"-l1-"+str(0)+"-l2-"+str(l2)
     ae.enc_opt = opt
     ae.drop_rate = dr
     ae.sigma_base = gbs
     ae.sigma_fact = gsf
     ae.l1 = 0
     ae.l2 = l2
     ae.epochs = 20
     ae.load_encdecs(name)
     h = ae.pretrain(name=name)
     info = {"acc_pre_"+str(i): float(e[-1][1]) for (i,e) in enumerate(h)}
     info.update({("loss_pre_"+str(i)): float(e[-1][0]) for (i,e) in enumerate(h)})
     ae.update_catalog("ed_"+name,info)
     update_status(ae, "history", {"name": name,
                                   "loss": losscomb(0, h),
                                   "acc": losscomb(1, h),
                                   "date": time_str()})
 ### FINETUNE ###
 if finetune:
     ae.load_encdecs("best")
     encdec_opts = {key: ae.get_from_catalog(key, "ed_best") for key in encdec_opt_strings}
     #sink = Sink([ae], lambda r: print(r) if (not r is None) else None)
     #print('have sink')
     options = [(opt,cl,dr,gbs,gsf,l2)
コード例 #2
0
         name = "o-"+str(opt)+"-dr-"+str(dr)+"-gbs-"+str(gbs)+"-gsf-"+str(gsf)+"-l1-"+str(l1)+"-l2-"+str(l2)
         ae.enc_opt = opt
         ae.drop_rate = dr
         ae.sigma_base = gbs
         ae.sigma_fact = gsf
         ae.l1 = l1
         ae.l2 = l2
         ae.new_encdecs(use_dropout=(dr != 0), use_noise=(gbs != 0))
         print("training encdec "+name)
         h = ae.pretrain(name=name)
         info = {"acc_pre_"+str(i): float(e[-1][1]) for (i,e) in enumerate(h)}
         info.update({("loss_pre_"+str(i)): float(e[-1][0]) for (i,e) in enumerate(h)})
         ae.update_catalog("ed_"+name,info)
 ### FINETUNE ###
 cur_left_out = nsm.cross_val_keys[nsm.cross_val_index]
 ae.load_encdecs("best")
 ae.finetune(name="x-"+cur_left_out+"-val", train_encdecs=True, test_data=nsm.data[cur_left_out])
 info = {}
 for key in ae.previous_data:
     print(key)
     arr = np.array(ae.previous_data[key])
     phl = len(phase_names)
     eye = np.identity(phl)
     tc = to_categorical
     eva = ae.model.evaluate(arr,
                             tc(map(lambda n: phase_names.index(n)
                                    ,list(repeat(key, len(arr))))
                                ,phl)
                             ,show_accuracy=True)
     counts = np.sum(map(lambda p: eye[np.argmax(p)], ae.model.predict(arr)), axis=0)
     print(eva)
コード例 #3
0
         ae.sigma_fact = gsf
         ae.l1 = l1
         ae.l2 = l2
         ae.new_encdecs(use_dropout=(dr != 0), use_noise=(gbs != 0))
         print("training encdec " + name)
         h = ae.pretrain(name=name)
         info = {
             "acc_pre_" + str(i): float(e[-1][1])
             for (i, e) in enumerate(h)
         }
         info.update({("loss_pre_" + str(i)): float(e[-1][0])
                      for (i, e) in enumerate(h)})
         ae.update_catalog("ed_" + name, info)
 ### FINETUNE ###
 cur_left_out = nsm.cross_val_keys[nsm.cross_val_index]
 ae.load_encdecs("best")
 ae.finetune(name="x-" + cur_left_out + "-val",
             train_encdecs=True,
             test_data=nsm.data[cur_left_out])
 info = {}
 for key in ae.previous_data:
     print(key)
     arr = np.array(ae.previous_data[key])
     phl = len(phase_names)
     eye = np.identity(phl)
     tc = to_categorical
     eva = ae.model.evaluate(arr,
                             tc(
                                 map(lambda n: phase_names.index(n),
                                     list(repeat(key, len(arr)))), phl),
                             show_accuracy=True)