Colab 的 Huggingface AlBert 分词器 NoneType 错误

Huggingface AlBert tokenizer NoneType error with Colab

我只是尝试了抱脸网站的示例代码:https://huggingface.co/albert-base-v2

`from transformers import AlbertTokenizer, AlbertModel` 
`tokenizer = AlbertTokenizer.from_pretrained('albert-base-v2')`
`text = "Replace me by any text you'd like."`
`encoded_input = tokenizer(text, return_tensors='pt')`

然后我在 tokenizer 步骤遇到了以下错误: ----> 5 encoded_input = tokenizer(text, return_tensors='pt')

类型错误:'NoneType'对象不可调用

我在本地机器上尝试了相同的代码,没有问题。问题似乎在 Colab 中。但是,我确实需要 运行 在 colab GPU 上使用此模型的帮助。

我在 colab 上的 python 版本是 Python 3.6.9

我找到了答案。安装后,导入 AlbertTokenizer 和 Tokenizer=...,我收到一个错误要求我安装 'SentencePiece package'。然而,在我再次安装这个包和 运行 tokenizer 之后,我开始收到上面的错误。 因此,我打开了一个全新的 colab 会话,并在创建分词器之前安装了包括 SentencePiece 在内的所有内容,这次成功了。 Nonetype 错误只是意味着它不知道什么是 'albert-base-v2'。但是,如果您以正确的顺序安装包,colab 将更好地识别 AlbertTokenizer 和 SentencePiece 之间的关系。 简而言之,它可以在 colab 0 中工作。打开一个新的 Colab 会话 1. 安装 Transformers 和 SentencePiece 2. import AlbertTokenizer 3.create tokenizer.

朱美楠回答正确

在转换器工作之前安装或导入 SentencePiece。

pip install Sentencepiece
!pip install transformers

tokenizer = XLNetTokenizer.from_pretrained('xlnet-base-cased', do_lower_case=True)

type(tokenizer)

transformers.models.xlnet.tokenization_xlnet.XLNetTokenizer

我刚刚尝试重新启动内核并在安装后再次 运行 - !pip install sentencepiece - 它成功了..

有完全相同的问题,在安装句子库后重新启动 Jupyter Notebook 内核就解决了问题。