如何防止HuggingFace重复下载
描述:
我对如何安装这些软件包感到困惑。目前我在使用一个叫StableDiffusion的模型,每次运行代码时,它都会反复下载一些大小在3到4个G的文件。
代码:
这是我最开始尝试运行的代码:
from torch import autocast
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
use_auth_token=True
).to("cuda")
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt)["sample"][0]
image.save("astronaut_rides_horse.png")
问题:
当我运行代码时,我的命令行中出现了以下内容:
Fetching 16 files: 0%| | 0/16 [00:00<?, ?it/s]
vae/diffusion_pytorch_model.safetensors: 0%| | 0.00/335M [00:00<?, ?B/s]
unet/diffusion_pytorch_model.safetensors: 0%| | 0.00/3.44G [00:00<?, ?B/s]
safety_checker/model.safetensors: 0%| | 0.00/1.22G [00:00<?, ?B/s]
text_encoder/model.safetensors: 0%| | 0.00/492M [00:00<?, ?B/s]
而且每次我运行代码时都会发生这种情况。
我尝试了什么?
我尝试安装并克隆整个git仓库。(老实说,我不知道为什么要这么做,明明知道这不会有什么影响!)我还在很多论坛上搜索这个问题,但没有找到任何线索,可能是因为我经验不足。
1 个回答
5
这里有两种可能的解决方法:
手动保存:
from diffusers import StableDiffusionPipeline
model = StableDiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
use_auth_token=True,
)
model.save_pretrained("./my_model_directory/") # only needed first run
model = StableDiffusionPipeline.from_pretrained("./my_model_directory/")
缓存目录:
from diffusers import StableDiffusionPipeline
model = StableDiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
cache_dir="./my_model_directory/",
use_auth_token=True,
)