|
43 | 43 | from tensorflow_datasets.core import utils
|
44 | 44 | from tensorflow_datasets.core import visibility
|
45 | 45 | from tensorflow_datasets.core.dataset_builders import huggingface_dataset_builder # pylint:disable=unused-import
|
| 46 | +from tensorflow_datasets.core.download import util |
46 | 47 | from tensorflow_datasets.core.utils import error_utils
|
47 | 48 | from tensorflow_datasets.core.utils import gcs_utils
|
48 | 49 | from tensorflow_datasets.core.utils import py_utils
|
@@ -501,6 +502,16 @@ def _download_and_prepare_builder(
|
501 | 502 | download: bool,
|
502 | 503 | download_and_prepare_kwargs: Optional[Dict[str, Any]],
|
503 | 504 | ) -> None:
|
| 505 | + """Downloads and prepares the dataset builder if necessary.""" |
| 506 | + if dbuilder.is_prepared(): |
| 507 | + if not download_and_prepare_kwargs: |
| 508 | + return |
| 509 | + if download_config := download_and_prepare_kwargs.get('download_config'): |
| 510 | + if ( |
| 511 | + download_config.download_mode |
| 512 | + == util.GenerateMode.REUSE_DATASET_IF_EXISTS |
| 513 | + ): |
| 514 | + return |
504 | 515 | if download:
|
505 | 516 | download_and_prepare_kwargs = download_and_prepare_kwargs or {}
|
506 | 517 | dbuilder.download_and_prepare(**download_and_prepare_kwargs)
|
@@ -663,7 +674,7 @@ def load(
|
663 | 674 |
|
664 | 675 |
|
665 | 676 | def _set_file_format_for_data_source(
|
666 |
| - builder_kwargs: Optional[Dict[str, Any]] |
| 677 | + builder_kwargs: Optional[Dict[str, Any]], |
667 | 678 | ) -> Dict[str, Any]:
|
668 | 679 | """Normalizes file format in builder_kwargs for `tfds.data_source`."""
|
669 | 680 | if builder_kwargs is None:
|
|
0 commit comments