Beispiel #1
0
 def load(self):
     self.model = NeuralNetwork()
     self.model.load('car_model.dat')
     self.step = 0
     self.max_step = 0
     self.training_group = []
     self.best_traning = []
     RaceGame.__init__(self)
Beispiel #2
0
 def load(self):
     self.model = NeuralNetwork()
     self.model.load('car_model.dat')
     self.step = 0
     self.max_step = 0
     self.training_group = []
     self.best_traning = []
     RaceGame.__init__(self)
Beispiel #3
0
 def start(self):
     self.len_delta = len(self.delta_angle)
     self.nn_nodes = [5, 8, 5, self.len_delta]
     self.model = NeuralNetwork(self.nn_nodes)
     self.step = 0
     self.max_step = 0
     self.training_group = []
     self.best_traning = []
     RaceGame.__init__(self)
Beispiel #4
0
 def start(self):
     self.len_delta = len(self.delta_angle)
     self.nn_nodes = [5, 8, 5, self.len_delta]
     self.model = NeuralNetwork(self.nn_nodes)
     self.step = 0
     self.max_step = 0
     self.training_group = []
     self.best_traning = []
     RaceGame.__init__(self)
Beispiel #5
0
    def update(self):
        RaceGame.update(self)

        if self.is_broken:
            self.training_car()
            self.car.restart()
            self.training_group = []
            self.step = 0
        else:
            input = self.collision_sight + [self.car.angle]
            id_output = self.model.train(input)
            self.training_group.append((input, id_output))
            self.step += 1

            if self.step == 300:
                self.model.save('car_model.dat')

            self.car.update(delta_angle=self.delta_angle[id_output])
Beispiel #6
0
    def update(self):
        RaceGame.update(self)

        if self.is_broken:
            self.training_car()
            self.car.restart()
            self.training_group = []
            self.step = 0
        else:
            input = self.collision_sight + [self.car.angle]
            id_output = self.model.train(input)
            self.training_group.append((input, id_output))
            self.step += 1

            if self.step == 300:
                self.model.save('car_model.dat')

            self.car.update(delta_angle=self.delta_angle[id_output])
Beispiel #7
0
    def update(self):
        RaceGame.update(self)

        self.step_record[self.model_id] += 1
        if self.is_broken:
            self.model_id += 1
            if self.model_id == len(self.chromosome_weight):
                self.evaluation()
                self.selection()
                self.crossover()
                self.mutation()

                self.step_record = [0] * len(self.chromosome_weight)
                self.model_id = 0

            self.model = self.get_model(self.chromosome_weight[self.model_id])
            self.car.restart()
        else:
            self.car.update(delta_angle=self.get_angle(self.collision_sight + [self.car.angle]))
Beispiel #8
0
    def update(self):
        RaceGame.update(self)

        self.step_record[self.model_id] += 1
        if self.is_broken:
            self.model_id += 1
            if self.model_id == len(self.chromosome_weight):
                self.evaluation()
                self.selection()
                self.crossover()
                self.mutation()

                self.step_record = [0] * len(self.chromosome_weight)
                self.model_id = 0

            self.model = self.get_model(self.chromosome_weight[self.model_id])
            self.car.restart()
        else:
            self.car.update(delta_angle=self.get_angle(self.collision_sight +
                                                       [self.car.angle]))
Beispiel #9
0
    def __init__(self):
        self.delta_angle = [-0.03, -0.02, -0.01, 0, 0.01, 0.02, 0.03]
        self.nn_nodes = [5, 7]
        self.start()

        RaceGame.__init__(self)
Beispiel #10
0
    def __init__(self):
        self.delta_angle = [-0.03, -0.02, -0.01, 0, 0.01, 0.02, 0.03]
        self.nn_nodes = [5, 8, 5, 7]
        self.start()

        RaceGame.__init__(self)