Exemple #1
0
    def _load_yaml_and_configure(self, path, label, cache, device, device_memory): # pylint: disable=R0913
        doc = load_yaml_file(path, label)
        try:
            doc['device'] = parse_device(doc.get('device', {}),
                                         device_id=device,
                                         device_memory=device_memory)

            doc['data'] = parse_data(doc.get('data', {}), cache=cache, plugins=self.plugins)

            if 'random-seed' in doc and not isinstance(doc['random-seed'], int):
                raise VergeMLError('Invalid value option random-seed.',
                                   'random-seed must be an integer value.',
                                   hint_type='value',
                                   hint_key='random-seed')
        except VergeMLError as err:

            if err.hint_key:

                with open(path) as file:
                    definition = yaml_find_definition(file, err.hint_key, err.hint_type)

                if definition:
                    line, column, length = definition
                    err.message = display_err_in_file(path, line, column, str(err), length)
                    # clear suggestion because it is already contained in the error message.
                    err.suggestion = None
                    raise err
                else:
                    raise err
            else:
                raise err
        return doc
Exemple #2
0
def test_display_err():
    line, column, length = yaml_find_definition(TEST_YAML,
                                                'data.preprocess.1.op',
                                                'value')
    msg = "Invalid preprocessing operation 'flip-horizontalz'. Did you mean 'flip-horizontal'?"
    res = _display_err("vergeml.yaml", line, column, msg, length, 3, TEST_YAML)
    res = "Error! " + res

    assert res == """\
Exemple #3
0
def test_find_definition_arr_val():
    res = yaml_find_definition(TEST_YAML, 'data.preprocess.1.op', 'value')
    assert res == (9, 14, 16)
Exemple #4
0
def test_find_definition_arr_key():
    res = yaml_find_definition(TEST_YAML, 'data.preprocess.1.op', 'key')
    assert res == (9, 10, 3)
Exemple #5
0
def test_find_definition_val():
    res = yaml_find_definition(TEST_YAML, 'data.input.type', 'value')
    assert res == (2, 14, 6)
Exemple #6
0
def test_find_definition_key():
    res = yaml_find_definition(TEST_YAML, 'data.input.type', 'key')
    assert res == (2, 8, 5)
Exemple #7
0
def _check_definition(filename, key, kind):
    if not filename:
        return None
    with open(filename) as f:
        definition = yaml_find_definition(f, key, kind)
        return (definition, filename) if definition else None