2024-01-11 部署Stable Diffusion遇挫记


点击 <C 语言编程核心突破> 快速C语言入门


部署Stable Diffusion遇挫记



create by Stable Diffusion; prompt: fire water llama

前言

要解决问题: 由于近期的努力, 已经实现语音转文字模型, 通用chat迷你大模型的本地部署与使用自由, 貌似还缺了一个图像, 别无选择 stable diffusion

想到的思路: stable-diffusion + Web UI, 既然已经有人搭了台子, 咱们唱戏就完了.

其它的补充: 这是我部署AI模型最不顺利的一次, 因为笑脸被墙了, 导致很多问题.


一、一如既往的GitHub部署

https://github.com/AUTOMATIC1111/stable-diffusion-webui 这是网址, 如果GitHub不能登, 就不要看下面的了.

直接下载最近的Releases, 按照说明, Windows直接运行stable-diffusion-webui/webui.bat, 但我的Windows一如既往的抛出数百行错误提示, 于是没有纠结, 转战Linux.

Linux玩法和Windows不一样, 需要先安装一些基本依赖:

bash 复制代码
# Debian-based:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
# Red Hat-based:
sudo dnf install wget git python3 gperftools-libs libglvnd-glx 
# openSUSE-based:
sudo zypper install wget git python3 libtcmalloc4 libglvnd
# Arch-based:
sudo pacman -S wget git python3

这个很简单, 然后下载并运行webui.sh文件(只需一个文件, 它会帮你全自动部署), 这个刚开始是没有权限, 需要运行一个命令:

bash 复制代码
sudo chmod +777 目录/webui.sh

详见https://blog.csdn.net/qq_47346664/article/details/120132193

但是我遇到了第一个问题, 重新下载torch, 这个问题有点大, 因为我部署whisper的时候下过6g的东西, 里面有这玩意儿, 它要更改版本, 可能其它的模型调用就会有问题,

于是我决定手动下载相关依赖, 根据依赖列表, 事实证明, 这浪费了大量的时间, 并且导致重复下载以及反复更新, 听我一句话, 对于这种版本冲突, 没辙, 老老实实的按照人家给你的方案装.

我的python下载的包, 不知为啥, 没有在PATH里, 所以, 可能会产生重复安装, 于是给包所在的lib文件夹, 添加到PATH中, 详见
https://blog.csdn.net/ymtianyu/article/details/105973953

之后的历程就是各种错误, 比如安装 PyTorch-Lightning 可能会重装torch(https://blog.csdn.net/qq_60592939/article/details/129177520),

安装tb-lightly失败, 需要更换pip源(https://blog.csdn.net/weixin_46455141/article/details/131353266) ,

安装xformers可能也有坑(https://blog.csdn.net/GranteZhou/article/details/131808110),

我刚开始没装, 后来老报错, 最后用用户启动命令行webui-user.sh文件加入如下命令自动安装,

另外的条目是解决显卡内存不足导致崩溃的, 显存小于8g的估计都要用上, 这是在官网查各种issue得到的精华, 没这条语句, 估计低端显卡都要崩, 而且根本无从查起.

bash 复制代码
export COMMANDLINE_ARGS="--medvram --xformers --no-gradio-queue"

在趟过了这些坑之后, 我们下载模型, 对, 依赖小10个G, 模型还要至少4个G, 网络不行, 还是绷不住.

v1-5-pruned-emaonly.safetensors, 这是基础模型, 当你完成部署后, 让你进入网页http://127.0.0.1:7860/ 但很快报错, 因为没有模型文件.

笑脸已经被墙了, 会登梯子的, 自己下, 不会登梯子的, 一如既往的阿里福音书:
https://www.modelscope.cn/home 自己搜索, 下载, 一定是我给的这个模型, 或类似的, 不是微调的那种.

下载到/stable-diffusion-webui/models/Stable-diffusion 路径下面.

以为这就完事了么, too young, 还有最后一个坑:

Can't load tokenizer for 'openai/clip-vit-large-patch14', 这个是openai的分词器, 但是是在笑脸, 所以被墙了, 你会发现, 网页可以进, 但是就是一会就蹦,

为什么呢, 因为没上面这个, 模型加载完, 没法用, 直接崩溃.

能上笑脸的自然不会出现这个问题, 不能上的, 去阿里福音书搜, 记住不需要下载模型文件, 但要把所有的json txt文件下载下来, 放入一个文件夹clip-vit-large-patch14,

然后, 搜两个文件mudules.py一样的名字, 不同的文件, 在文件中搜索openai, 找到 openai/clip-vit-large-patch14 的那一行, 把它换成你自己下载文件的那个文件夹的绝对路径, 每个文件两处, 一共四处, 详见(https://blog.csdn.net/qq_39352483/article/details/133883932)

之后, 如果你和我一样, 就应该可以愉快的玩耍了.

注意内存, 16g可称乞丐版了, 稍微开点应用, 就蹦.

二、使用的感受

首先, 比较慢, 这不是模型问题, 是我的贫穷问题, 我的错.

其次, 同样的prompt, 每次不一样, 更改尺寸也不一样, 风格也会变,

最后, 真的, 对内存小的设备及其不友好, 显存内存不足都是崩溃的主要原因.


总结

愉快的玩耍是以足够的硬件为基础的, 目前没有类似llama.cpp的穷人解决方案, 至少我没看到, 知道的可以告知一下.


点击 <C 语言编程核心突破> 快速C语言入门


相关推荐
AI极客菌2 天前
Stable Diffusion绘画 | 生成高清多细节图片的各个要素
人工智能·ai·ai作画·stable diffusion·aigc·midjourney·人工智能作画
灵魂画师向阳2 天前
AI绘画Stable Diffusion 自制素材工具: layerdiffusion插件—你的透明背景图片生成工具
ai作画·stable diffusion·ai绘画·抠图·ai绘画教程·透明背景·sd教程
洋葱蚯蚓2 天前
构建自己的文生图工具:Python + Stable Diffusion + CUDA
开发语言·python·stable diffusion
Everglowwwwww3 天前
【bug】通过lora方式微调sdxl inpainting踩坑
学习·计算机视觉·ai作画·stable diffusion·bug
AI绘画咪酱3 天前
Stable Diffusion上手绘图必须知道的几个关键点,快收藏起来!
人工智能·ai作画·stable diffusion·aigc·ai绘画
蜡笔新小3 天前
Stable diffusion 学习过程
人工智能·学习·stable diffusion
SharpCJ4 天前
ComfyUI 基础教程(五) —— 应用 IP-Adapter 实现图像风格迁移
stable diffusion·aigc·comfyui
清图6 天前
智能营销才是营销的未来
人工智能·chatgpt·ai作画·stable diffusion·aigc·dall·e 2·ai-native
python零基础入门小白8 天前
Stable Diffusion4.9(Ai绘画)安装教程(永久许可)
stable diffusion·aigc
雪碧有白泡泡8 天前
Stable Diffusion AI算法,实现一键式后期处理与图像修复魔法
人工智能·算法·stable diffusion