def test_init():
    env = CarEnvV10()
    result = env.reset()

    assert result[0] == 0.0
    assert result[1] == env.distance
    assert result[2] == 0.0
Ejemplo n.º 2
0
def create_control(params: SimpleNamespace, config_name) -> LoopControlV10:

    env = CarEnvV10(mode_energy_penalty   = params.env_mode_energy_penalty,
                    mode_random           = params.env_mode_random,
                    mode_limit_steps      = params.env_mode_limit_steps,
                    mode_time_penalty     = params.env_mode_time_penalty)

    agent = SimpleAgentV10(env,
                           devicestr  = params.agent_device,
                           gamma           = params.agent_gamma_exp,
                           buffer_size     = params.agent_buffer_size,
                           target_net_sync = params.agent_target_net_sync,
                           eps_start       = params.agent_simple_eps_start,
                           eps_final       = params.agent_simple_eps_final,
                           eps_frames      = params.agent_simple_eps_frames,
                           )

    bridge = SimpleBridgeV10(agent=agent,
                             optimizer          = params.bridge_optimizer,
                             learning_rate      = params.bridge_learning_rate,
                             gamma              = params.bridge_gamma,
                             initial_population = params.bridge_initial_population,
                             batch_size         = params.bridge_batch_size,
                             )


    control = LoopControlV10(
        bridge              = bridge,
        run_name            = config_name,
        bound_avg_reward    = params.loop_bound_avg_reward,
        logtb               = params.loop_logtb,
        logfolder           = "./../runs/runv00")

    return control
def test_accelerate():
    env = CarEnvV10()
    env.reset()

    state, reward, done, _ = env.step(0)

    assert reward == 0
    assert done == False
    assert state[0] == 1.0
    assert state[1] == 999.0
    assert state[2] == 1.0
def test_declutch():
    env = CarEnvV10()
    env.reset()
    env.step(0)

    state, reward, done, _ = env.step(3)

    assert reward == 0
    assert done == False
    assert abs(state[0] - 1.9)<0.001
    assert abs(state[1] - 998.1)<0.001
    assert abs(state[2] - 0.9)<0.001
def test_keep_velocity():
    env = CarEnvV10()
    env.reset()
    env.step(0)

    state, reward, done, _ = env.step(2)

    assert reward == 0
    assert done == False
    assert state[0] == 2.0
    assert state[1] == 998.0
    assert state[2] == 1.0
def test_break():
    env = CarEnvV10()
    env.reset()

    env.step(0)
    state, reward, done, _ = env.step(1)

    assert reward == -1
    assert done == False
    assert state[0] == 1.0
    assert state[1] == 999.0
    assert state[2] == 0.0
def basic_simple_init(devicestr="cpu") -> SimpleBridgeV10:
    env = CarEnvV10()
    agent = SimpleAgentV10(env, devicestr, gamma=0.9, buffer_size=1000)
    bridge = SimpleBridgeV10(agent, gamma=0.9)

    return bridge
Ejemplo n.º 8
0
def basic_init_bridge() -> SimpleBridgeV10:
    env = CarEnvV10()
    agent = SimpleAgentV10(env, "cpu", gamma=0.9, buffer_size=1000)
    bridge = SimpleBridgeV10(agent, gamma=0.9)

    return bridge
def test_simpleagent_cpu():
    print("test cpu")
    env = CarEnvV10()
    agent = SimpleAgentV10(env, "cpu", gamma=GAMMA, buffer_size=REPLAY_SIZE)
    print(agent.get_net())
def test_simpleagent_config():
    print("test config")
    env = CarEnvV10()
    agent = SimpleAgentV10(env, "cuda", gamma=GAMMA, buffer_size=REPLAY_SIZE, hidden_size=16, hidden_layers=2)
    print(agent.get_net())
def test_simpleagent_cuda():
    print("test cuda")
    env = CarEnvV10()
    agent = SimpleAgentV10(env, "cuda", gamma=GAMMA, buffer_size=REPLAY_SIZE)