| | import argparse |
| | import numpy as np |
| |
|
| | from mlagents_envs.environment import UnityEnvironment |
| |
|
| | EPSILON = 0.001 |
| |
|
| |
|
| | def test_run_environment(env_name): |
| | """ |
| | Run the low-level API test of compressed sensors using the specified environment |
| | :param env_name: Name of the Unity environment binary to launch |
| | """ |
| | env = UnityEnvironment( |
| | file_name=env_name, no_graphics=True, additional_args=["-logFile", "-"] |
| | ) |
| |
|
| | try: |
| | |
| | env.reset() |
| |
|
| | env.step() |
| |
|
| | |
| | group_name = list(env.behavior_specs.keys())[0] |
| |
|
| | |
| | decision_steps, _ = env.get_steps(group_name) |
| |
|
| | |
| | |
| | obs_1 = decision_steps.obs[0][0, :, :, :] |
| | obs_2 = decision_steps.obs[0][1, :, :, :] |
| |
|
| | diff = np.abs(obs_1 - obs_2) |
| |
|
| | |
| | assert np.max(diff) < EPSILON |
| |
|
| | |
| | assert np.max(obs_1) > EPSILON |
| |
|
| | print("Observations were identical") |
| |
|
| | finally: |
| | env.close() |
| |
|
| |
|
| | if __name__ == "__main__": |
| | parser = argparse.ArgumentParser() |
| | parser.add_argument("--env", default="artifacts/testPlayer") |
| | args = parser.parse_args() |
| | test_run_environment(args.env) |
| |
|