json.decoder.JSONDecodeError: Unterminated string starting at: line 1

[复制链接]
查看734 | 回复0 | 2023-8-9 16:09:47 | 显示全部楼层 |阅读模式
错误内容

  1. ...
  2. File "C:\stable-diffusion-webui\modules\sd_models.py", line 236, in load_model
  3. sd_model = instantiate_from_config(sd_config.model)
  4. File "C:\stable-diffusion-webui\repositories\stable-diffusion\ldm\util.py", line 85, in instantiate_from_config
  5. return get_obj_from_str(config["target"])(**config.get("params", dict()))
  6. File "C:\stable-diffusion-webui\repositories\stable-diffusion\ldm\models\diffusion\ddpm.py", line 461, in init
  7. self.instantiate_cond_stage(cond_stage_config)
  8. File "C:\stable-diffusion-webui\repositories\stable-diffusion\ldm\models\diffusion\ddpm.py", line 519, in instantiate_cond_stage
  9. model = instantiate_from_config(config)
  10. File "C:\stable-diffusion-webui\repositories\stable-diffusion\ldm\util.py", line 85, in instantiate_from_config
  11. return get_obj_from_str(config["target"])(**config.get("params", dict()))
  12. File "C:\stable-diffusion-webui\repositories\stable-diffusion\ldm\modules\encoders\modules.py", line 141, in init
  13. self.tokenizer = CLIPTokenizer.from_pretrained(version)
  14. File "C:\stable-diffusion-webui\venv\lib\site-packages\transformers\tokenization_utils_base.py", line 1784, in from_pretrained
  15. return cls.from_pretrained(
  16. File "C:\stable-diffusion-webui\venv\lib\site-packages\transformers\tokenization_utils_base.py", line 1929, in from_pretrained
  17. tokenizer = cls(*init_inputs, **init_kwargs)
  18. File "C:\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\tokenization_clip.py", line 163, in init
  19. self.encoder = json.load(vocab_handle)
  20. File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\json_init.py", line 293, in load
  21. return loads(fp.read(),
  22. File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\json_init.py", line 346, in loads
  23. return _default_decoder.decode(s)
  24. File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 337, in decode
  25. obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  26. File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 353, in raw_decode
  27. obj, end = self.scan_once(s, idx)
  28. json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 267716 (char 267716)
复制代码
解决方案

   遇到这种问题基本都是数据文件的问题,导致json解析错误,所以需要找到这个文件,然后修复它。
  从报错可以看出,是在tokenization_clip.py文件中的__init__方法加载词汇文件时出现的JSONDecodeError。
然后找到这段代码,最后确定这里有错误:
  1. with open(vocab_file, encoding="utf-8") as vocab_handle:
  2.     self.encoder = json.load(vocab_handle)
复制代码
一开始在项目中总是找不到这个vocab.json文件。
于是打印vocab_file,得到json文件的路径,发现不在项目中,而是在C盘,难怪找不到。
   我的vocab.json文件路径:
C:\Users\xxx\.cache\huggingface\hub\models–openai–clip-vit-large-patch14\snapshots\8d052a0f05efbaefbc9e8786ba291cfdf93e5bff\vocab.json
  我在C盘找到了这个文件,但它是快捷方式,所以继续找到它的源文件,并打开它。
   快捷方式对应链接文件路径:
C:\Users\xxx\.cache\huggingface\hub\models–openai–clip-vit-large-patch14\blobs\4297ea6a8d2bae1fea8f48b45e257814dcb11f69
  发现末尾少了很多内容,总字数只有267716,这是我的文件末尾内容:
   
…rium
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则