问题描述

Traceback (most recent call last):
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/urllib3/response.py", line 712, in _error_catcher
    yield
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/urllib3/response.py", line 833, in _raw_read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
urllib3.exceptions.IncompleteRead: IncompleteRead(267143787 bytes read, 3677548538 more expected)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/requests/models.py", line 816, in generate
    yield from self.raw.stream(chunk_size, decode_content=True)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/urllib3/response.py", line 934, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/urllib3/response.py", line 905, in read
    data = self._raw_read(amt)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/urllib3/response.py", line 833, in _raw_read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/urllib3/response.py", line 729, in _error_catcher
    raise ProtocolError(f"Connection broken: {e!r}", e) from e
urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(267143787 bytes read, 3677548538 more expected)', IncompleteRead(267143787 bytes read, 3677548538 more expected))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/visionx/monica/project/GlyphControl-release/inference.py", line 143, in <module>
    model = load_model_from_config(cfg, args.ckpt, verbose=True)
  File "/media/visionx/monica/project/GlyphControl-release/scripts/rendertext_tool.py", line 22, in load_model_from_config
    model = instantiate_from_config(cfg.model)
  File "/media/visionx/monica/project/GlyphControl-release/ldm/util.py", line 79, in instantiate_from_config
    return get_obj_from_str(config["target"])(**config.get("params", dict()))
  File "/media/visionx/monica/project/GlyphControl-release/cldm/cldm.py", line 334, in __init__
    super().__init__(*args, use_ema=False, **kwargs)
  File "/media/visionx/monica/project/GlyphControl-release/ldm/models/diffusion/ddpm.py", line 632, in __init__
    self.instantiate_cond_stage(cond_stage_config)
  File "/media/visionx/monica/project/GlyphControl-release/ldm/models/diffusion/ddpm.py", line 763, in instantiate_cond_stage
    model = instantiate_from_config(config)
  File "/media/visionx/monica/project/GlyphControl-release/ldm/util.py", line 79, in instantiate_from_config
    return get_obj_from_str(config["target"])(**config.get("params", dict()))
  File "/media/visionx/monica/project/GlyphControl-release/ldm/modules/encoders/modules.py", line 182, in __init__
    model, _, _ = open_clip.create_model_and_transforms(arch, device=torch.device('cpu'), pretrained=version)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/open_clip/factory.py", line 382, in create_model_and_transforms
    model = create_model(
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/open_clip/factory.py", line 281, in create_model
    checkpoint_path = download_pretrained(pretrained_cfg, cache_dir=cache_dir)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/open_clip/pretrained.py", line 552, in download_pretrained
    target = download_pretrained_from_hf(model_id, cache_dir=cache_dir)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/open_clip/pretrained.py", line 522, in download_pretrained_from_hf
    cached_file = hf_hub_download(model_id, filename, revision=revision, cache_dir=cache_dir)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
    return fn(*args, **kwargs)
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/huggingface_hub/file_download.py", line 1461, in hf_hub_download
    http_get(
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/huggingface_hub/file_download.py", line 541, in http_get
    for chunk in r.iter_content(chunk_size=DOWNLOAD_CHUNK_SIZE):
  File "/home/visionx/anaconda3/envs/GlyphControl/lib/python3.9/site-packages/requests/models.py", line 818, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(267143787 bytes read, 3677548538 more expected)', IncompleteRead(267143787 bytes read, 3677548538 more expected))

原因分析

        这个问题说实话比较抽象,也是在别人的帮助下解决的,所以主要是来复现一下解决过程。(着急要解决办法的话请直接跳转第四步)

        第一步,搜一下requests.exceptions.ChunkedEncodingError:

        这些我看的真是云里雾里,感觉自己像是白痴,看了下面的论坛,我还是把“像”字去掉了

        (到这一步是没找到大佬给出的解决方案的,所以我还是有点疑惑的,继续往下看) requests.exceptions.ChunkedEncodingError: - Twitter API v2 - Twitter DevelopersHi Everyone, I hope you are doing well and are able to help me with my Python issue. I have been working with the new API and it’s filtered streams. I use the requests library to stream the data into my system with the…icon-default.png?t=N7T8https://twittercommunity.com/t/requests-exceptions-chunkedencodingerror/150530

        再看一下是不是其他原因     

        第二步:搜urllib3.exceptions.ProtocolError:

 

        找了很久,还是没找到能解决问题的办法,这就很抽象。

        第三步,搜 urllib3.exceptions.IncompleteRead:

requests.packages.urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read)) · Issue #908 · tweepy/tweepy · GitHubI updated my streaming.py file like benfei@a349d52?diff=split to fix the IncompleteRead exceptions but now this error is comming. Help! I am getting this error: Traceback (most recent call last): File "/home/scarlet/anaconda3/envs/my_env...icon-default.png?t=N7T8https://github.com/tweepy/tweepy/issues/908        这个issuses让我了花了很长时间,但是要改这个项目还是不知道怎么去修改,很难受,后来我看到了这个和我不谋而合的想法

        那就一直试呗,但是试了很多次以后发现还是不行,这前面的情况都是基于代理可用的情况下,但是大家请看这个MaxRetryError,包括之前的NO HOST都是因为代理不可以,也就是没有成功翻墙,这个问题我会再出一篇博文来详细讲解这个的解决办法。(已经出了,感兴趣的可以主页搜索“【已解决】requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘huggingface.co 2’, port=443): Ma”)

        针对这种问题真的摸不着头脑,那怎么办呢?老板一直在催,手里还有其他活。

        第四步,被催,表明问题,然后大佬给出解决办法

        其实解决办法很简单,就是把这个.cache/huggingface里的文件目录给scp过去,因为这个连的话就是再做一个事情,从huggingface拉取权重bin文件,在此基础上加载模型,进行微调或者推断。具体操作如下:

        我原本的文件目录结构:

         修改后的目录结构:

        但是snapchots里面有.bin文件,而原来的目录结构是没有的 

        有趣的是,这两种文件目录结构都是通过代码下载和创建的,也就是没有手工操作(当然这里指的是第二种目录结构是正常下载的途径,而我原本的是不对的,但是为什么会有这种情况呢?) 

        我觉得这是一个有趣的问题,后面专门出一篇博客来说这个事情。

        还有就是正常的huggingface下载的模型文件的目录结构应该是怎么样的呢?这也是一个很有趣的话题,后面也专门出一篇博客来说这个。(已经出了,感兴趣的可以主页搜索“【经验分享】huggingface模型加载过程下载到cache文件目录具体是怎么组织的?以及都会有什么文件目录,每个文件目录是什么?huggingface离线使用数据集、metric、模型文件的操作”),也可以点击【经验分享】huggingface模型加载过程下载到cache文件目录具体是怎么组织的?以及都会有什么文件目录,每个文件目录是什么?huggingface离线使用数据集、metric、模型文件的操作-CSDN博客声明:经验之谈,如果不对,请用尿滋醒我!https://blog.csdn.net/BetrayFree/article/details/134779436?spm=1001.2014.3001.5501

完结撒花

        不与夏虫语冰,是我对这个世界的善良。

        

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