Exemplo n.º 1
0
    def create_random_generation(num_population, action_list):
        generation = []
        for pop_index in range(num_population):
            brain = Brain()
            brain.action_list = action_list
            brain.create_random_brain([30, 32])
            brain.index = pop_index
            generation.append(brain)

        return generation
from acions import NEW_COMPLEX_MOVEMENT

from Brain import Brain
import sys
import os
import cv2
movements = [
    NEW_COMPLEX_MOVEMENT, COMPLEX_MOVEMENT, SIMPLE_MOVEMENT, RIGHT_ONLY
]
movement = movements[3]
num_movement = len(movement)

load = False

brain = Brain()
brain.action_list = movement
if not load:
    brain.create_brain_q((60, 64))
else:
    brain.load_model(
        'model_fitness_4208_generation_99_population_index_99.sav',
        os.getcwd() + "/models/")
brain.generation_num = 99
brain.index = 99
fitness_list = []

environments_mario = [
    "SuperMarioBros-v0", "SuperMarioBros-v1", "SuperMarioBros-v2",
    "SuperMarioBros-v3", "SuperMarioBrosNoFrameskip-v0",
    "SuperMarioBrosNoFrameskip-v1", "SuperMarioBrosNoFrameskip-v2",
    "SuperMarioBrosNoFrameskip-v3", "SuperMarioBros2-v0", "SuperMarioBros2-v1",
Exemplo n.º 3
0
import numpy as np
from nes_py.wrappers import BinarySpaceToDiscreteSpaceEnv
import gym_super_mario_bros
from gym_super_mario_bros.actions import COMPLEX_MOVEMENT
from gym_super_mario_bros.actions import SIMPLE_MOVEMENT
from gym_super_mario_bros.actions import RIGHT_ONLY

from keras.utils import plot_model
import sys

from Brain import Brain

brain = Brain()
brain.action_list = SIMPLE_MOVEMENT
brain.create_random_brain((240, 256))

# TODO ADD in configuration variables here

environments_mario = [
    "SuperMarioBros-v0", "SuperMarioBros-v1", "SuperMarioBros-v2",
    "SuperMarioBros-v3", "SuperMarioBrosNoFrameskip-v0",
    "SuperMarioBrosNoFrameskip-v1", "SuperMarioBrosNoFrameskip-v2",
    "SuperMarioBrosNoFrameskip-v3", "SuperMarioBros2-v0", "SuperMarioBros2-v1",
    "SuperMarioBros2NoFrameskip-v0", "SuperMarioBros2NoFrameskip-v1"
]

movements = [COMPLEX_MOVEMENT, SIMPLE_MOVEMENT, RIGHT_ONLY]
movement = movements[1]


def eps_greedy_q_learning_with_table(env, num_episodes=5):