问题标签 [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.
huggingface-transformers - Huggingface 节省标记器
我正在尝试将 tokenizer 保存在 huggingface 中,以便以后可以从不需要访问 Internet 的容器中加载它。
但是,最后一行给出了错误:
变形金刚版本:3.1.0
不幸的是,如何从 Pytorch 中的预训练模型加载保存的标记器并没有帮助。
编辑 1
感谢@ashwin在下面的回答,我save_pretrained
改为尝试,但出现以下错误:
我尝试重命名tokenizer_config.json
为config.json
,然后出现错误:
python - BERT 标记 URL
我想对一堆推文进行分类,因此我正在使用 BERT 的拥抱脸实现。但是我注意到默认的 BertTokenizer 不使用特殊的 url 标记。
这对我来说似乎效率很低。对 URL 进行编码的最佳方法是什么?
pytorch - RobertaTokenizer() 和 from_pretrained() 初始化 RobertaTokenizer 的方式有什么区别?
我是抱脸变形金刚RobertaForMaskedLM
的新手,在从头开始训练 LM 时面临以下问题:
首先,我训练并保存了一个ByteLevelBPETokenizer
如下:
RobertaForMaskedLM
然后,通过创建一个使用这个标记器进行训练RobertaTokenizer
,如下所示:
但是现在,当我尝试使用填充掩码管道测试经过训练的 LM 时,
我收到以下错误:
PipelineException:在输入上找不到 mask_token ()
所以,我意识到,我加载的<mask>
标记器也在标记标记。但我不明白为什么会这样。请帮助我理解这一点。
在尝试了几件事之后,我以不同的方式加载了标记器,
而且,现在fill_mask_pipeline
运行没有错误。RobertaTokenizer()
那么,使用该方法加载分词器和使用该方法有什么区别.from_pretrained()
?
bert-language-model - Huggingface BERT Tokenizer 添加新令牌
我正在将 Huggingface BERT 用于 NLP 任务。我的文本包含被分成子词的公司名称。
现在我想将这些名称添加到标记器 ID 中,这样它们就不会被拆分。
这将标记器的长度从 30522 扩展到 30523。
因此,所需的输出将是新 ID:
但是输出和以前一样:
所以我的问题是;将新标记添加到标记器的正确方法是什么,以便我可以将它们与 tokenizer.encode_plus() 和 tokenizer.batch_encode_plus() 一起使用?
tensorflow2.0 - 微调 TFBertForMaskedLM model.fit() ValueError
问题
我一直在尝试用 tensorflow 训练 TFBertForMaskedLM 模型。但是当我使用 model.fit() 时总是会遇到一些问题。希望有人可以提供帮助并提出一些解决方案。
参考论文和样本输出
论文题目是“Conditional Bert for Contextual Augmentation”。简而言之,只需将 type_token_ids 更改为 label_ids 即可。如果句子的标签为5,长度为10,max_sequence_length = 16。它将处理输出如下:
环境
- 张量流 == 2.2.0
- 拥抱脸 == 3.5.0
- 数据集 == 1.1.2
- 数据集总标签为 5。(1~5)
- 显卡:GCP P100 * 1
数据集输出(max_sequence_length=128,batch_size=1)
型号代码
使用 TFBertForMaskedLM 时的警告消息
错误信息
有谁能帮忙。我会非常感谢。
其他测试
我用英语句子来测试。示例如下:
token_info 输出数据集
得到同样的错误......
我不确定将 fit() 集成到模型中是否存在问题?
pytorch - Pytorch + BERT+ batch_encode_plus() 代码在 Colab 中运行良好,但在输入形状不匹配时会产生 Kaggle 问题
我尝试使用 Google Colab 为 Kaggle 初始化的 Notebook 并发现了一个奇怪的行为,因为它给了我类似的东西:
错误来自以下代码:
我再次在COLAB上运行了这段代码,它运行得很顺利。可能是因为版本之类的吗?有人可以取悦这个吗?
Kaggle 配置:
Colab 配置:
编辑:我train_text
是一个 numpy 文本数组,train_labels
是一维数值数组,有 4 个类别,范围为 0-3。
另外:我将我的标记器初始化为:
pytorch - 提高 Huggingface 标记器输出的速度
我需要使用 HuggingFace 从 BERT 模型中获取最后一层嵌入。以下代码有效,但是速度极慢,如何提高速度?
这是一个玩具示例,我的真实数据由数千个带有长文本的示例组成。
pytorch - 如何从带/不带 DataLoader 的 CustomisedBERT 分类 + PyTorch NLP 模型中获得单文本预测
我已经使用了BERT
withHuggingFace
和,PyTorch
用于培训和评估。下面是代码:DataLoader
Serializer
结果它给了我一个numpy array
结果,并且由于在这个中使用了batch_size=1
和否Serializer
,我得到的结果是作为类预测的单个数组编号。
我有两个问题:
结果是否严格按照 的指标df['text']
?
**我怎样才能得到一个句子的预测,比如你好做我的预测。我是单句?
有人可以帮我做一个预测吗?
python - ValueError:logits 和标签必须具有相同的形状 ((1, 21) vs (21, 1))
我正在尝试使用 huggingface重现此TFBertModel
示例来执行分类任务。
我的模型与示例几乎相同,但我正在执行多标签分类。出于这个原因,我使用 sklearn 对我的标签进行了二值化MultiLabelBinarizer
。
然后,我调整了我的模型以做出相应的预测。
另外,我正在使用 tensorflowDataset
来生成模型的输入:
最后,当我尝试拟合我的模型时,我对 logits 和标签的形状有不一致的地方:
我真的不知道Dataset
转换是否弄乱了我输入的形状,或者我是否遗漏了一些其他细节。有任何想法吗?
完整的堆栈跟踪:
ValueError Traceback(最近一次调用最后一次)
bert-language-model - BertModel 转换器输出字符串而不是张量
我正在关注本教程,该教程使用带有拥抱脸库的 BERT 编写情绪分析分类器,但我的行为非常奇怪。当使用示例文本尝试 BERT 模型时,我得到一个字符串而不是隐藏状态。这是我正在使用的代码:
输出: