資料集文件
載入方法
並獲得增強的文件體驗
開始使用
載入方法
用於列出與載入資料集的相關方法
資料集 (Datasets)
datasets.load_dataset
< 原始碼 >( path: str name: typing.Optional[str] = None data_dir: typing.Optional[str] = None data_files: typing.Union[str, collections.abc.Sequence[str], collections.abc.Mapping[str, typing.Union[str, collections.abc.Sequence[str]]], NoneType] = None split: typing.Union[str, datasets.splits.Split, list[str], list[datasets.splits.Split], NoneType] = None cache_dir: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None verification_mode: typing.Union[datasets.utils.info_utils.VerificationMode, str, NoneType] = None keep_in_memory: typing.Optional[bool] = None save_infos: bool = False revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None token: typing.Union[bool, str, NoneType] = None streaming: bool = False num_proc: typing.Optional[int] = None storage_options: typing.Optional[dict] = None **config_kwargs ) → Dataset 或 DatasetDict
參數
- path (
str) — 資料集的路徑或名稱。-
若
path為 HF Hub 上的資料集儲存庫(可使用huggingface_hub.list_datasets列出所有可用資料集) -> 從儲存庫中支援的檔案格式(csv, json, parquet 等)載入資料集,例如'username/dataset_name',即包含資料檔案的 HF Hub 資料集儲存庫。 -
若
path為 HF Hub 上儲存桶 (Storage Bucket) 內的目錄(可使用huggingface_hub.list_buckets列出您的儲存桶) -> 從目錄中支援的檔案格式(csv, json, parquet 等)載入資料集,例如'buckets/username/bucket_name/my_dataset'。 -
若
path為本機目錄 -> 從該目錄下支援的檔案格式(csv, json, parquet 等)載入資料集,例如'./path/to/directory/with/my/csv/data'。 -
若
path為資料集建構器 (dataset builder) 的名稱,且已指定data_files或data_dir(可用建構器包括 "json", "csv", "parquet", "arrow", "text", "xml", "webdataset", "imagefolder", "audiofolder", "videofolder") -> 從data_files或data_dir中的檔案載入資料集,例如'parquet'。
使用類似
'hf://datasets/username/dataset_name'的hf://路徑可僅限遠端存取。使用絕對路徑可僅限本機存取。 -
- name (
str, 選填) — 定義資料集配置的名稱。 - data_dir (
str, 選填) — 定義資料集配置的data_dir。若針對通用建構器(csv、text 等)或 Hub 資料集指定此項,且data_files為None,其行為等同於傳遞os.path.join(data_dir, **)作為data_files,以參考該目錄下的所有檔案。 - data_files (
str或Sequence或Mapping, 選填) — 來源資料檔案的路徑。 - split (
Split或str) — 要載入的資料分割區 (split)。若為None,將回傳包含所有分割區的dict(通常為datasets.Split.TRAIN和datasets.Split.TEST)。若已指定,將回傳單一資料集。分割區可如同 tensorflow-datasets 一樣進行合併與指定。 - cache_dir (
str, 選填) — 用於讀取/寫入資料的目錄。預設為"~/.cache/huggingface/datasets"。 - features (
Features, 選填) — 設定此資料集使用的特徵型別 (features type)。 - download_config (DownloadConfig, 選填) — 具體的下載設定參數。
- download_mode (DownloadMode 或
str,預設為REUSE_DATASET_IF_EXISTS) — 下載/產生模式。 - verification_mode (VerificationMode 或
str,預設為BASIC_CHECKS) — 驗證模式,決定對已下載/處理的資料集資訊(總和檢查碼/大小/分割區等)執行哪些檢查。於 2.9.1 新增
- keep_in_memory (
bool,預設為None) — 是否將資料集複製到記憶體中。若為None,除非透過將datasets.config.IN_MEMORY_MAX_SIZE設為非零值來明確啟用,否則資料集不會被複製到記憶體。詳情請見提升效能章節。 - revision (Version 或
str,選填) — 要載入的資料集版本。由於資料集在 Datasets Hub 上擁有自己的 git 儲存庫,預設版本 "main" 對應到它們的 "main" 分支。您可以使用提交 SHA 或資料集儲存庫的 git tag 來指定不同於預設 "main" 的版本。 - token (
str或bool,選填) — 可選的字串或布林值,用於作為 Datasets Hub 上遠端檔案的 Bearer token。若設為True或未指定,將從"~/.huggingface"取得 token。 - streaming (
bool,預設為False) — 若設為True,則不會下載資料檔案,而是改為在疊代資料集時循序串流載入資料。此時會回傳一個 IterableDataset 或 IterableDatasetDict。請注意,串流適用於使用支援疊代格式的資料集(例如 txt、csv、jsonl)。Json 檔案可能會被完全下載。同時也支援從遠端的 zip 或 gzip 檔案串流,但尚不支援 rar 和 xz 等其他壓縮格式。tgz 格式不支援串流。
- num_proc (
int, 選填,預設為None) — 在本機下載並產生資料集時使用的處理程序數量。預設停用多重處理。於 2.7.0 新增
- storage_options (
dict, 選填,預設為None) — 實驗性。若有需要,將傳遞給資料集檔案系統後端的鍵值對。於 2.11.0 新增
- **config_kwargs (額外的關鍵字引數) — 將傳遞至
BuilderConfig並在 DatasetBuilder 中使用的關鍵字引數。
返回
- 若
split不為None:回傳請求的資料集, - 若
split為None,回傳一個包含各分割區的 DatasetDict。
或 IterableDataset 或 IterableDatasetDict:若 streaming=True
- 若
split不為None,則請求該資料集 - 若
split為None,回傳一個包含各分割區的~datasets.streaming.IterableDatasetDict。
從 Hugging Face Hub 或本機載入資料集。
您可以在 Hub 上或是使用 huggingface_hub.list_datasets 找到資料集列表。
資料集是一個包含通用格式(JSON、CSV、Parquet 等)資料檔案的目錄,可能具有通用結構(Webdataset、ImageFolder、AudioFolder、VideoFolder 等)。
此函式在幕後執行以下操作
載入資料集建構器
- 尋找資料集中最常見的資料格式,並挑選其對應的建構器(JSON、CSV、Parquet、Webdataset、ImageFolder、AudioFolder 等)
- 根據檔案和目錄名稱或 YAML 設定,判斷哪些檔案屬於哪個分割區(例如 train/test)
- 也可以手動指定
data_files以及要使用的資料集建構器(例如 "parquet")。
執行資料集建構器
在一般情況下
如果資料檔案在本地或快取中尚不可用,則下載它們。
處理資料集並將其快取為具備型別的 Arrow 表格以便快速讀取。
Arrow 表格是長度任意、具備型別的表格,可以儲存巢狀物件並對應至 numpy/pandas/python 通用型別。它們可以直接從磁碟存取、載入記憶體,甚至透過網路串流傳輸。
在串流情況下
- 不下載或快取任何內容。資料集會採取惰性載入 (lazily loaded),並在疊代時即時串流。
回傳由
split中請求的分割區所建立的資料集(預設:全部)。
範例
從 Hugging Face Hub 載入資料集
>>> from datasets import load_dataset
>>> ds = load_dataset('cornell-movie-review-data/rotten_tomatoes', split='train')
# Load a subset or dataset configuration (here 'sst2')
>>> from datasets import load_dataset
>>> ds = load_dataset('nyu-mll/glue', 'sst2', split='train')
# Manual mapping of data files to splits
>>> data_files = {'train': 'train.csv', 'test': 'test.csv'}
>>> ds = load_dataset('namespace/your_dataset_name', data_files=data_files)
# Manual selection of a directory to load
>>> ds = load_dataset('namespace/your_dataset_name', data_dir='folder_name')從 Hugging Face Hub 上的儲存桶載入資料集
>>> from datasets import load_dataset
>>> ds = load_dataset('buckets/username/bucket_name/rotten_tomatoes', split='train')載入本機資料集
# Load a CSV file
>>> from datasets import load_dataset
>>> ds = load_dataset('csv', data_files='path/to/local/my_dataset.csv')
# Load a JSON file
>>> from datasets import load_dataset
>>> ds = load_dataset('json', data_files='path/to/local/my_dataset.json')datasets.load_from_disk
< 原始碼 >( dataset_path: typing.Union[str, bytes, os.PathLike] keep_in_memory: typing.Optional[bool] = None storage_options: typing.Optional[dict] = None ) → Dataset 或 DatasetDict
參數
- dataset_path (
path-like) — 資料集將從中載入的 Dataset 或 DatasetDict 目錄的路徑(例如"dataset/train")或遠端 URI(例如"s3://my-bucket/dataset/train")。 - keep_in_memory (
bool,預設為None) — 是否將資料集複製到記憶體中。若為None,除非透過將datasets.config.IN_MEMORY_MAX_SIZE設為非零值來明確啟用,否則資料集不會被複製到記憶體。詳情請見提升效能章節。 - storage_options (
dict, 選填) — 若有需要,將傳遞給檔案系統後端的鍵值對。於 2.9.0 新增
返回
- 若
dataset_path為資料集目錄的路徑:回傳請求的資料集。 - 若
dataset_path為資料集字典目錄的路徑,回傳包含各分割區的 DatasetDict。
從資料集目錄載入先前使用 save_to_disk() 儲存的資料集,或是從使用任何 fsspec.spec.AbstractFileSystem 實作的檔案系統中載入。
datasets.load_dataset_builder
< 原始碼 >( path: str name: typing.Optional[str] = None data_dir: typing.Optional[str] = None data_files: typing.Union[str, collections.abc.Sequence[str], collections.abc.Mapping[str, typing.Union[str, collections.abc.Sequence[str]]], NoneType] = None cache_dir: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None token: typing.Union[bool, str, NoneType] = None storage_options: typing.Optional[dict] = None **config_kwargs )
參數
- path (
str) — 資料集的路徑或名稱。-
若
path為 HF Hub 上的資料集儲存庫 -> 從儲存庫中支援的檔案格式(csv, json, parquet 等)載入資料集建構器,例如'username/dataset_name'。 -
若
path為 HF Hub 上儲存桶內的目錄 -> 從目錄中支援的檔案格式載入資料集。 -
若
path為本機目錄 -> 從該目錄下支援的檔案格式載入資料集建構器。 -
若
path為資料集建構器的名稱,且已指定data_files或data_dir-> 從這些檔案中載入資料集建構器。
使用
hf://路徑可僅限遠端存取。使用絕對路徑可僅限本機存取。 -
- name (
str, 選填) — 定義資料集配置的名稱。 - data_dir (
str, 選填) — 定義資料集配置的data_dir。 - data_files (
str或Sequence或Mapping, 選填) — 來源資料檔案的路徑。 - cache_dir (
str, 選填) — 用於讀取/寫入資料的目錄。預設為"~/.cache/huggingface/datasets"。 - features (Features, 選填) — 設定此資料集使用的特徵型別。
- download_config (DownloadConfig, 選填) — 具體的下載設定參數。
- download_mode (DownloadMode 或
str,預設為REUSE_DATASET_IF_EXISTS) — 下載/產生模式。 - revision (Version 或
str,選填) — 要載入的資料集版本。 - token (
str或bool,選填) — 可選的字串或布林值,用於作為 Datasets Hub 上遠端檔案的 Bearer token。 - storage_options (
dict, 選填,預設為None) — 實驗性。若有需要,將傳遞給資料集檔案系統後端的鍵值對。於 2.11.0 新增
- **config_kwargs (額外的關鍵字引數) — 將傳遞至 BuilderConfig 並在 DatasetBuilder 中使用的關鍵字引數。
載入資料集建構器,可用於:
- 檢視建立資料集所需的通用資訊(快取目錄、配置、資料集資訊、特徵、資料檔案等)
- 下載並將資料集準備為快取中的 Arrow 檔案
- 取得串流資料集,而不下載或快取任何內容
您可以在 Hub 上或是使用 huggingface_hub.list_datasets 找到資料集列表。
資料集是一個包含通用格式(JSON、CSV、Parquet 等)資料檔案的目錄,可能具有通用結構(Webdataset、ImageFolder、AudioFolder、VideoFolder 等)。
datasets.get_dataset_config_names
< 原始碼 >( path: str revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None data_files: typing.Union[str, list, dict, NoneType] = None **download_kwargs )
參數
- path (
str) — 資料集儲存庫的路徑。可以是:- 指向包含資料檔案的資料集目錄的本機路徑,例如
'./dataset/squad' - Hugging Face Hub 上的資料集識別碼(可使用
huggingface_hub.list_datasets列出所有可用資料集及 ID),例如'rajpurkar/squad'、'nyu-mll/glue'或'openai/webtext'
- 指向包含資料檔案的資料集目錄的本機路徑,例如
- revision (
Union[str, datasets.Version], 選填) — 若已指定,將從該版本的資料集儲存庫中載入資料集模組。預設:- 設為本地函式庫的版本。
- 若無法在本地函式庫版本找到,它也會嘗試從主分支載入。指定不同於您本地函式庫版本的版本可能會導致相容性問題。
- download_config (DownloadConfig, 選填) — 具體的下載設定參數。
- download_mode (DownloadMode 或
str,預設為REUSE_DATASET_IF_EXISTS) — 下載/產生模式。 - data_files (
Union[Dict, List, str], 選填) — 定義資料集配置的 data_files。 - **download_kwargs (額外的關鍵字引數) — DownloadConfig 的選填屬性,若提供,將覆蓋
download_config中的屬性,例如token。
取得特定資料集的所有可用配置名稱列表。
datasets.get_dataset_infos
< 原始碼 >( path: str data_files: typing.Union[str, list, dict, NoneType] = None download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None token: typing.Union[bool, str, NoneType] = None **config_kwargs )
參數
- path (
str) — 資料集儲存庫的路徑。可以是:- 指向包含資料檔案的資料集目錄的本機路徑,例如
'./dataset/squad' - Hugging Face Hub 上的資料集識別碼(可使用
huggingface_hub.list_datasets列出所有可用資料集及 ID),例如'rajpurkar/squad'、'nyu-mll/glue'或'openai/webtext'
- 指向包含資料檔案的資料集目錄的本機路徑,例如
- revision (
Union[str, datasets.Version], 選填) — 若已指定,將從該版本的資料集儲存庫中載入資料集模組。預設:- 設為本地函式庫的版本。
- 若無法在本地函式庫版本找到,它也會嘗試從主分支載入。指定不同於您本地函式庫版本的版本可能會導致相容性問題。
- download_config (DownloadConfig, 選填) — 具體的下載設定參數。
- download_mode (DownloadMode 或
str,預設為REUSE_DATASET_IF_EXISTS) — 下載/產生模式。 - data_files (
Union[Dict, List, str], 選填) — 定義資料集配置的 data_files。 - token (
str或bool,選填) — 用於遠端檔案在 Datasets Hub 上進行身分驗證的 Bearer token(選填)。若設為True或未指定,將會從"~/.huggingface"獲取 token。 - **config_kwargs (額外的關鍵字參數) — 建構器類別(builder class)的選擇性屬性,若提供將會覆寫預設屬性。
取得資料集的後設資訊(meta information),回傳為一個對映配置名稱到 DatasetInfoDict 的字典。
datasets.get_dataset_split_names
< 原始碼 >( path: str config_name: typing.Optional[str] = None data_files: typing.Union[str, collections.abc.Sequence[str], collections.abc.Mapping[str, typing.Union[str, collections.abc.Sequence[str]]], NoneType] = None download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None token: typing.Union[bool, str, NoneType] = None **config_kwargs )
參數
- path (
str) — 資料集儲存庫的路徑。可以是以下其中之一:- 包含資料檔案的本機資料集目錄路徑,例如
'./dataset/squad' - Hugging Face Hub 上的資料集識別碼(可使用
huggingface_hub.list_datasets列出所有可用資料集與識別碼),例如'rajpurkar/squad'、'nyu-mll/glue'或'openai/webtext'
- 包含資料檔案的本機資料集目錄路徑,例如
- config_name (
str,選填) — 定義資料集配置的名稱。 - data_files (
str或Sequence或Mapping,選填) — 原始資料檔案的路徑。 - download_config (DownloadConfig,選填) — 特定的下載配置參數。
- download_mode (DownloadMode 或
str,預設為REUSE_DATASET_IF_EXISTS) — 下載/生成模式。 - revision (Version 或
str,選填) — 要載入的資料集版本。由於資料集在 Datasets Hub 上擁有自己的 git 儲存庫,預設版本 "main" 對應於其 "main" 分支。您可以透過使用 git commit SHA 或資料集儲存庫的 git 標籤來指定與預設 "main" 不同的版本。 - token (
str或bool,選填) — 用於遠端檔案在 Datasets Hub 上進行身分驗證的 Bearer token(選填)。若設為True或未指定,將會從"~/.huggingface"獲取 token。 - **config_kwargs (額外的關鍵字參數) — 建構器類別的選擇性屬性,若提供將會覆寫預設屬性。
取得特定配置與資料集的可用分割(splits)列表。
從檔案載入
用於載入資料檔案的配置。當載入本機檔案或資料集儲存庫時會使用它們。
- 本機檔案:
load_dataset("parquet", data_dir="path/to/data/dir") - 資料集儲存庫:
load_dataset("allenai/c4")
您可以將參數傳遞給 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[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None encoding: str = 'utf-8' encoding_errors: typing.Optional[str] = None chunksize: int = 10485760 keep_linebreaks: bool = False sample_by: typing.Literal['line', 'paragraph', 'document'] = 'line' )
參數
- features — (
Features,選填):將資料轉換為features。 - encoding — (
str,預設為 "utf-8"):解碼檔案所用的編碼方式。 - encoding_errors — (
str,選填):定義發生編碼錯誤時該如何處理的參數。與open()函式中的errors參數相同。 - chunksize — (
Features,選填,預設為 "10MB"):讀取資料的區塊大小。 - keep_linebreaks — (
bool,預設為 False):是否保留換行符號。 - sample_by (
Literal["line", "paragraph", "document"],預設為 "line") — 載入資料的方式,是以「行」、「段落」或「文件」為單位。預設情況下,資料集中的一列等於一行。
用於文字檔案的 BuilderConfig。
class datasets.packaged_modules.text.Text
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
CSV
class datasets.packaged_modules.csv.CsvConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None sep: str = ',' delimiter: typing.Optional[str] = None header: typing.Union[int, list[int], str, NoneType] = 'infer' names: typing.Optional[list[str]] = None column_names: typing.Optional[list[str]] = None index_col: typing.Union[int, str, list[int], list[str], NoneType] = None usecols: typing.Union[list[int], list[str], NoneType] = None prefix: typing.Optional[str] = None mangle_dupe_cols: bool = True engine: typing.Optional[typing.Literal['c', 'python', 'pyarrow']] = None converters: dict = None true_values: typing.Optional[list] = None false_values: typing.Optional[list] = None skipinitialspace: bool = False skiprows: typing.Union[int, list[int], NoneType] = None nrows: typing.Optional[int] = None na_values: typing.Union[str, 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' date_format: typing.Optional[str] = None )
用於 CSV 的 BuilderConfig。
class datasets.packaged_modules.csv.Csv
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
JSON
class datasets.packaged_modules.json.JsonConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None encoding: str = 'utf-8' encoding_errors: typing.Optional[str] = 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 on_mixed_types: typing.Optional[typing.Literal['use_json']] = 'use_json' )
用於 JSON 的 BuilderConfig。
class datasets.Json
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
XML
class datasets.packaged_modules.xml.XmlConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None encoding: str = 'utf-8' encoding_errors: typing.Optional[str] = None )
用於 xml 檔案的 BuilderConfig。
class datasets.packaged_modules.xml.Xml
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
Parquet
class datasets.packaged_modules.parquet.ParquetConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None batch_size: typing.Optional[int] = None columns: typing.Optional[list[str]] = None features: typing.Optional[datasets.features.features.Features] = None filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None fragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = None on_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error' )
參數
- batch_size (
int,選填) — 用於疊代的 RecordBatches 大小。預設為 row group 的大小(由第一個 row group 定義)。 - columns (
list[str],選填) — 要載入的欄位列表,其餘的將被忽略。預設載入所有欄位。 - features — (
Features,選填):將資料轉換為features。 - filters (
Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]],選填) — 僅回傳符合篩選條件的列。如果可能,謂詞(predicate)將會被向下推動(pushed down),以利用資料來源中的分割資訊或內部後設資料(例如 Parquet 統計資訊)。否則,會在產出 RecordBatches 之前對其進行篩選。 - fragment_scan_options (
pyarrow.dataset.ParquetFragmentScanOptions,選填) — Parquet 片段的掃描特定選項。這對於配置緩衝和快取特別有用。於 4.2.0 新增
- on_bad_files (
Literal["error", "warn", "skip"],選填,預設為 "error") — 指定遇到錯誤檔案(無法讀取的檔案)時該如何處理。允許的值為:- 'error':遇到錯誤檔案時引發 Exception。
- 'warn':遇到錯誤檔案時發出警告並跳過該檔案。
- 'skip':遇到錯誤檔案時直接跳過,不引發異常或發出警告。
於 4.2.0 新增
用於 Parquet 的 BuilderConfig。
範例
串流處理資料並有效率地篩選,可能會跳過整個檔案或 row groups
>>> filters = [("col_0", "==", 0)]
>>> ds = load_dataset(parquet_dataset_id, streaming=True, filters=filters)在串流時將最小請求大小從 32MiB(預設)增加到 128MiB 並啟用預先擷取(prefetching)
>>> import pyarrow
>>> import pyarrow.dataset
>>> fragment_scan_options = pyarrow.dataset.ParquetFragmentScanOptions(
... cache_options=pyarrow.CacheOptions(
... prefetch_limit=1,
... range_size_limit=128 << 20
... ),
... )
>>> ds = load_dataset(parquet_dataset_id, streaming=True, fragment_scan_options=fragment_scan_options)class datasets.packaged_modules.parquet.Parquet
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
Arrow
class datasets.packaged_modules.arrow.ArrowConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None )
Arrow 的 BuilderConfig。
class datasets.packaged_modules.arrow.Arrow
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
SQL
class datasets.packaged_modules.sql.SqlConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None sql: typing.Union[str, ForwardRef('sqlalchemy.sql.Selectable')] = None con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')] = None index_col: typing.Union[str, list[str], NoneType] = None coerce_float: bool = True params: typing.Union[list, tuple, dict, NoneType] = None parse_dates: typing.Union[list, dict, NoneType] = None columns: typing.Optional[list[str]] = None chunksize: typing.Optional[int] = 10000 features: typing.Optional[datasets.features.features.Features] = None )
SQL 的 BuilderConfig。
class datasets.packaged_modules.sql.Sql
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
影像
class datasets.packaged_modules.imagefolder.ImageFolderConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None drop_labels: bool = None drop_metadata: bool = None metadata_filenames: list = None filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None )
ImageFolder 的 BuilderConfig。
class datasets.packaged_modules.imagefolder.ImageFolder
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
音訊
class datasets.packaged_modules.audiofolder.AudioFolderConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None drop_labels: bool = None drop_metadata: bool = None metadata_filenames: list = None filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None )
AudioFolder 的 Builder Config。
class datasets.packaged_modules.audiofolder.AudioFolder
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
影片
class datasets.packaged_modules.videofolder.VideoFolderConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None drop_labels: bool = None drop_metadata: bool = None metadata_filenames: list = None filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None )
ImageFolder 的 BuilderConfig。
class datasets.packaged_modules.videofolder.VideoFolder
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
HDF5
class datasets.packaged_modules.hdf5.HDF5Config
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None batch_size: typing.Optional[int] = None features: typing.Optional[datasets.features.features.Features] = None )
HDF5 的 BuilderConfig。
class datasets.packaged_modules.hdf5.HDF5
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
ArrowBasedBuilder,使用 HF 擴充型別將 HDF5 檔案轉換為 Arrow 資料表。
class datasets.packaged_modules.pdffolder.PdfFolderConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None drop_labels: bool = None drop_metadata: bool = None metadata_filenames: list = None filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None )
ImageFolder 的 BuilderConfig。
class datasets.packaged_modules.pdffolder.PdfFolder
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
Nifti
class datasets.packaged_modules.niftifolder.NiftiFolderConfig
< 原始碼 >( name: str = 'default' version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0 data_dir: typing.Optional[str] = None data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None description: typing.Optional[str] = None features: typing.Optional[datasets.features.features.Features] = None drop_labels: bool = None drop_metadata: bool = None metadata_filenames: list = None filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None )
NiftiFolder 的 BuilderConfig。
class datasets.packaged_modules.niftifolder.NiftiFolder
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )
WebDataset
class datasets.packaged_modules.webdataset.WebDataset
< 原始碼 >( cache_dir: typing.Optional[str] = None dataset_name: typing.Optional[str] = None config_name: typing.Optional[str] = None hash: typing.Optional[str] = None base_path: typing.Optional[str] = None info: typing.Optional[datasets.info.DatasetInfo] = None features: typing.Optional[datasets.features.features.Features] = None token: typing.Union[bool, str, NoneType] = None repo_id: typing.Optional[str] = None data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None data_dir: typing.Optional[str] = None storage_options: typing.Optional[dict] = None writer_batch_size: typing.Optional[int] = None config_id: typing.Optional[str] = None **config_kwargs )