其他分享
首页 > 其他分享> > Loading Methods

Loading Methods

作者:互联网

Datasets

datasets.list_datasets

return:List all the datasets scripts available on the Hugging Face Hub.

from datasets import list_datasets
# 展示HFhub上地数据集: https://huggingface.co/datasets 
# with_community_datasets: 是否列出所有的(hugging face)社区提供的所有数据集,默认为True
# with_details:是否打印数据的详细信息,默认为False
data_names = list_datasets( with_community_datasets = True, with_details = False )
print(data_names)

datasets.load_dataset

path:数据集的名称(HF hub 上)或者路径(可以是本地路径)。支持的脚本文件包括 JSON, CSV, Parquet, text 等,也支持python脚本

name:定义数据集配置的名称。该名称主要用于指定子数据集的名称。例如机器翻译数据集opus_books中包含了多种语言之间的语料,故而在加载该数据集时,需要利用name参数指定是哪两种语言对应的语料,例如指定 name = 'en-fr',即选择加载英法对应的语料。

data_dir: 指定数据集配置的数据路径。就是指源数据的加载路径(通常是存放数据文件(csv, text 等)的文件夹名)。指定该参数后,程序会加载os.path.join(path, data_dir)目录下的所有文件,但只会在目录中选择某一种命名格式的数据文件进行加载。若要希望加载目录中所有文件,则需要让目录中的文件命名格式保持一致。

data_files: 指定具体要加载的文件名(支持的格式包括 'csv', 'tsv', 'json', 'jsonl', 'jpg', 'txt' 等等)。传入的参数类型包括str、Sequence、Mapping。具体加载的路径是 path/data_dir/data_files

split:返回数据集的指定分割('train'或'test' )。允许传入的参数类型为:strdatasets.Split

cache_dir:读取和写入数据的文件夹。默认路径为~/.cache/huggingface/datasets

features: 为当前数据集设置特征(数据字段)。传入参数的类型为Features

download_config: 指定下载的配置参数。

download_mode: 下载模式。默认是重用已存在的数据进行下载(REUSE_DATASET_IF_EXISTS)。

ignore_verifications: 是否忽略下载/处理的数据集信息的验证(默认False)。这些信息包括checksums/size/splits/…

keep_in_memory: 是否将数据集赋值到内存中,如果是None,则不会将数据加载到内存中,除非显式地设置datasets.config.IN_MEMORY_MAX_SIZE不等于零。

save_infos:保存数据集信息(checksums/size/splits/...)。

revision: 要加载的数据集脚本的版本。

use_auth_token: 可选字符串或布尔值,用作数据集集线器上远程文件的承载令牌。

task: 为训练和验证准备数据集地任务。将数据集地Features转换成对应任务地标准列名和类型

streaming: 如果设置为True将不会加载(下载)数据文件。而是在数据集上迭代时逐步流化数据。在这种情况下会使load_dataset()返回一个IterableDataset 或者IterableDatasetDict 迭代器。

**config_kwargs:额外的关键字参数。传递给BuilderConfig并在DatasetBuilder中使用的关键字参数。

此函数后台执行原理:

说明:它还允许从本地目录或 Hugging Face Hub 上的数据集存储库加载数据集,而无需数据集脚本。在这种情况下,它会自动从目录或数据集存储库中加载所有数据文件。当您想要访问私有数据集时,需要指定use_auth_token=True

实例展示:

datasets.load_from_disk

dataset_path (str):数据集的 Path(或远程URI)或者加载数据的DatasetDict 的文件夹

fs:下载文件的远程文件系统的实例。 可以是S3FileSystemfsspec.spec.AbstractFileSystem。默认None

keep_in_memory:是否赋值数据集到内存中。如果设置为None则不会,除非显式地指定datasets.config.IN_MEMORY_MAX_SIZE为非零

函数返回结果: Dataset 或者 DatasetDict

实例:

from datasets import load_from_disk
ds = load_from_disk('path/to/dataset/directory')

datasets.load_dataset_builder

