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
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
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)
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()