一、问题背景
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、把以前的软链接重命名,新建软链接指向文章来源:https://www.toymoban.com/news/detail-738778.html
# 复制
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了。文章来源地址https://www.toymoban.com/news/detail-738778.html
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的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!