Loading methods
Methods for listing and loading datasets and metrics:
Datasets
datasets.list_datasets
< source >( with_community_datasets = True with_details = False )
List all the datasets scripts available on the Hugging Face Hub.
datasets.load_dataset
< source >( path: str name: typing.Optional[str] = None data_dir: typing.Optional[str] = None data_files: typing.Union[str, typing.Sequence[str], typing.Mapping[str, typing.Union[str, typing.Sequence[str]]], NoneType] = None split: typing.Union[str, datasets.splits.Split, NoneType] = None cache_dir: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None download_mode: typing.Optional[datasets.utils.download_manager.DownloadMode] = None ignore_verifications: bool = False keep_in_memory: typing.Optional[bool] = None save_infos: bool = False revision: typing.Union[str, datasets.utils.version.Version, NoneType] = None use_auth_token: typing.Union[str, bool, NoneType] = None task: typing.Union[str, datasets.tasks.base.TaskTemplate, NoneType] = None streaming: bool = False **config_kwargs ) β Dataset or DatasetDict
Parameters
-
path (
str
) — Path or name of the dataset. Depending onpath
, the dataset builder that is used comes from a generic dataset script (JSON, CSV, Parquet, text etc.) or from the dataset script (a python file) inside the dataset directory.For local datasets:
- if
path
is a local directory (containing data files only) -> load a generic dataset builder (csv, json, text etc.) based on the content of the directory e.g.'./path/to/directory/with/my/csv/data'
. - if
path
is a local dataset script or a directory containing a local dataset script (if the script has the same name as the directory): -> load the dataset builder from the dataset script e.g.'./dataset/squad'
or'./dataset/squad/squad.py'
.
For datasets on the Hugging Face Hub (list all available datasets and ids with
datasets.list_datasets()
)- if
path
is a dataset repository on the HF hub (containing data files only) -> load a generic dataset builder (csv, text etc.) based on the content of the repository e.g.'username/dataset_name'
, a dataset repository on the HF hub containing your data files. - if
path
is a dataset repository on the HF hub with a dataset script (if the script has the same name as the directory) -> load the dataset builder from the dataset script in the dataset repository e.g.glue
,squad
,'username/dataset_name'
, a dataset repository on the HF hub containing a dataset script ‘dataset_name.py’.
- if
-
name (
str
, optional) — Defining the name of the dataset configuration. -
data_dir (
str
, optional) — Defining the data_dir of the dataset configuration. If specified for the generic builders (csv, text etc.) or the Hub datasets and data_files is None, the behavior is equal to passing os.path.join(data_dir, **) as data_files to reference all the files in a directory. -
data_files (
str
orSequence
orMapping
, optional) — Path(s) to source data file(s). -
split (Split or
str
) — Which split of the data to load. If None, will return a dict with all splits (typically datasets.Split.TRAIN and datasets.Split.TEST). If given, will return a single Dataset. Splits can be combined and specified like in tensorflow-datasets. -
cache_dir (
str
, optional) — Directory to read/write data. Defaults to ”~/.cache/huggingface/datasets”. - features (Features, optional) — Set the features type to use for this dataset.
- download_config (DownloadConfig, optional) — Specific download configuration parameters.
-
download_mode (DownloadMode, default
REUSE_DATASET_IF_EXISTS
) — Download/generate mode. -
ignore_verifications (
bool
, defaultFalse
) — Ignore the verifications of the downloaded/processed dataset information (checksums/size/splits/…). -
keep_in_memory (
bool
, defaultNone
) — Whether to copy the dataset in-memory. If None, the dataset will not be copied in-memory unless explicitly enabled by setting datasets.config.IN_MEMORY_MAX_SIZE to nonzero. See more details in the load_dataset_enhancing_performance section. -
save_infos (
bool
, defaultFalse
) — Save the dataset information (checksums/size/splits/…). -
revision (Version or
str
, optional) — Version of the dataset script to load:- For datasets in the huggingface/datasets library on GitHub like “squad”, the default version of the module is the local version of the lib. You can specify a different version from your local version of the lib (e.g. “master” or “1.2.0”) but it might cause compatibility issues.
- For community datasets like “lhoestq/squad” that have their own git repository on the Datasets Hub, the default version “main” corresponds to the “main” branch. You can specify a different version that the default “main” by using a commit sha or a git tag of the dataset repository.
-
use_auth_token (
str
orbool
, optional) — Optional string or boolean to use as Bearer token for remote files on the Datasets Hub. If True, will get token from ”~/.huggingface”. -
task (
str
) — The task to prepare the dataset for during training and evaluation. Casts the dataset’s Features to standardized column names and types as detailed in :py:mod:datasets.tasks. -
streaming (
bool
, defaultFalse
) — If set to True, don’t download the data files. Instead, it streams the data progressively while iterating on the dataset. An IterableDataset or IterableDatasetDict is returned instead in this case.Note that streaming works for datasets that use data formats that support being iterated over like txt, csv, jsonl for example. Json files may be downloaded completely. Also streaming from remote zip or gzip files is supported but other compressed formats like rar and xz are not yet supported. The tgz format doesn’t allow streaming. **config_kwargs — Keyword arguments to be passed to the BuilderConfig and used in the DatasetBuilder.
Returns
- if split is not None: the dataset requested,
- if split is None, a
datasets.DatasetDict
with each split.
or IterableDataset or IterableDatasetDict: if streaming=True
- if split is not None: the dataset requested,
- if split is None, a
datasets.streaming.IterableDatasetDict
with each split.
Load a dataset from the Hugging Face Hub, or a local dataset.
You can find the list of datasets on the Hub at https://huggingface.co/datasets or with datasets.list_datasets()
.
A dataset is a directory that contains:
- some data files in generic formats (JSON, CSV, Parquet, text, etc.)
- and optionally a dataset script, if it requires some code to read the data files. This is used to load any kind of formats or structures.
Note that dataset scripts can also download and read data files from anywhere - in case your data files already exist online.
This function does the following under the hood:
Download and import in the library the dataset script from
path
if itβs not already cached inside the library.If the dataset has no dataset script, then a generic dataset script is imported instead (JSON, CSV, Parquet, text, etc.)
Dataset scripts are small python scripts that define dataset builders. They define the citation, info and format of the dataset, contain the path or URL to the original data files and the code to load examples from the original data files.
You can find some of the scripts here: https://github.com/huggingface/datasets/tree/master/datasets You can find the complete list of datasets in the Datasets Hub at https://huggingface.co/datasets
Run the dataset script which will:
Download the dataset file from the original URL (see the script) if itβs not already available locally or cached.
Process and cache the dataset in typed Arrow tables for caching.
Arrow table are arbitrarily long, typed tables which can store nested objects and be mapped to numpy/pandas/python generic types. They can be directly accessed from disk, loaded in RAM or even streamed over the web.
Return a dataset built from the requested splits in
split
(default: all).
It also allows to load a dataset from a local directory or a dataset repository on the Hugging Face Hub without dataset script. In this case, it automatically loads all the data files from the directory or the dataset repository.
datasets.load_from_disk
< source >( dataset_path: str fs = None keep_in_memory: typing.Optional[bool] = None ) β Dataset or DatasetDict
Parameters
-
dataset_path (
str
) — Path (e.g. “dataset/train”) or remote URI (e.g. “s3://my-bucket/dataset/train”) of the Dataset or DatasetDict directory where the dataset will be loaded from. -
fs (S3FileSystem or
fsspec.spec.AbstractFileSystem
, optional, defaultNone
) — Instance of of the remote filesystem used to download the files from. -
keep_in_memory (
bool
, defaultNone
) — Whether to copy the dataset in-memory. If None, the dataset will not be copied in-memory unless explicitly enabled by setting datasets.config.IN_MEMORY_MAX_SIZE to nonzero. See more details in the load_dataset_enhancing_performance section.
Returns
- If dataset_path is a path of a dataset directory: the dataset requested.
- If dataset_path is a path of a dataset dict directory: a
datasets.DatasetDict
with each split.
Loads a dataset that was previously saved using Dataset.save_to_disk() from a dataset directory, or
from a filesystem using either datasets.filesystems.S3FileSystem or any implementation of
fsspec.spec.AbstractFileSystem
.
datasets.load_dataset_builder
< source >( path: str name: typing.Optional[str] = None data_dir: typing.Optional[str] = None data_files: typing.Union[str, typing.Sequence[str], typing.Mapping[str, typing.Union[str, typing.Sequence[str]]], NoneType] = None cache_dir: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None download_mode: typing.Optional[datasets.utils.download_manager.DownloadMode] = None revision: typing.Union[str, datasets.utils.version.Version, NoneType] = None use_auth_token: typing.Union[str, bool, NoneType] = None **config_kwargs ) β DatasetBuilder
Parameters
-
path (
str
) — Path or name of the dataset. Depending onpath
, the dataset builder that is used comes from a generic dataset script (JSON, CSV, Parquet, text etc.) or from the dataset script (a python file) inside the dataset directory.For local datasets:
- if
path
is a local directory (containing data files only) -> load a generic dataset builder (csv, json, text etc.) based on the content of the directory e.g.'./path/to/directory/with/my/csv/data'
. - if
path
is a local dataset script or a directory containing a local dataset script (if the script has the same name as the directory): -> load the dataset builder from the dataset script e.g.'./dataset/squad'
or'./dataset/squad/squad.py'
.
For datasets on the Hugging Face Hub (list all available datasets and ids with
datasets.list_datasets()
)- if
path
is a dataset repository on the HF hub (containing data files only) -> load a generic dataset builder (csv, text etc.) based on the content of the repository e.g.'username/dataset_name'
, a dataset repository on the HF hub containing your data files. - if
path
is a dataset repository on the HF hub with a dataset script (if the script has the same name as the directory) -> load the dataset builder from the dataset script in the dataset repository e.g.glue
,squad
,'username/dataset_name'
, a dataset repository on the HF hub containing a dataset script ‘dataset_name.py’.
- if
Returns
Load a dataset builder from the Hugging Face Hub, or a local dataset. A dataset builder can be used to inspect general information that is required to build a dataset (cache directory, config, dataset info, etc.) without downloading the dataset itself.
You can find the list of datasets on the Hub at https://huggingface.co/datasets or with datasets.list_datasets()
.
A dataset is a directory that contains:
- some data files in generic formats (JSON, CSV, Parquet, text, etc.)
- and optionally a dataset script, if it requires some code to read the data files. This is used to load any kind of formats or structures.
Note that dataset scripts can also download and read data files from anywhere - in case your data files already exist online.
datasets.get_dataset_config_names
< source >( path: str revision: typing.Union[str, datasets.utils.version.Version, NoneType] = None download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None download_mode: typing.Optional[datasets.utils.download_manager.DownloadMode] = None force_local_path: typing.Optional[str] = None dynamic_modules_path: typing.Optional[str] = None data_files: typing.Union[str, typing.List, typing.Dict, NoneType] = None **download_kwargs )
Parameters
-
path (
str
) — path to the dataset processing script with the dataset builder. Can be either:- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
'./dataset/squad'
or'./dataset/squad/squad.py'
- a dataset identifier on the Hugging Face Hub (list all available datasets and ids with
datasets.list_datasets()
) e.g.'squad'
,'glue'
or'openai/webtext'
- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
-
revision (Optional
Union[str, datasets.Version]
) — If specified, the dataset module will be loaded from the datasets repository at this version. By default:- it is set to the local version of the lib.
- it will also try to load it from the master branch if it’s not available at the local version of the lib. Specifying a version that is different from your local version of the lib might cause compatibility issues.
- download_config (DownloadConfig, optional) — Specific download configuration parameters.
-
download_mode (DownloadMode, default
REUSE_DATASET_IF_EXISTS
) — Download/generate mode. - force_local_path (Optional str) — Optional path to a local path to download and prepare the script to. Used to inspect or modify the script folder.
-
dynamic_modules_path (Optional str, defaults to HF_MODULES_CACHE / “datasets_modules”, i.e. ~/.cache/huggingface/modules/datasets_modules) —
Optional path to the directory in which the dynamic modules are saved. It must have been initialized with
init_dynamic_modules
. By default the datasets and metrics are stored inside the datasets_modules module. -
data_files (
Union[Dict, List, str]
, optional) — Defining the data_files of the dataset configuration. download_kwargs — optional attributes for DownloadConfig() which will override the attributes in download_config if supplied, for exampleuse_auth_token
Get the list of available config names for a particular dataset.
datasets.get_dataset_infos
< source >( path: str data_files: typing.Union[str, typing.List, typing.Dict, NoneType] = None download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None download_mode: typing.Optional[datasets.utils.download_manager.DownloadMode] = None revision: typing.Union[str, datasets.utils.version.Version, NoneType] = None use_auth_token: typing.Union[str, bool, NoneType] = None **config_kwargs )
Parameters
-
path (
str
) — path to the dataset processing script with the dataset builder. Can be either:- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
'./dataset/squad'
or'./dataset/squad/squad.py'
- a dataset identifier on the Hugging Face Hub (list all available datasets and ids with
datasets.list_datasets()
) e.g.'squad'
,'glue'
or'openai/webtext'
- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
-
revision (Optional
Union[str, datasets.Version]
) — If specified, the dataset module will be loaded from the datasets repository at this version. By default:- it is set to the local version of the lib.
- it will also try to load it from the master branch if it’s not available at the local version of the lib. Specifying a version that is different from your local version of the lib might cause compatibility issues.
- download_config (DownloadConfig, optional) — Specific download configuration parameters.
-
download_mode (DownloadMode, default
REUSE_DATASET_IF_EXISTS
) — Download/generate mode. -
data_files (
Union[Dict, List, str]
, optional) — Defining the data_files of the dataset configuration. -
use_auth_token (
str
orbool
, optional) — Optional string or boolean to use as Bearer token for remote files on the Datasets Hub. If True, will get token from ”~/.huggingface”. config_kwargs — optional attributes for builder class which will override the attributes if supplied.
Get the meta information about a dataset, returned as a dict mapping config name to DatasetInfoDict.
datasets.get_dataset_split_names
< source >( path: str config_name: typing.Optional[str] = None data_files: typing.Union[str, typing.Sequence[str], typing.Mapping[str, typing.Union[str, typing.Sequence[str]]], NoneType] = None download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None download_mode: typing.Optional[datasets.utils.download_manager.DownloadMode] = None revision: typing.Union[str, datasets.utils.version.Version, NoneType] = None use_auth_token: typing.Union[str, bool, NoneType] = None **config_kwargs )
Parameters
-
path (
str
) — path to the dataset processing script with the dataset builder. Can be either:- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
'./dataset/squad'
or'./dataset/squad/squad.py'
- a dataset identifier on the Hugging Face Hub (list all available datasets and ids with
datasets.list_datasets()
) e.g.'squad'
,'glue'
or'openai/webtext'
- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
-
config_name (
str
, optional) — Defining the name of the dataset configuration. -
data_files (
str
orSequence
orMapping
, optional) — Path(s) to source data file(s). - download_config (DownloadConfig, optional) — Specific download configuration parameters.
-
download_mode (DownloadMode, default
REUSE_DATASET_IF_EXISTS
) — Download/generate mode. -
revision (Version or
str
, optional) — Version of the dataset script to load:- For datasets in the huggingface/datasets library on GitHub like “squad”, the default version of the module is the local version of the lib. You can specify a different version from your local version of the lib (e.g. “master” or “1.2.0”) but it might cause compatibility issues.
- For community datasets like “lhoestq/squad” that have their own git repository on the Datasets Hub, the default version “main” corresponds to the “main” branch. You can specify a different version that the default “main” by using a commit sha or a git tag of the dataset repository.
-
use_auth_token (
str
orbool
, optional) — Optional string or boolean to use as Bearer token for remote files on the Datasets Hub. If True, will get token from ”~/.huggingface”. config_kwargs — optional attributes for builder class which will override the attributes if supplied.
Get the list of available splits for a particular config and dataset.
datasets.inspect_dataset
< source >( path: str local_path: str download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None **download_kwargs )
Parameters
-
path (
str
) — path to the dataset processing script with the dataset builder. Can be either:- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
'./dataset/squad'
or'./dataset/squad/squad.py'
- a dataset identifier on the Hugging Face Hub (list all available datasets and ids with
datasets.list_datasets()
) e.g.'squad'
,'glue'
or'openai/webtext'
- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
-
local_path (
str
) — path to the local folder to copy the datset script to. -
download_config (Optional
datasets.DownloadConfig
— specific download configuration parameters. **download_kwargs — optional attributes for DownloadConfig() which will override the attributes in download_config if supplied.
Allow inspection/modification of a dataset script by copying on local drive at local_path.
Metrics
datasets.list_metrics
< source >( with_community_metrics = True with_details = False )
List all the metrics script available on the Hugging Face Hub.
datasets.load_metric
< source >( path: str config_name: typing.Optional[str] = None process_id: int = 0 num_process: int = 1 cache_dir: typing.Optional[str] = None experiment_id: typing.Optional[str] = None keep_in_memory: bool = False download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None download_mode: typing.Optional[datasets.utils.download_manager.DownloadMode] = None revision: typing.Union[str, datasets.utils.version.Version, NoneType] = None **metric_init_kwargs )
Parameters
-
path (
str
) — path to the metric processing script with the metric builder. Can be either:- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
'./metrics/rouge'
or'./metrics/rogue/rouge.py'
- a metric identifier on the HuggingFace datasets repo (list all available metrics with
datasets.list_metrics()
) e.g.'rouge'
or'bleu'
- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
-
config_name (
str
, optional) — selecting a configuration for the metric (e.g. the GLUE metric has a configuration for each subset) -
process_id (
int
, optional) — for distributed evaluation: id of the process -
num_process (
int
, optional) — for distributed evaluation: total number of processes - cache_dir (Optional str) — path to store the temporary predictions and references (default to ~/.cache/huggingface/metrics/)
-
experiment_id (
str
) — A specific experiment id. This is used if several distributed evaluations share the same file system. This is useful to compute metrics in distributed setups (in particular non-additive metrics like F1). - keep_in_memory (bool) — Whether to store the temporary results in memory (defaults to False)
-
download_config (Optional
datasets.DownloadConfig
— specific download configuration parameters. -
download_mode (DownloadMode, default
REUSE_DATASET_IF_EXISTS
) — Download/generate mode. -
revision (Optional
Union[str, datasets.Version]
) — if specified, the module will be loaded from the datasets repository at this version. By default it is set to the local version of the lib. Specifying a version that is different from your local version of the lib might cause compatibility issues.
Load a datasets.Metric.
datasets.inspect_metric
< source >( path: str local_path: str download_config: typing.Optional[datasets.utils.file_utils.DownloadConfig] = None **download_kwargs )
Parameters
-
path (
str
) — path to the dataset processing script with the dataset builder. Can be either:- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
'./dataset/squad'
or'./dataset/squad/squad.py'
- a dataset identifier on the Hugging Face Hub (list all available datasets and ids with
datasets.list_datasets()
) e.g.'squad'
,'glue'
or'openai/webtext'
- a local path to processing script or the directory containing the script (if the script has the same name as the directory),
e.g.
-
local_path (
str
) — path to the local folder to copy the datset script to. -
download_config (Optional
datasets.DownloadConfig
— specific download configuration parameters. **download_kwargs — optional attributes for DownloadConfig() which will override the attributes in download_config if supplied.
Allow inspection/modification of a metric script by copying it on local drive at local_path.