参数与datasets.load_dataset基本一致,本方法的可以在不下载数据集的情况下获取到数据集的有关信息(包括:cache directory, config, dataset info, etc.)

返回结果:DatasetBuilder

一个数据集是一个目录,该目录包含:

当您想要访问私有数据集时,需要指定use_auth_token=True

Returns:DatasetBuilder

实例展示:

from datasets import load_dataset_builder
ds_builder = load_dataset_builder('rotten_tomatoes')
print(ds_builder.info.features)
'''
	{'label': ClassLabel(num_classes=2, names=['neg', 'pos'], id=None),
 	'text': Value(dtype='string', id=None)}
'''

datasets.get_dataset_config_names

path (str):利用dataset builder 的数据集处理脚本的路径。它可以是:

revision:如果指定,数据集模块将从此版本的数据集存储库加载。支持传入参数的格式为strdatasets.Version。默认情况下:

download_config: 指定下载配置参数。参数类型是DownloadConfig

download_mode:指定下载和生成的模式。 参数类型DownloadMode

dynamic_modules_path: 动态模块保存目录的可选路径。它需要HF_MODULES_CACHE 进行实例化。默认情况下,datasetsmetrics是保存在datasets_modules中的。参数类型str。默认是HF_MODULES_CACHE / “datasets_modules”。例如, i.e. ~/.cache/huggingface/modules/datasets_modules

data_files: (Union[Dict, List, str], optional) — 定义数据集配置的data_files

**download_kwargs: (additional keyword arguments) — DownloadConfig()的可选属性,该属性将重写download_config中的属性(如果提供)。例如use_auth_token

return:获取特定数据集的可用配置名称列表。

实例:

from datasets import get_dataset_config_names
get_dataset_config_names("glue")
'''
	['cola',
     'sst2',
     'mrpc',
     'qqp',
     'stsb',
     'mnli',
     'mnli_mismatched',
     'mnli_matched',
     'qnli',
     'rte',
     'wnli',
     'ax']
'''

datasets.get_dataset_infos

path (str):利用dataset builder 的数据集处理脚本的路径。它可以是:

revision:如果指定,数据集模块将从此版本的数据集存储库加载。支持传入参数的格式为strdatasets.Version。默认情况下:

download_config: 指定下载配置参数。参数类型是DownloadConfig

download_mode:指定下载和生成的模式。 参数类型DownloadMode

data_files: (Union[Dict, List, str], optional) — 定义数据集配置的data_files

use_auth_token (str or bool, optional) — 可选字符串或布尔值,用作数据集集线器上远程文件的承载令牌。如果是True,则将从“~/.huggingface”上获取token。

**download_kwargs: (additional keyword arguments) — 生成器类的可选属性,如果提供,将覆盖这些属性。

return:获取关于数据集的元信息,作为dict映射配置名称返回到DatasetInfoDict。

实例:

from datasets import get_dataset_infos
print(get_dataset_infos('rotten_tomatoes'))
'''
	{'default': DatasetInfo(description="Movie Review Dataset.
 is a dataset of containing 5,331 positive and 5,331 negative processed
ences from Rotten Tomatoes movie reviews...), ...}
'''

datasets.get_dataset_split_names

path (str):利用dataset builder 的数据集处理脚本的路径。它可以是:

config_name (str, optional) — 定义数据集配置的名称。

data_files (str or Sequence or Mapping, optional) — 原始数据文件的路径。

download_config (DownloadConfig, optional) — 特定下载配置参数。

download_mode (DownloadMode, default REUSE_DATASET_IF_EXISTS) — 下载或生成的模式。

revision (Version or str, optional) — 要加载的数据集脚本的版本。

use_auth_token (str or bool, optional) — 可选字符串或布尔值,用作数据集集线器上远程文件的承载令牌。如果是True,则将从“~/.huggingface”上获取token。

**config_kwargs (additional keyword arguments) — 生成器类的可选属性,如果提供,将覆盖这些属性。

return:获取特定配置和数据集的可用拆分列表。即数据集可用的分割名称

