【发布时间】:2022-01-13 10:04:36
【问题描述】:
我正在尝试使用 Hugginface 数据集通过转换器进行语音识别,其中我有成对的文本/音频。我正在创建一个数据框,这两个列表没有问题:
d = pd.DataFrame.from_dict({"audio": ts_audios, "sentence": ts_sent})
但是当试图将其包装到数据集(来自 Hugginface 数据集)时:
ds=Dataset.from_pandas(d)
它给出:
pyarrow.lib.ArrowMemoryError: realloc of size 4294967296 failed
问题在于音频列表,如下所示:
[array([ 1.3715802e-05, 1.3041631e-05, -1.5017368e-06, ...,
-1.1172481e-01, -1.2214723e-01, 0.0000000e+00], dtype=float32), array([-0.06073862, -0.12271373, -0.11600843, ..., -0.11915235,
-0.13458692, 0. ], dtype=float32), array([-0.07074431, -0.12263235, -0.1065825 , ..., -0.10845864,
-0.12171803, 0. ], dtype=float32), array([-0.02499148, -0.04160473, -0.03867628, ..., -0.01881211,
-0.02035856, 0. ], dtype=float32), array([-0.18304674, -0.03917564, -0.030768 , ..., -0.11494933,
-0.112398 , -0.12073436], dtype=float32) .....]
如果我想使用 Huggingface 的转换器包,我必须使用 Dataset 格式。知道如何解决这个问题吗?
【问题讨论】:
-
你的数据集有多大?鉴于尝试的分配,这似乎是一个纯粹的内存问题。
-
有 8000 个数组(不同长度),总共有 467766 个元素。所以数据集有 467766 个浮点数。
-
您是否有足够的内存(理论上)保存数据的另一个副本而不会溢出?
-
是的,更大的数据
标签: numpy huggingface-transformers huggingface-datasets