Ejemplo n.º 1
0
 def __init__(self):
     self.First_Gen = Genetic.Chromosomes_Offset()
     self.Gen_S = Genetic.Gen_Selection()
     self.Gen_C = Genetic.CrossOver()
     self.Gen_M = Genetic.Mutation()
     self.PathG = './CrS/'
     self.PathS = './Score/score.txt'
     self.PathE = './E_Cons/E_Cons.txt'
     pass
Ejemplo n.º 2
0
 def __init__(self):
     self.First_Gen = Genetic.Chromosomes_Offset()
     self.Gen_S = Genetic.Gen_Selection()
     self.Gen_C = Genetic.CrossOver()
     self.Gen_M = Genetic.Mutation()
     self.Gen_List = self.Get_Gene()
     self.score = self.Get_Score()
     self.E_Cons = self.Get_ECons()
     self.F_Cons = 10
Ejemplo n.º 3
0
def Mainthread():
    for k in range(10):
        if (k == 0):
            Gen_C = Genetic.Chromosomes_Offset()
            Gen_List = Gen_C.initGen(8)
            for i in range(len(Gen_List)):
                f = open('./CrS/' + str(i) + '.txt', 'w')
                f.write(Gen_List[i][0])
                f.write(Gen_List[i][1])
                f.close()
            Mgen = []
            Sgen = []
            for i in range(len(Gen_List)):
                Mgen.append(Gen_List[i][0])
                Sgen.append(Gen_List[i][1])
            for i in range(len(Mgen)):
                Model = Model_Converter.GeneticModel(Mgen[i], Sgen[i]).model
                model_json = Model.to_json()
                f = open('./model/model' + str(i) + '.json', 'w')
                f.write(model_json)
                f.close()
        else:
            Gen_M = gen_main.GenMain()
            Gen_M.main()

        for j in range(8):
            json_file = open("./model/model" + str(i) + ".json", "r")
            loaded_model_json = json_file.read()
            json_file.close()
            loaded_model = keras.models.model_from_json(loaded_model_json)
            memory = SequentialMemory(limit=50000, window_length=1)
            policy = BoltzmannQPolicy()
            dqn = DQNAgent(model=loaded_model,
                           nb_actions=nb_actions,
                           memory=memory,
                           nb_steps_warmup=10,
                           target_model_update=1e-2,
                           policy=policy)
            dqn.compile(Adam(lr=1e-3), metrics=['mae'])
            dqn.fit(env, nb_steps=30000, visualize=False, verbose=2)
            dqn.save_weights('t_score/dqn_' + str(k) + '_' + str(j) +
                             '{}_weights.h5f'.format(env_name),
                             overwrite=True)
            Calc_E_Cons_and_Perfomance(dqn, j)
Ejemplo n.º 4
0
        json_file = open("./model/model" + str(i) + ".json", "r")
        loaded_model_json = json_file.read()
        json_file.close()
        loaded_model = tf.keras.models.model_from_json(loaded_model_json)
        model.append(loaded_model)
    return model


if __name__ == "__main__":
    global_step = 0
    # In case of BreakoutDeterministic-v3, always skip 4 frames
    # Deterministic-v4 version use 4 actions
    env = gym.make('BreakoutDeterministic-v4')
    for j in range(10):
        if (j == 0):
            Gen_C = Genetic.Chromosomes_Offset()
            Gen_List = Gen_C.initGen(8)
            Mgen = []
            Sgen = []
            for i in range(len(Gen_List)):
                Mgen.append(Gen_List[i][0])
                Sgen.append(Gen_List[i][1])
            for i in range(len(Mgen)):
                Model = Model_Converter.GeneticModel(Mgen[i], Sgen[i]).model
                model_json = Model.to_json()
                with open("model/model" + str(i) + ".json", "w") as json_file:
                    json_file.write(model_json)
            f = open('./Score/score.txt', 'w')
            g = open('./E_Cons/E_Cons.txt', 'w')
            f.close()
            g.close()