实例:

from datasets import get_dataset_split_names
print(get_dataset_split_names('rotten_tomatoes'))
'''
	['train', 'validation', 'test']
'''

datasets.inspect_dataset

path** (str):利用dataset builder 的数据集处理脚本的路径。它可以是:

local_path (str) — 要将数据集脚本复制到的本地文件夹的路径。(存放本地数据集脚本的路径?)

download_config ([DownloadConfig], optional) — 特定下载配置参数。

**download_kwargs (additional keyword arguments) — [DownloadConfig]的可选参数,如果提供,将覆盖download_config的属性。

作用:Allow inspection/modification of a dataset script by copying on local drive at local_path.

Metrics

datasets.list_metrics

with_community_metrics (bool, optional, default True) — 包括社区提供的评估指标。

with_details (bool, optional, default False) — Return the full details on the metrics instead of only the short name.

return:List all the metrics script available on the Hugging Face Hub.

from datasets import list_metrics
print(list_metrics())
'''
	['accuracy',
     'bertscore',
     'bleu',
     'bleurt',
     'cer',
     'chrf',
     ...
	]
'''

datasets.load_metric

path (str) — 度量生成器的度量处理脚本的路径。可以是:

config_name (str, optional) — 为度量选择配置(例如,GLUE评价指标对每个子集都有一个配置)

process_id (int, optional) — 进行分布式评价时,进程的 id 号

num_process (int, optional) — 进行分布式评估时,进程总数

cache_dir (Optional str) — 存储临时predictions 和references 的路径(default to ~/.cache/huggingface/metrics/)。

experiment_id (str) — 一个特定的实验id。如果多个分布式评估共享同一个文件系统,则使用该id。这对于计算分布式设置中的度量非常有用(特别是像F1这样的非加性度量)。

keep_in_memory (bool) — 是否将临时结果存储在内存中(默认为False)

download_config (Optional datasets.DownloadConfig) — 特定下载配置参数

download_mode (DownloadMode, default REUSE_DATASET_IF_EXISTS) — 下载和生成模式

revision (Optional Union[str, datasets.Version]) — 如果指定,将从此版本的数据集存储库加载模块。默认情况下,它设置为库的本地版本。指定与库的本地版本不同的版本可能会导致兼容性问题。

return:加载一个datasets.Metric

from datasets import load_metric
accuracy = load_metric('accuracy')
print(accuracy.compute(references=[1, 0], predictions=[1, 1]))
'''
	{'accuracy': 0.5}
'''

datasets.inspect_metric

path (str) — 使用数据集生成器的数据集处理脚本的路径。可以是:

local_path (str) — 数据集脚本要复制到的本地文件夹的路径

download_config (Optional datasets.DownloadConfig) — 特定下载配置参数。

**download_kwargs (additional keyword arguments) — DownloadConfig() 的可选属性,如果提供,将覆盖download_config中的属性。

作用:允许通过将度量脚本复制到 local_path 的本地驱动器上,检查/修改度量脚本。

From files

用于加载数据文件的配置。它们在加载本地文件或数据集存储库时使用:

你可以通过load_dataset的参数去配置数据加载。比如你可以指定sep参数去定义用于加载数据的CsvConfig

load_dataset("csv", data_dir="path/to/data/dir", sep="\t")

Text

class datasets.packaged_modules.text.TextConfig

( name: str = 'default',

version: typing.Union[str, datasets.utils.version.Version, NoneType] = 0.0.0,

data_dir: typing.Optional[str] = None,

data_files: typing.Optional[datasets.data_files.DataFilesDict] = None,

description: typing.Optional[str] = None,

features: typing.Optional[datasets.features.features.Features] = None,

encoding: str = 'utf-8',

chunksize: int = 10485760,

keep_linebreaks: bool = False,

sample_by: str = 'line' )

BuilderConfig for text files.

CSV

class datasets.packaged_modules.csv.CsvConfig

