本文主要是介绍运行stable-diffusion-xl-refiner-1.0遇到version `GLIBCXX_3.4.29‘ not found的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、问题背景
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_imagepipe = 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
这篇关于运行stable-diffusion-xl-refiner-1.0遇到version `GLIBCXX_3.4.29‘ not found的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!