在使用ChatGLM或其他基于Transformers库的模型时,可能会遇到AttributeError: ‘ChatGLMTokenizer‘ object has no attribute ‘sp_tokenizer’的错误。这个错误表明你尝试访问ChatGLMTokenizer对象中不存在的sp_tokenizer属性。以下是一些可能的解决方案和排查步骤。
ChatGLMTokenizer 是Hugging Face Transformers 库中用于处理 ChatGLM 模型文本输入的分词器。ChatGLM 是一个基于 Transformer 架构的大型语言模型,由清华大学开源。 2. 检查'chatglmtokenizer'对象是否应该有'sp_tokenizer'属性 sp_tokenizer 通常指的是基于 SentencePiece 的分词器,它是许多 Transformer 模型使用的分词技...
所以路径就只是文件名self.vocab_file = vocab_file# 创建底层的分词器,传入词表路径self.tokenizer = SPTokenizer(vocab_file)# 定义特殊单词 BOS、EOS、PAD# 建立单词文本到ID的映射self.special_tokens = {"<bos>": self.tokenizer.bos_id,"<eos>": self.tokenizer.eos_id,"<pad>": self.tokenizer.pad...
解决方法就是在super().__init__()之前设置self.sp_tokenizer属性 修改前 classChatGLMTokenizer(PretrainedTokenizer):...def__init__(...)->None:super().__init__(...)...self.sp_tokenizer=SPTokenizer(vocab_file,num_image_tokens=num_image_tokens) 修改后 classChatGLMTokenizer(PretrainedTokenizer)...
tokenizer = SPTokenizer(vocab_file) # 定义特殊单词 BOS、EOS、PAD # 建立单词文本到ID的映射 self.special_tokens = { "<bos>": self.tokenizer.bos_id, "<eos>": self.tokenizer.eos_id, "<pad>": self.tokenizer.pad_id } # 特殊单词文本转 ID def get_command(self, token): # 如果单词在...
也就是 SP 模型的包装 class SPTokenizer: def __init__(self, model_path: str): # reload tokenizer assert os.path.isfile(model_path), model_path # 加载 SP 模型作为底层模型 self.sp_model = SentencePieceProcessor(model_file=model_path) # 设置单词数量,BOS EOS PAD ID 属性 # PAD 由底层...
I solved the problem by following your method, thank you! n1vkmentioned this issueDec 30, 2023 Furytonmentioned this issueJul 25, 2024 AttributeError: 'ChatGLMTokenizer' object has no attribute 'sp_tokenizer'irlab-sdu/fuzi.mingcha#11 Open...
classChatGLMTokenizer(PretrainedTokenizer): ...def__init__(...)->None:self.sp_tokenizer=SPTokenizer(vocab_file,num_image_tokens=num_image_tokens)super().__init__(...) ...# self.sp_tokenizer = SPTokenizer(vocab_file, num_image_tokens=num_image_tokens) ...
AttributeError: 'ChatGLMTokenizer' object has no attribute 'sp_tokenizer' 【避坑2】transformers 版本为 4.34.0 时会出现上面的错误,改用 transformers==4.33.2 版本 pipinstalltransformers==4.33.2 【踩坑3】系统上的 NVIDIA驱动程序太旧,不能使用 cuda ...
self.tokenizer = SPTokenizer(vocab_file) File "/root/.cache/huggingface/modules/transformers_modules/chatglm3-6b/tokenization_chatglm.py", line 18, ininit self.sp_model = SentencePieceProcessor(model_file=model_path) File "/root/autodl-tmp/trainpy/lib/python3.10/site-packages/sentencepiece/init...