( name: str = 'default',
 version: typing.Union[str, datasets.utils.version.Version, NoneType] = 0.0.0,
 data_dir: typing.Optional[str] = None,
 data_files: typing.Optional[datasets.data_files.DataFilesDict] = None,
 description: typing.Optional[str] = None,
 sep: str = ',',
 delimiter: typing.Optional[str] = None,
 header: typing.Union[int, typing.List[int], str, NoneType] = 'infer',
 names: typing.Optional[typing.List[str]] = None,
 column_names: typing.Optional[typing.List[str]] = None,
 index_col: typing.Union[int, str, typing.List[int], typing.List[str], NoneType] = None,
 usecols: typing.Union[typing.List[int], typing.List[str], NoneType] = None,
 prefix: typing.Optional[str] = None,
 mangle_dupe_cols: bool = True,
 engine: typing.Optional[str] = None,
 true_values: typing.Optional[list] = None,
 false_values: typing.Optional[list] = None,
 skipinitialspace: bool = False,
 skiprows: typing.Union[int, typing.List[int], NoneType] = None,
 nrows: typing.Optional[int] = None,
 na_values: typing.Union[str, typing.List[str], NoneType] = None,
 keep_default_na: bool = True,
 na_filter: bool = True,
 verbose: bool = False,
 skip_blank_lines: bool = True,
 thousands: typing.Optional[str] = None,
 decimal: str = '.',
 lineterminator: typing.Optional[str] = None,
 quotechar: str = '"',
 quoting: int = 0,
 escapechar: typing.Optional[str] = None,
 comment: typing.Optional[str] = None,
 encoding: typing.Optional[str] = None,
 dialect: typing.Optional[str] = None,
 error_bad_lines: bool = True,
 warn_bad_lines: bool = True,
 skipfooter: int = 0,
 doublequote: bool = True,
 memory_map: bool = False,
 float_precision: typing.Optional[str] = None,
 chunksize: int = 10000,
 features: typing.Optional[datasets.features.features.Features] = None,
 encoding_errors: typing.Optional[str] = 'strict',
 on_bad_lines: typing.Literal['error', 'warn', 'skip'] = 'error' 
)

BuilderConfig for JSON.

JSON

class datasets.packaged_modules.json.JsonConfig

( name: str = 'default',
 version: typing.Union[str, datasets.utils.version.Version, NoneType] = 0.0.0,
 data_dir: typing.Optional[str] = None,
 data_files: typing.Optional[datasets.data_files.DataFilesDict] = None,
 description: typing.Optional[str] = None,
 features: typing.Optional[datasets.features.features.Features] = None,
 field: typing.Optional[str] = None,
 use_threads: bool = True,
 block_size: typing.Optional[int] = None,
 chunksize: int = 10485760,
 newlines_in_values: typing.Optional[bool] = None )

BuilderConfig for JSON.

Parquet

class datasets.packaged_modules.parquet.ParquetConfig

( name: str = 'default',
 version: typing.Union[str, datasets.utils.version.Version, NoneType] = 0.0.0,
 data_dir: typing.Optional[str] = None,
 data_files: typing.Optional[datasets.data_files.DataFilesDict] = None,
 description: typing.Optional[str] = None,
 batch_size: int = 10000,
 columns: typing.Optional[typing.List[str]] = None,
 features: typing.Optional[datasets.features.features.Features] = None )

BuilderConfig for Parquet.

Images

class datasets.packaged_modules.imagefolder.ImageFolderConfig

( name: str = 'default',
 version: typing.Union[str, datasets.utils.version.Version, NoneType] = 0.0.0,
 data_dir: typing.Optional[str] = None,
 data_files: typing.Optional[datasets.data_files.DataFilesDict] = None,
 description: typing.Optional[str] = None,
 features: typing.Optional[datasets.features.features.Features] = None,
 drop_labels: bool = None,
 drop_metadata: bool = None )

BuilderConfig for ImageFolder.

标签:None,Loading,Methods,dataset,datasets,str,typing,Optional
来源: https://www.cnblogs.com/teanon/p/16602260.html