当前位置: 首页 > article >正文

关于服务器无法下载kcv_encoder.h5权重的解决方法

最近租服务器跑实验代码,在模型初次加载时会下载stable diffusion的一系列预训练权重,但服务器一直卡在 Downloading data from https://huggingface.co/fchollet/stable-diffusion/resolve/main/kcv_encoder.h5 ,最后报错

File /usr/local/miniconda3/lib/python3.10/site-packages/keras_cv/src/models/stable_diffusion/image_encoder.py:60, in ImageEncoder.__init__(self, download_weights)
     29 super().__init__(
     30     [
     31         keras.layers.Input((None, None, 3)),
   (...)
     56     ]
     57 )
     59 if download_weights:
---> 60     image_encoder_weights_fpath = keras.utils.get_file(
     61         origin="https://huggingface.co/fchollet/stable-diffusion/resolve/main/vae_encoder.h5",  # noqa: E501
     62         file_hash="c60fb220a40d090e0f86a6ab4c312d113e115c87c40ff75d11ffcf380aab7ebb",  # noqa: E501
     63     )
     64     self.load_weights(image_encoder_weights_fpath)

File /usr/local/miniconda3/lib/python3.10/site-packages/keras/src/utils/data_utils.py:351, in get_file(fname, origin, untar, md5_hash, file_hash, cache_subdir, hash_algorithm, extract, archive_format, cache_dir)
    349         raise Exception(error_msg.format(origin, e.code, e.msg))
    350     except urllib.error.URLError as e:
--> 351         raise Exception(error_msg.format(origin, e.errno, e.reason))
    352 except (Exception, KeyboardInterrupt):
    353     if os.path.exists(fpath):

Exception: URL fetch failure on https://huggingface.co/fchollet/stable-diffusion/resolve/main/vae_encoder.h5: None -- [Errno 99] Cannot assign requested address

应该是被墙了,所以进行了下面的一些尝试。

尝试1:修改环境变量(失败)

无论是在终端添加 HF_ENDPOINT=“https://hf-mirror.com”,还是在constant.py中替换原本的HF_ENDPOINT,都不管用。。

尝试2:直接修改下载链接(失败)

注意到:

File /usr/local/miniconda3/lib/python3.10/site-packages/keras_cv/src/models/stable_diffusion/image_encoder.py:60

 if download_weights:
---> 60     image_encoder_weights_fpath = keras.utils.get_file(
     61         origin="https://huggingface.co/fchollet/stable-diffusion/resolve/main/vae_encoder.h5",  # noqa: E501
     62         file_hash="c60fb220a40d090e0f86a6ab4c312d113e115c87c40ff75d11ffcf380aab7ebb",  # noqa: E501
     63     )
     64     self.load_weights(image_encoder_weights_fpath)

直接将里面的网站改成镜像网站"https://hf-mirror.com/fchollet/stable-diffusion/resolve/main/kcv_encoder.h5",结果报错:

“Exception: URL fetch failure on https://hf-mirror.com/fchollet/stable-diffusion/resolve/main/kcv_encoder.h5: 403 -- Forbidden”

服务器被拒了。。。。。

尝试3:手动把权重下载好后放入模型储存权重的文件(失败)

权重文件kcv_encoder.h5下好后准备把它放到stable diffusion存放权重文件的目录下。。
但现实很骨感。。。我不知道那个文件在哪。。于是跟着deepseek一顿操作。。啥models/stable-diffusion呀,啥~/.cache/huggingface/hub/呀都搞了一遍。。。。。头都大了,最终以失败告终

究极尝试:直接改源码里的读取路径 (成功)

此时的我耐心已被耗光,虽直接将源码里的权重加载路径换成我自己的,如下:
在这里插入图片描述
结果很丝滑,成功了!>^<
后面类似的情况我也都是这样解决的:下载权重–>改读取路径
最终也是成功把代码跑起来了,当时看看时间,已经是凌晨2点了…
嗐,介就是人生啊~


http://www.kler.cn/a/574392.html

相关文章:

  • 深度求索(DeepSeek)开源周技术全景与行业影响研究报告
  • 部署RabbitMQ集群详细教程
  • Modbus协议(TCP)
  • 前端基础之ajax
  • 人工智能直通车系列06【Python 基础与数学基础】(属性与方法概率论:概率基本概念)
  • 深入解析 Java 进程的内存占用-ByAI
  • MariaDB Galera 原理及用例说明
  • 键值对(C++实现)
  • vue2.6附件预览及下载
  • 大模型——基于 DIFY 的自动化数据分析实战
  • 爬虫逆向:脱壳工具 frida-dexdump 的使用详解
  • 安全见闻之网络安全新兴术语
  • 深度学习Save Best、Early Stop
  • 全面复习回顾——C++语法篇2
  • 华为OD机试-九宫格游戏(Java 2024 E卷 100分)
  • fetch为什么加了允许跨域请求mode: ‘no-cors‘,添加的多个header就丢失了?
  • java8 list分组
  • JavaWeb-idea配置smart tomcat
  • 大数据环境(单机版) Flume传输数据到Kafka
  • 算法之 前缀和