首页 > 解决方案 > Colab 的 Huggingface AlBert 标记器 NoneType 错误

问题描述

我只是尝试了拥抱脸网站的示例代码: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')`

然后我在标记器步骤出现以下错误:----> 5 encoded_input = tokenizer(text, return_tensors='pt')

TypeError:“NoneType”对象不可调用

我在本地机器上尝试了相同的代码,它没有问题。问题似乎在 Colab 内部。但是,我确实需要帮助才能在 colab GPU 上运行这个模型。

我在 colab 上的 python 版本是 Python 3.6.9

标签: google-colaboratoryhuggingface-transformershuggingface-tokenizers

解决方案


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


推荐阅读