https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0
在运行示例程序时候遇到GLIBCXX_3.4.29‘ not found
diffusers to >= 0.18.0
- import torch
- from diffusers import StableDiffusionXLImg2ImgPipeline
- from diffusers.utils import load_image
-
- pipe = StableDiffusionXLImg2ImgPipeline.from_pretrained(
- "stabilityai/stable-diffusion-xl-refiner-1.0", torch_dtype=torch.float16, variant="fp16", use_safetensors=True
- )
- pipe = pipe.to("cuda")
- url = "https://huggingface.co/datasets/patrickvonplaten/images/resolve/main/aa_xl/000000009.png"
-
- init_image = load_image(url).convert("RGB")
- prompt = "a photo of an astronaut riding a horse on mars"
- image = pipe(prompt, image=init_image).images
以前也遇到过GLBXX没有的问题,通过编译高版本的GCC,感觉头大了,
但是这次其实的装的python3.10的环境中带有的,通过搜寻到,然后链接到该so就可以了
1、找到高版本的库
sudo find / -name "libstdc++.so.6*"
libstdc++.so.6.0.29
2、检测该库里是否有
strings 你的路径/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 | grep GLIBCXX
3、把以前的软链接重命名,新建软链接指向
- # 复制
- sudo cp /home/wuye/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
- # 删除之前链接
- sudo mv /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.bak
- # 创建新的链接
- sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
4、最后检查一下,是否包括了6.0.29了。
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX