Exemplo n.º 1
0
    def _load_tasks(cls, input_path, args, label_config_file):
        with io.open(label_config_file, encoding="utf8") as f:
            label_config = f.read()

        task_loader = Tasks()
        if args.input_format == "json":
            return task_loader.from_json_file(input_path)
        if args.input_format == "json-dir":
            return task_loader.from_dir_with_json_files(input_path)
        input_data_tags = cls.get_input_data_tags(label_config)

        if len(input_data_tags) > 1:
            val = ",".join(tag.attrib.get("name") for tag in input_data_tags)
            print("Warning! Multiple input data tags found: " + val +
                  ". Only first one is used.")
        elif len(input_data_tags) == 0:
            raise ValueError(
                'You\'ve specified input format "{fmt}" which requires label config being explicitly defined. '
                "Please specify --label-config=path/to/config.xml or use --format=json or format=json_dir"
                .format(fmt=args.input_format))
        input_data_tag = input_data_tags[0]
        data_key = input_data_tag.attrib.get("value").lstrip("$")

        if args.input_format == "text":
            return task_loader.from_text_file(input_path, data_key)
        if args.input_format == "text-dir":
            return task_loader.from_dir_with_text_files(input_path, data_key)
        if args.input_format == "image-dir":
            return task_loader.from_dir_with_image_files(input_path, data_key)
        if args.input_format == "audio-dir":
            return task_loader.from_dir_with_audio_files(input_path, data_key)
        raise RuntimeError("Can't load tasks for input format={}".format(
            args.input_format))
Exemplo n.º 2
0
    def _load_tasks(cls, input_path, args, label_config_file):
        with io.open(label_config_file, encoding='utf8') as f:
            label_config = f.read()

        task_loader = Tasks()
        if args.input_format == 'json':
            return task_loader.from_json_file(input_path)
        if args.input_format == 'json-dir':
            return task_loader.from_dir_with_json_files(input_path)
        config_input_tags = cls.get_config_input_tags(label_config)

        if len(config_input_tags) > 1:
            val = ",".join(tag.attrib.get("name") for tag in config_input_tags)
            print('Warning! Multiple input data tags found: ' +
                  val + '. Only first one is used.')
        elif len(config_input_tags) == 0:
            raise ValueError(
                'You\'ve specified input format "{fmt}" which requires label config being explicitly defined. '
                'Please specify --label-config=path/to/config.xml or use --format=json or format=json_dir'.format(
                    fmt=args.input_format)
            )
        input_data_tag = config_input_tags[0]
        data_key = input_data_tag.attrib.get('value').lstrip('$')

        if args.input_format == 'text':
            return task_loader.from_text_file(input_path, data_key)
        if args.input_format == 'text-dir':
            return task_loader.from_dir_with_text_files(input_path, data_key)
        if args.input_format == 'image-dir':
            return task_loader.from_dir_with_image_files(input_path, data_key)
        if args.input_format == 'audio-dir':
            return task_loader.from_dir_with_audio_files(input_path, data_key)
        raise RuntimeError('Can\'t load tasks for input format={}'.format(args.input_format))
Exemplo n.º 3
0
    def _load_tasks(cls, input_path, args, label_config_file):
        with io.open(label_config_file) as f:
            label_config = f.read()

        task_loader = Tasks()
        if args.input_format == 'json':
            return task_loader.from_json_file(input_path)
        if args.input_format == 'json-dir':
            return task_loader.from_dir_with_json_files(input_path)
        input_data_tags = cls.get_input_data_tags(label_config)
        data_key = Project._get_single_input_value(input_data_tags)
        if args.input_format == 'text':
            return task_loader.from_text_file(input_path, data_key)
        if args.input_format == 'text-dir':
            return task_loader.from_dir_with_text_files(input_path, data_key)
        if args.input_format == 'image-dir':
            return task_loader.from_dir_with_image_files(input_path, data_key)
        if args.input_format == 'audio-dir':
            return task_loader.from_dir_with_audio_files(input_path, data_key)
        raise RuntimeError('Can\'t load tasks for input format={}'.format(args.input_format))