问题标签 [huggingface-datasets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
75 浏览

nlp - HuggingFace:使用自定义 data_loader 和 data_collat​​or 从本地目录流式传输数据集

我有自定义 data_loader 和 data_collat​​or 用于使用 HuggingFace API 在 Transformer 模型中进行训练。它还进行数据集的映射,其中也进行了标记化。我的 data_loader 脚本是一个固有的类,datasets.GeneratorBasedBuilder因此包含_generate_examples产生样本的函数。

在开始训练时,它会缓存整个数据集(在系统上只缓存一次),然后开始训练。我可以在本地系统上重用该缓存,但不能.arrow在任何其他系统上使用该缓存文件,因此缓存过程重新启动。我想通过使用流媒体功能来避免缓存。我当前的代码如下所示:

注意:我不需要在我必须编码的地方:__len____iter__我身边的功能。

0 投票
0 回答
195 浏览

python - 无法从 HuggingFace 包加载数据集

我正在尝试AMIHuggingFace 数据集包中加载数据集

但是,我收到以下错误。我究竟做错了什么?

0 投票
0 回答
306 浏览

huggingface-transformers - 如何使用 Huggingface 预训练模型来获取用于训练模型的数据集的输出?

我正在使用 Huggingface 的预训练 BART、Pegasus 和 T5 模型获取 XSUM 和 CNN DailyMail 数据集的抽象摘要。

我很困惑,因为已经存在在同一数据集上预训练的模型的检查点。

所以即使我这样做:

我无法理解如何获取任一数据集的摘要,因为我没有任何可以输入的新句子。

这是通常使用预训练模型的方式:

但我需要预训练模型在用于训练它们的数据集(XSUM 和 CNN DailyNews)上生成的摘要。

0 投票
1 回答
106 浏览

python - NonMatchingSplitsSizesError loading huggingface BookCorpus

我想像这样加载bookcorpus

但是,得到以下错误:

我想继续将它保存到磁盘,因为我不想每次使用它时都下载它。是什么导致了这个错误?

0 投票
0 回答
50 浏览

python - max_steps 和生成数据集拥抱脸

我正在使用 MLM 和 NSP 对我的域上的模型进行微调。我正在使用TextDatasetForNextSentencePredictionNSP 和DataCollatorForLanguageModelingMLM。

问题在于TextDatasetForNextSentencePrediction它将所有内容加载到内存中。我稍微调整了一下,让它现在生成示例,而不是将它们全部存储在内存中。

__len__但是因为我这样做了,所以现在我的数据集类没有属性,因此出现错误:

我也尝试最大化该值,但它在火炬库中失败并出现错误:

现在我的问题是解决此解决方案的最佳方法是什么?可以为我拥有的庞大数据集做些什么TextDatasetForNextSentencePrediction

对此的任何指示和/或指示都将受到高度赞赏。

谢谢

这是该类的更改代码:

0 投票
0 回答
92 浏览

huggingface-datasets - 从 HuggingFace 加载 CNN/每日邮件数据集时出错

我是 AI 新手,尤其是 NLP。

在我的任务中,我需要从 HuggingFace 数据集加载 CNN/Daily Mail 数据集。我在 Google Colab 上运行它,突然遇到这个错误。

在此处输入图像描述

我不知道为什么会这样。谁能帮我解决这个问题?非常感谢!!!

0 投票
2 回答
241 浏览

python - 向 HuggingFace 数据集添加新列

在我有 5000000 行的数据集中,我想在我的数据集中添加一个名为“嵌入”的列。

dataset = dataset.add_column('embeddings', embeddings)

变量embeddings是一个大小为 (5000000, 512) 的 numpy memmap 数组。

但我得到这个错误:

----> 1 个数据集 = dataset.add_column('embeddings', embeddings) 中的 ArrowInvalidTraceback(最近一次调用最后一次)

/opt/conda/lib/python3.8/site-packages/datasets/arrow_dataset.py in wrapper(*args, **kwargs) 486 } 487 # 应用实际函数 --> 488 out: Union["Dataset", " DatasetDict"] = func(self, *args, **kwargs) 489 个数据集:List["Dataset"] = list(out.values()) if isinstance(out, dict) else [out] 490 # 重新应用格式到输出

/opt/conda/lib/python3.8/site-packages/datasets/fingerprint.py in wrapper(*args, **kwargs) 404 # 调用实际函数 405 --> 406 out = func(self, *args, * *kwargs) 407 408 # 更新原地变换的指纹 + 更新原地变换的历史

/opt/conda/lib/python3.8/site-packages/datasets/arrow_dataset.py in add_column(self, name, column, new_fingerprint) 3346 :class: Dataset 3347 """ -> 3348 column_table = InMemoryTable.from_pydict({name : column}) 3349 # 水平连接表 3350 table = ConcatenationTable.from_tables([self._data, column_table], axis=1)

/opt/conda/lib/python3.8/site-packages/datasets/table.py in from_pydict(cls, *args, **kwargs) 367 @classmethod 368 def from_pydict(cls, *args, **kwargs): - -> 369 返回 cls(pa.Table.from_pydict(*args, **kwargs)) 370 371 @inject_arrow_table_documentation(pa.Table.from_batches)

/opt/conda/lib/python3.8/site-packages/pyarrow/table.pxi 在 pyarrow.lib.Table.from_pydict()

/opt/conda/lib/python3.8/site-packages/pyarrow/table.pxi 在 pyarrow.lib._from_pydict()

/opt/conda/lib/python3.8/site-packages/pyarrow/array.pxi 在 pyarrow.lib.asarray()

/opt/conda/lib/python3.8/site-packages/pyarrow/array.pxi 在 pyarrow.lib.array()

/opt/conda/lib/python3.8/site-packages/pyarrow/array.pxi 在 pyarrow.lib._ndarray_to_array()

/opt/conda/lib/python3.8/site-packages/pyarrow/error.pxi 在 pyarrow.lib.check_status()

ArrowInvalid:只处理一维数组

由于嵌入数组不适合 RAM,我该如何以有效的方式解决?

0 投票
0 回答
12 浏览

facebook - 用 2k 个数据点重新训练一个包含 6 亿个参数的 Transformer 模型

我正在尝试通过包含 6 亿个参数(最初在 2.5 亿个数据点上训练)和 2000 个数据点的 facebook 重新训练变压器模型。我想知道这样做是否是个好主意?在用 2k 数据点重新训练如此大的模型时,我应该记住哪些事情?

0 投票
0 回答
18 浏览

model - Huggingface 模型只工作一次,然后吐出 Tokenizer 错误

我正在关注huggingface 网站上的这个示例,尝试处理 twitter 情绪。我在 PyCharm 上运行 python 3.9。代码在我第一次运行时运行良好,但是如果我尝试再次运行代码而不进行任何更改,我会收到此错误:

我确实注意到的一件事是,Pycharm 将创建一个名为“cardiffnlp”的文件夹,其中包含与不同任务相对应的子文件夹,例如我的 PyCharm 项目文件夹中的“twitter-roberta-base-sentiment”,就在我的“venv”文件夹上方。但是,如果我删除第一次成功运行代码时创建的“twitter-roberta-base-sentiment”文件夹,代码将正常工作,并且“twitter-roberta-base-sentiment”文件夹将再次显示。

我的猜测是这部分代码正在下载模型并将其保存到 Pycharm。我只是不明白为什么它只第一次起作用。我是否需要更改模型位置,因为如果它已经存储在本地,则不需要记录器转到 URL 来获取文件?

Tnanks 的帮助家伙。

0 投票
0 回答
24 浏览

python - 报告哪个 ROUGE 值?

对于我的 MT 系统,我使用https://huggingface.co/metrics/rouge计算了 ROUGE-L 值。输出如下所示。大多数论文都报告了一个 ROUGE-L 值,我也想做同样的事情。但是,我的输出如下所示,我不确定要报告哪个值?我应该报告低、中还是高?和进动或召回或F-measure?

'rougeL': AggregateScore(low=Score(precision=0.34535176087958586, recall=0.36969750745470553, fmeasure=0.33939664257593155), mid=Score(precision=0.40405631462907, recall=0.41156890941875457, fmeasure=0.3835437703820411), high=Score(precision=0.4648738881460244, recall= 0.4597817743860313, fmeasure=0.43226391587929297))