- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近根据源代码对以下代码进行了测试:
https://github.com/cl-tohoku/bert-japanese/blob/master/masked_lm_example.ipynb
import torch
from transformers.tokenization_bert_japanese import BertJapaneseTokenizer
from transformers.modeling_bert import BertForMaskedLM
tokenizer = BertJapaneseTokenizer.from_pretrained('cl-tohoku/bert-base-japanese-whole-word-masking')
model = BertForMaskedLM.from_pretrained('cl-tohoku/bert-base-japanese-whole-word-masking')
input_ids = tokenizer.encode(f'''
青葉山で{tokenizer.mask_token}の研究をしています。
''', return_tensors='pt')
当我尝试对其进行编码时,我收到错误,例如:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-29-f8582275f4db> in <module>
1 input_ids = tokenizer.encode(f'''
2 青葉山で{tokenizer.mask_token}の研究をしています。
----> 3 ''', return_tensors='pt')
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_utils_base.py in encode(self, text, text_pair, add_special_tokens, padding, truncation, max_length, stride, return_tensors, **kwargs)
1428 stride=stride,
1429 return_tensors=return_tensors,
-> 1430 **kwargs,
1431 )
1432
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_utils_base.py in encode_plus(self, text, text_pair, add_special_tokens, padding, truncation, max_length, stride, is_pretokenized, pad_to_multiple_of, return_tensors, return_token_type_ids, return_attention_mask, return_overflowing_tokens, return_special_tokens_mask, return_offsets_mapping, return_length, verbose, **kwargs)
1740 return_length=return_length,
1741 verbose=verbose,
-> 1742 **kwargs,
1743 )
1744
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_utils.py in _encode_plus(self, text, text_pair, add_special_tokens, padding_strategy, truncation_strategy, max_length, stride, is_pretokenized, pad_to_multiple_of, return_tensors, return_token_type_ids, return_attention_mask, return_overflowing_tokens, return_special_tokens_mask, return_offsets_mapping, return_length, verbose, **kwargs)
452 )
453
--> 454 first_ids = get_input_ids(text)
455 second_ids = get_input_ids(text_pair) if text_pair is not None else None
456
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_utils.py in get_input_ids(text)
423 def get_input_ids(text):
424 if isinstance(text, str):
--> 425 tokens = self.tokenize(text, **kwargs)
426 return self.convert_tokens_to_ids(tokens)
427 elif isinstance(text, (list, tuple)) and len(text) > 0 and isinstance(text[0], str):
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_utils.py in tokenize(self, text, **kwargs)
362
363 no_split_token = self.unique_no_split_tokens
--> 364 tokenized_text = split_on_tokens(no_split_token, text)
365 return tokenized_text
366
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_utils.py in split_on_tokens(tok_list, text)
356 (
357 self._tokenize(token) if token not in self.unique_no_split_tokens else [token]
--> 358 for token in tokenized_text
359 )
360 )
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_utils.py in <genexpr>(.0)
356 (
357 self._tokenize(token) if token not in self.unique_no_split_tokens else [token]
--> 358 for token in tokenized_text
359 )
360 )
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_bert_japanese.py in _tokenize(self, text)
153 def _tokenize(self, text):
154 if self.do_word_tokenize:
--> 155 tokens = self.word_tokenizer.tokenize(text, never_split=self.all_special_tokens)
156 else:
157 tokens = [text]
~/.pyenv/versions/3.7.0/envs/personal/lib/python3.7/site-packages/transformers/tokenization_bert_japanese.py in tokenize(self, text, never_split, **kwargs)
205 break
206
--> 207 token, _ = line.split("\t")
208 token_start = text.index(token, cursor)
209 token_end = token_start + len(token)
ValueError: too many values to unpack (expected 2)
有没有人经历过这种情况?我尝试了很多不同的方法并引用了很多帖子,但都使用相同的方法并且没有解释,我只是想测试多种语言,其他语言似乎可以正常工作,但不能与日语一起使用,我不知道为什么。
最佳答案
我是 mecab-python3 维护者。 Transformers 依赖于 1.0 之前版本中的捆绑字典,该字典已被删除,因为它很旧。我很快就会在一个版本中添加它作为一个选项,但同时你可以安装一个旧版本。
vivasra 发布的命令不起作用,因为它指定了一个不存在的不同包的版本(注意包名中没有“3”)。你可以使用这个:
pip install mecab-python3=0.996.5
如果您仍然遇到问题,请打开一个问题
on Github .
关于python - HuggingFace 用于日本分词器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62860717/
如何将 HuggingFace 数据集写入磁盘? 我使用 JSONL 文件制作了自己的 HuggingFace 数据集: Dataset({features: ['id', 'text'],num_r
是否有任何方法可以将两个评估数据集传递给 HuggingFace Trainer 对象,以便在训练期间可以在两个不同的集合(比如分布内和分布外集合)上评估训练模型?这是对象的实例化,它只接受一个 ev
想做类似的事情 tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = BertModel.from_pretra
来自文档 for from_pretrained ,我知道我不必每次都下载预训练的向量,我可以使用以下语法保存它们并从磁盘加载: - a path to a `directory` contain
默认缓存目录磁盘容量不足,我需要更改默认缓存目录的配置。 最佳答案 您可以在每次加载模型时指定缓存目录 .from_pretrained通过设置参数cache_dir .您可以通过导出环境变量 TRA
我正在使用 T5 模型和分词器执行下游任务。我想将某些 whitesapces 添加到分词器,例如行结尾 (\t) 和制表符 (\t)。添加这些标记是有效的,但不知何故标记器总是忽略第二个空格。因此,
我正在查看 Huggingface pipeline for Named Entity Recognition 的文档,我不清楚这些结果如何用于实际的实体识别模型。 例如,给出文档中的示例: >>>
我正在构建基于 Huggingface Longformer 的分类器。下面是我的主要代码 model = LongformerForSequenceClassification.from_pretr
我最近根据源代码对以下代码进行了测试: https://github.com/cl-tohoku/bert-japanese/blob/master/masked_lm_example.ipynb i
运行下面的代码下载一个模型 - 有谁知道它下载到哪个文件夹? !pip install -q transformers from transformers import pipeline model
我正在用变形金刚练习总结文本。 按照以下教程:https://huggingface.co/transformers/usage.html#summarization from transformer
我收到以下错误: AssertionError:文本输入必须为 str(单个示例)、List[str](批处理或单个预标记示例)或 List[List[str]](预标记示例批处理)类型。,当我运行
问题 请帮助理解以下问题的原因以及如何构建 Keras 模型以在 huggingface 的预训练模型之上进行微调。 目标 在 TFDistilBertForSequenceClassificatio
我希望摘要任务通常假定长文档。但是,遵循文档 here ,我所做的任何简单摘要调用都表明我的文档太长: >>> summarizer = pipeline("summarization") >>> s
我在 Colab Notebook 上下载了预训练模型后,它会在我重置 notebook 变量后消失。有没有办法可以下载模型以供第二次使用? tokenizer = BertTokenizer.fro
特尔;博士: 我的模型总是预测相同的标签,我不知道为什么。下面是我的整个微调代码,希望有人能指出我哪里出错了。 我正在使用 Huggingface 的 TFBertForSequenceClassif
我的编码功能如下所示: from transformers import BertTokenizer, BertModel MODEL = 'bert-base-multilingual-uncase
我想使用 HuggingFace 的转换器使用预训练的 "xlm-mlm-xnli15-1024" 将中文翻译成英文模型。 This tutorial显示如何从英语到德语。 我尝试按照教程进行操作,但
我想添加额外的 Dense预训练后的层 TFDistilBertModel , TFXLNetModel和 TFRobertaModel抱脸模特。我已经看到如何使用 TFBertModel 做到这一点
我正在尝试将预训练的 HuggingFace ALBERT 更改器(mutator)模型应用于我自己的文本分类任务,但损失并没有减少到某个点。 这是我的代码: 我的文本分类数据集中有四个标签: 0,
我是一名优秀的程序员,十分优秀!