问题标签 [huggingface-tokenizers]
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.
python - TFGPT2LMHeadModel 未知位置
我一直在玩 tensorflow (CPU) 和一些语言建模 - 到目前为止它一直很成功 - 一切都很好。
但是在看到我的旧 CPU 慢慢地从所有模型训练中被杀死之后 - 我决定是时候最终从我的 RTX 2080 中得到一些使用了。我一直在遵循华盛顿大学的指南:。很快我让 tensorflow-gpu 运行起来,在一些轻量级预测和类似的东西上运行它。
但是当我开始运行 GPT2 语言模型时,我遇到了一些小问题。我首先对数据进行标记:
上面的代码完美地工作并标记数据 - 就像使用 tensorflow (CPU) 一样。在对我的数据进行标记后,我开始训练我的模型 - 但在它开始之前,我得到以下 ImportError:
Transformers 包似乎已正确安装在 site-packages 库中,我似乎能够使用其他变压器 - 但不是TFGPT2LMHeadModel 我已经阅读了 google 和hugging.co上的所有内容- 尝试了不同版本的 tensorflow-gpu、变压器、标记器和许多其他软件包 - 遗憾的是没有任何帮助。
套餐:
- 蟒蛇,3.7.1
- 张量流 2.1.0
- TensorFlow-GPU 2.1.0
- 基于 TensorFlow 的 2.1.0
- 张量流估计器 2.1.0
- 变形金刚 4.2.2
- 标记器 0.9.4
- cudnn 7.6.5
- cudatoolkit 10.1.243
encoding - 编码错误:用越南语从头开始训练 BERT
我遵循本教程如何使用 Transformers 和 Tokenizers 从头开始训练新的语言模型。
在 Section 2. Train a tokenizer 中,通过我自己的越南文本数据进行训练后,我查看生成的 .vocab 文件,所有的标记都变成了这样:
有什么办法解决这个问题吗?
split - 在 HuggingFace 标记器中:如何仅在空格上拆分序列?
我正在使用HuggingFaceDistilBertTokenizer
的标记器。
我想通过在空间上简单地拆分来标记我的文本:
而不是默认行为,如下所示:
我阅读了他们关于Tokenization的文档以及专门关于BERT Tokenizer的文档,但找不到这个简单问题的答案:(
我假设它应该是加载 Tokenizer 时的参数,但我在参数列表中找不到它...
编辑:重现的最小代码示例:
deep-learning - 在 GPU 上运行 huggingface Bert 分词器
我正在处理用于内容分类的巨大文本数据集。我已经实现了 distilbert 模型和 distilberttokenizer.from_pretrained() 标记器。这个标记器需要非常长的时间来标记我的文本数据,大约 7 分钟,只有 14k 记录,这是因为它在我的 CPU 上运行。
有什么方法可以强制标记器在我的 GPU 上运行。
python - 我应该创建一个 PyTorch 数据集来从 pyspark 数据框训练模型吗?
我想在列格式的训练数据上训练一个 PyTorch NLP 模型,我想用pyspark 数据框Dataset
作为原始数据来构建一个 PyTorch(不确定它是不是正确的方法......)。
为了预处理文本,我使用了transformers
库提供的分词器和tokenizing_UDF
应用分词的函数。
然后将该Dataset
对象馈送到 aDataLoader
以训练 ML 模型。
我目前拥有的是这样的:
我目前调用.toPandas()
以便我TokenizedDataset
可以处理熊猫数据框。
这是一个明智的做法吗?如果是这样,我应该如何修改TokenizedDataset
代码以直接处理 pyspark 数据帧?如果我偏离了轨道,我应该改用https://github.com/uber/petastorm吗?
python - 如何取消 BERT 代币?
我有一个句子,我需要将 N BERT tokens 对应的文本返回到特定单词的左侧和右侧。
我想要的是在标记马德里的左侧和右侧获取对应于 4 个标记的文本。所以我想要令牌: ['Natural', 'Science', 'Museum', 'of', 'Madrid', 'shows', 'the', 'R', '##EC'] 然后将它们转换成原文。在这种情况下,它将是“马德里自然科学博物馆展示 REC”。
有没有办法做到这一点?
pytorch - HuggingFace - config.json 中的 GPT2 标记器配置
GPT2 微调模型上传到huggingface-models以进行推理
在推理过程中观察到以下错误,
无法使用 from_pretrained 加载标记器,请更新其配置:无法为“bala1802/model_1_test”加载标记器。确保: - “bala1802/model_1_test”是“https://huggingface.co/models”上列出的正确模型标识符 - 或“bala1802/model_1_test”是包含相关标记器文件的目录的正确路径
下面是 Finetuned huggingface 模型的配置 - config.json 文件,
我是否应该像"model_type": "gpt2"
在 config.json 文件中一样配置 GPT2 Tokenizer
huggingface-transformers - 在转换器特征提取管道中启用截断
我正在使用这样的变压器 FeatureExtractionPipeline:
但是,似乎管道不使用截断来确保没有序列更长 4096,导致:
令牌索引序列长度大于此模型的指定最大序列长度 (8912 > 4096)。在模型中运行此序列将导致索引错误
有什么方法可以在管道中启用截断?或者是否有可能预先标记化然后将其输入管道?
python - OSError:无法加载标记器
我想从头开始训练一个 XLNET 语言模型。首先,我训练了一个标记器,如下所示:
最后,我将在给定目录中有两个文件:
我为模型定义了以下配置:
现在,我想在转换器中重新创建我的标记器:
但是,会出现以下错误:
我应该怎么办?
python-3.x - 在 python 中应用预训练的 facebook/bart-large-cnn 进行文本摘要
我的情况是,我正在使用抱脸变形金刚,并且对此有所了解。我正在使用 facebook/bart-large-cnn 模型为我的项目执行文本摘要,并且到目前为止我正在使用以下代码进行一些测试:
一小段代码实际上给了我一个很好的文本总结。但我的问题是,如何在我的数据框列之上应用相同的预训练模型。我的数据框如下所示:
.... 等等 50K 行
现在我想将预训练的模型应用于 col Text 以从中生成一个新列 df['summary'] ,生成的数据框应如下所示:
我怎样才能做到这一点?任何帮助将非常感激。