def test_unsupported_version_raises_error(mock_get_demo_files): # Create a metadata proto with an unsupported version bad_metadata = DemonstrationMetaProto() bad_metadata.api_version = 1337 # Write the metadata to a temporary buffer, which will get returned by open() buffer = io.BytesIO() write_delimited(buffer, bad_metadata) m = mock.mock_open(read_data=buffer.getvalue()) # Make sure that we get a RuntimeError when trying to load this. with mock.patch("builtins.open", m): with pytest.raises(RuntimeError): load_demonstration("foo")
def test_load_demo_dir(): path_prefix = os.path.dirname(os.path.abspath(__file__)) behavior_spec, pair_infos, total_expected = load_demonstration( path_prefix + "/test_demo_dir") assert np.sum(behavior_spec.observation_shapes[0]) == 8 assert len(pair_infos) == total_expected _, demo_buffer = demo_to_buffer(path_prefix + "/test_demo_dir", 1) assert len(demo_buffer["actions"]) == total_expected - 1
def test_load_demo(): path_prefix = os.path.dirname(os.path.abspath(__file__)) brain_parameters, brain_infos, total_expected = load_demonstration( path_prefix + '/test.demo') assert (brain_parameters.brain_name == "Ball3DBrain") assert (brain_parameters.vector_observation_space_size == 8) assert (len(brain_infos) == total_expected) demo_buffer = make_demo_buffer(brain_infos, brain_parameters, 1) assert (len(demo_buffer.update_buffer['actions']) == total_expected - 1)
def test_load_demo(): path_prefix = os.path.dirname(os.path.abspath(__file__)) brain_parameters, pair_infos, total_expected = load_demonstration( path_prefix + "/test.demo") assert brain_parameters.brain_name == "Ball3DBrain" assert brain_parameters.vector_observation_space_size == 8 assert len(pair_infos) == total_expected _, demo_buffer = demo_to_buffer(path_prefix + "/test.demo", 1) assert len(demo_buffer["actions"]) == total_expected - 1
def test_load_demo_dir(): path_prefix = os.path.dirname(os.path.abspath(__file__)) brain_parameters, brain_infos, total_expected = load_demonstration( path_prefix + "/test_demo_dir") assert brain_parameters.brain_name == "Ball3DBrain" assert brain_parameters.vector_observation_space_size == 8 assert len(brain_infos) == total_expected demo_buffer = make_demo_buffer(brain_infos, brain_parameters, 1) assert len(demo_buffer.update_buffer["actions"]) == total_expected - 1
def test_load_demo_dir(): path_prefix = os.path.dirname(os.path.abspath(__file__)) behavior_spec, pair_infos, total_expected = load_demonstration( path_prefix + "/test_demo_dir") assert np.sum(behavior_spec.observation_shapes[0]) == 8 assert len(pair_infos) == total_expected _, demo_buffer = demo_to_buffer(path_prefix + "/test_demo_dir", 1, BEHAVIOR_SPEC) assert (len(demo_buffer["continuous_action"]) == total_expected - 1 or len(demo_buffer["discrete_action"]) == total_expected - 1)
def test_load_demo_dir(): path_prefix = os.path.dirname(os.path.abspath(__file__)) behavior_spec, pair_infos, total_expected = load_demonstration( path_prefix + "/test_demo_dir") assert np.sum(behavior_spec.observation_specs[0].shape) == 8 assert len(pair_infos) == total_expected _, demo_buffer = demo_to_buffer(path_prefix + "/test_demo_dir", 1, BEHAVIOR_SPEC) assert (len(demo_buffer[BufferKey.CONTINUOUS_ACTION]) == total_expected - 1 or len( demo_buffer[BufferKey.DISCRETE_ACTION]) == total_expected - 1)
setup_test_behavior_specs, ) from mlagents.trainers.demo_loader import ( load_demonstration, demo_to_buffer, get_demo_files, write_delimited, ) #%% print("#########################################") # demo_file=sys.argv[1] demo_file = "..\\..\\environment\\neos\\UnityMiddleWare2\\Assets\\Demonstrations\\NeosAgent_4.demo" # demo_file="..\\..\\environment\\neos\\built_env\\Unity Environment_Data\\Demonstrations\\betatest2_0.demo" group_spec, info_action_pairs, total_expected = load_demonstration(demo_file) # group_spec, info_action_pairs, total_expected = load_demonstration("..\\..\\environment\\neos\\built_env\\Unity Environment_Data\\Demonstrations\\betatest2.demo") # group_spec, info_action_pairs, total_expected = load_demonstration("D:\code\\temp\\built_env\\Unity Environment_Data\\Demonstrations\\betatest2_4.demo") # group_spec, info_action_pairs, total_expected = load_demonstration("D:\code\\temp\\built_env\\Unity Environment_Data\\Demonstrations\\older\\betatest2_3.demo") # group_spec, info_action_pairs, total_expected = load_demonstration("D:\code\\temp\\built_env\\Unity Environment_Data\\Demonstrations\\older\\betatest2_0.demo") print(group_spec) len(info_action_pairs) type(info_action_pairs) get_obs = lambda pair: np.array(pair.agent_info.observations[0].float_data.data ) get_actions = lambda pair: np.array(pair.action_info.vector_actions) obs = np.stack(list(map(get_obs, info_action_pairs))) acts = np.stack(list(map(get_actions, info_action_pairs))) obs.shape