You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Huggingface Dataset中sample_by="document"参数使用异常问题排查

问题原因分析及排查建议

你遇到的样本数不符问题,大概率是以下几种情况导致的:

1. 文件路径列表包含目录而非单个文件

datasets.Dataset.from_text会自动递归处理传入的目录路径,把目录下所有文件都当作单独样本加载。如果你的files列表里混入了目录路径,实际处理的文件数会远多于列表长度,最终dataset行数就会远超5738。

你可以检查files列表中的每个元素,确认都是单个文件路径而非目录:

import os
for path in files:
    if os.path.isdir(path):
        print(f"发现目录路径: {path}")

2. 文件路径列表存在重复项

如果files列表里有重复的文件路径,同一个文件会被多次加载,导致样本数累加。你可以通过以下代码检查重复项:

unique_files = set(files)
if len(unique_files) != len(files):
    print(f"发现重复路径,重复数量: {len(files) - len(unique_files)}")

3. 单文件加载验证(排查版本bug)

虽然根据datasets 2.12.0的源码,sample_by="document"应该将整个文件作为单个样本,但可以通过单文件加载验证是否存在版本逻辑问题:

test_dataset = datasets.Dataset.from_text(
    [files[0]],
    sample_by="document",
    encoding="latin1",
)
print(f"单个文件加载后的样本数: {len(test_dataset)}")

如果输出结果大于1,说明该版本的from_text在处理二进制文件时存在异常,建议升级datasets版本后重试。


内容的提问来源于stack exchange,提问作者Luke Kurlandski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:50:37