Example #1
0
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")
Example #2
0
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
Example #3
0
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)
Example #4
0
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
Example #6
0
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)
Example #7
0
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)
Example #8
0
    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