LoadDataFromFileSystem¶
从文件系统中的文件加载数据集。
GeneratorStep
,用于从文件系统中的文件创建数据集,使用 Hugging Face datasets
库。查看 Hugging Face Datasets 以获取有关支持的文件类型的更多信息。
属性¶
-
data_files: 文件路径,或包含构成数据集的文件的目录。
-
split: 要加载的数据集拆分(通常为
train
、test
或validation
)。
运行时参数¶
-
batch_size: 处理数据时使用的批次大小。
-
data_files: 文件路径,或包含构成数据集的文件的目录。
-
split: 要加载的数据集拆分。默认为 'train'。
-
streaming: 是否以流模式加载数据集。默认为
False
。 -
num_examples: 要从数据集加载的示例数量。默认情况下,将加载所有示例。
-
storage_options: 要传递给文件系统后端的键/值对(如果有)。默认为
None
。 -
filetype: 预期的文件类型。如果未提供,将从文件扩展名推断。对于多个文件,将从第一个文件推断。
输入 & 输出列¶
graph TD
subgraph Dataset
subgraph New columns
OCOL0[dynamic]
end
end
subgraph LoadDataFromFileSystem
StepOutput[Output Columns: dynamic]
end
StepOutput --> OCOL0
输出¶
- dynamic (
all
): 此步骤将基于从 Hugging Face Hub 加载的数据集生成的列。
示例¶
从文件系统中的 Hugging Face 数据集加载数据¶
from distilabel.steps import LoadDataFromFileSystem
loader = LoadDataFromFileSystem(data_files="path/to/dataset.jsonl")
loader.load()
# Just like we saw with LoadDataFromDicts, the `process` method will yield batches.
result = next(loader.process())
# >>> result
# ([{'type': 'function', 'function':...', False)
如果文件扩展名不符合预期,请指定文件类型¶
from distilabel.steps import LoadDataFromFileSystem
loader = LoadDataFromFileSystem(filetype="csv", data_files="path/to/dataset.txtr")
loader.load()
# Just like we saw with LoadDataFromDicts, the `process` method will yield batches.
result = next(loader.process())
# >>> result
# ([{'type': 'function', 'function':...', False)
从云提供商的文件中加载数据¶
from distilabel.steps import LoadDataFromFileSystem
loader = LoadDataFromFileSystem(
data_files="gcs://path/to/dataset",
storage_options={"project": "experiments-0001"}
)
loader.load()
# Just like we saw with LoadDataFromDicts, the `process` method will yield batches.
result = next(loader.process())
# >>> result
# ([{'type': 'function', 'function':...', False)
加载数据并传递 glob 模式¶
from distilabel.steps import LoadDataFromFileSystem
loader = LoadDataFromFileSystem(
data_files="path/to/dataset/*.jsonl",
streaming=True
)
loader.load()
# Just like we saw with LoadDataFromDicts, the `process` method will yield batches.
result = next(loader.process())
# >>> result
# ([{'type': 'function', 'function':...', False)