• 运行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

    1. import torch
    2. from diffusers import StableDiffusionXLImg2ImgPipeline
    3. from diffusers.utils import load_image
    4. pipe = StableDiffusionXLImg2ImgPipeline.from_pretrained(
    5. "stabilityai/stable-diffusion-xl-refiner-1.0", torch_dtype=torch.float16, variant="fp16", use_safetensors=True
    6. )
    7. pipe = pipe.to("cuda")
    8. url = "https://huggingface.co/datasets/patrickvonplaten/images/resolve/main/aa_xl/000000009.png"
    9. init_image = load_image(url).convert("RGB")
    10. prompt = "a photo of an astronaut riding a horse on mars"
    11. 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、把以前的软链接重命名,新建软链接指向

    1. # 复制
    2. sudo cp /home/wuye/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
    3. # 删除之前链接
    4. sudo mv /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.bak
    5. # 创建新的链接
    6. 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
    

  • 相关阅读:
    【006】函数
    蓝牙协议文档下载
    弘辽科技:玩转店铺标签,能让你首页流量快速起爆
    前端-选中DOM定位源代码
    4.迭代最近点ICP及非线性优化求解
    (附源码)php在线考试系统 毕业设计 032028
    java8 reduce分组去重
    C++ 判断
    【云原生】服务网格是什么“格”?
    grpc的粗浅理解与示例
  • 原文地址:https://blog.csdn.net/liuchenbaidu/article/details/133922940