Skip to content
Ngô Xuân Phong edited this page May 17, 2023 · 5 revisions

FUNCTION

* Agent(state, agent_data):
    input: state, data
    output: action(int), data
* getValidActions(state): 
    input: state(np.float64)
    output: np.array valid action in turn of Environment
* getReward(state):
    input: state(np.float64)
    output: -1, 0, 1
* getActionSize():
    input: None
    output: int, count of array action size of Env
* getStateSize():
    input: None
    output: int, count of array state size of Env

Run environment:

Basic agent

from numba import njit
import numpy as np

@njit()
def Agent(state, agent_data):
    validActions = env.getValidActions(state)
    actions = np.where(validActions==1)[0]
    action = np.random.choice(actions)
    return arr_action[idx], agent_data

Import one env

from setup import make
env = make('SushiGo')

More env please read Environments

Run multiple matches of a environment

env = make('SushiGo)
count_win, agent_data = env.numba_main_2(Agent, count_game_train = 1, agent_data = [0], level = 0)
Var Type Description
count_game_train int matches of a environment
agent_data any data train of agent
level 0, 1, -1 level of environment (update more later)

Render one game

env.render(Agent=Agent, per_data=[0], level=0, max_temp_frame=100)
Clone this wiki locally