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绘画小331 天前
【comfyui教程】comfyui古风一键线稿上色,效果还挺惊艳!
人工智能·ai作画·stable diffusion·aigc·comfyui
AI绘画月月1 天前
【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!
人工智能·ai作画·stable diffusion·aigc·comfyui
AI绘画咪酱1 天前
【AI绘画】AI绘图教程|stable diffusion(SD)图生图涂鸦超详细攻略,教你快速上手
人工智能·ai作画·stable diffusion·aigc·midjourney
HuggingAI1 天前
stable diffusion 大模型
人工智能·ai·stable diffusion·ai绘画
HuggingAI2 天前
stable diffusion图生图
人工智能·ai·stable diffusion·ai绘画
HuggingAI2 天前
stable diffusion文生图
人工智能·stable diffusion·ai绘画
云端奇趣2 天前
Stable Diffusion 绘画技巧分享,适合新手小白的技巧分享
人工智能·stable diffusion
cskywit3 天前
Stable diffusion 3.5本地运行环境配置记录
stable diffusion
ai绘画-安安妮4 天前
视频号带货书籍,一天佣金1200+(附视频教程)
人工智能·stable diffusion·aigc
papapa键盘侠4 天前
Stable Diffusion Web UI 1.9.4常用插件扩展-WD14-tagger
前端·ui·stable diffusion