Exemplo n.º 1
0
    def __init__(self, builder_dir: utils.PathLike):
        """Constructor.

    Args:
      builder_dir: Directory of the dataset to load (e.g.
        `~/tensorflow_datasets/mnist/3.0.0/`)

    Raises:
      FileNotFoundError: If the builder_dir does not exists.
    """
        builder_dir = os.path.expanduser(builder_dir)
        info_path = os.path.join(builder_dir,
                                 dataset_info.DATASET_INFO_FILENAME)
        if not tf.io.gfile.exists(info_path):
            raise FileNotFoundError(
                f'Could not load `ReadOnlyBuilder`: {info_path} does not exists.'
            )

        # Restore name, config, info
        info_proto = dataset_info.read_from_json(info_path)
        self.name = info_proto.name
        self.VERSION = version_lib.Version(info_proto.version)  # pylint: disable=invalid-name
        release_notes = info_proto.release_notes or {}
        self.RELEASE_NOTES = release_notes  # pylint: disable=invalid-name
        if info_proto.module_name:
            # Overwrite the module so documenting `ReadOnlyBuilder` point to the
            # original source code.
            self.__module__ = info_proto.module_name
        if info_proto.config_name:
            builder_config = dataset_builder.BuilderConfig(
                name=info_proto.config_name,
                description=info_proto.config_description,
                version=info_proto.version or None,
                release_notes=release_notes,
            )
        else:
            builder_config = None
        # __init__ will call _build_data_dir, _create_builder_config,
        # _pick_version to set the data_dir, config, and version
        super().__init__(
            data_dir=builder_dir,
            config=builder_config,
            version=info_proto.version,
        )

        # For pickling, should come after super.__init__ which is setting that same
        # _original_state attribute.
        self._original_state = dict(builder_dir=builder_dir)

        if self.info.features is None:
            raise ValueError(
                f'Cannot restore {self.info.full_name}. It likelly mean the dataset '
                'was generated with an old TFDS version (<=3.2.1).')
Exemplo n.º 2
0
    def __init__(self, builder_dir: str):
        """Constructor.

    Args:
      builder_dir: Directory of the dataset to load (e.g.
        `~/tensorflow_datasets/mnist/3.0.0/`)

    Raises:
      FileNotFoundError: If the builder_dir does not exists.
    """
        builder_dir = os.path.expanduser(builder_dir)
        info_path = os.path.join(builder_dir,
                                 dataset_info.DATASET_INFO_FILENAME)
        if not tf.io.gfile.exists(info_path):
            raise FileNotFoundError(
                f'Could not load `ReadOnlyBuilder`: {info_path} does not exists.'
            )

        # Restore name, config, info
        info_proto = dataset_info.read_from_json(info_path)
        self.name = info_proto.name
        self.VERSION = version_lib.Version(info_proto.version)  # pylint: disable=invalid-name
        if info_proto.config_name:
            builder_config = dataset_builder.BuilderConfig(
                name=info_proto.config_name,
                description=info_proto.config_description,
                version=info_proto.version or None,
            )
        else:
            builder_config = None
        # __init__ will call _build_data_dir, _create_builder_config,
        # _pick_version to set the data_dir, config, and version
        super().__init__(
            data_dir=builder_dir,
            config=builder_config,
            version=info_proto.version,
        )
        if self.info.features is None:
            raise ValueError(
                f'Cannot restore {self.info.full_name}. It likelly mean the dataset '
                'was generated with an old TFDS version (<=3.2.1).')
Exemplo n.º 3
0
    def __init__(self, builder_dir: str):
        """Constructor.

    Args:
      builder_dir: Directory of the dataset to load (e.g.
        `~/tensorflow_datasets/mnist/3.0.0/`)

    Raises:
      FileNotFoundError: If the builder_dir does not exists.
    """
        builder_dir = os.path.expanduser(builder_dir)
        info_path = os.path.join(builder_dir,
                                 dataset_info.DATASET_INFO_FILENAME)
        if not tf.io.gfile.exists(info_path):
            raise FileNotFoundError(
                f'Could not load `ReadOnlyBuilder`: {info_path} does not exists.'
            )

        # Restore name, config, info
        info_proto = dataset_info.read_from_json(info_path)
        self.name = info_proto.name
        if info_proto.config_name:
            builder_config = dataset_builder.BuilderConfig(
                name=info_proto.config_name,
                version=info_proto.version,
                # TODO(tfds): Restore description.
            )
        else:
            builder_config = None
        # __init__ will call _build_data_dir, _create_builder_config,
        # _pick_version to set the data_dir, config, and version
        super().__init__(
            data_dir=builder_dir,
            config=builder_config,
            version=info_proto.version,
        )