def test_init(): env = CarEnvV10() result = env.reset() assert result[0] == 0.0 assert result[1] == env.distance assert result[2] == 0.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
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)