• Stable Diffusion XL搭建


    本文参考:Stable Diffusion XL1.0正式发布了,赶紧来尝鲜吧-云海天教程

    Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎

    1、SDXL与SD的区别

    (1)分辨率得到了提升

    原先使用SD生成图片,一般都是生成512*512(模型就是基于这个分辨率进行训练的)的图然后再进行放大,以达到高清出图的效果。

    这次SDXL1.0直接使用1024*1024的图片训练底模

    (2)SDXL1.0由base模型和refiner模型共同组成

    SDXL由文生图的base模型和图生图进行优化放大的refiner模型组成,所以生图过程中会先运行基础模型,然后再运行细化模型。基础模型设置全局组成,而细化模型则添加了更多的细节。

    2、安装的硬软件环境

    硬件:如果希望在GPU上运行,则需要GPU显存在16G以上,否则很难运行。

    软件:python需要在3.10以上。

    3、下载Stable Diffusion WebUI源码到本地

    执行命令:git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

    将代码从GitHub下载到了本地

    4、 切换到支持SDXL的版本

    支持SDXL的webUI版本需要v1.5.0以上。

    在stable-diffusion-webui目录下运行:

    git checkout -b v1.6.0

    5、启动WebUI服务

    python launch.py  --listen --port 12346 --theme dark --xformers --enable-insecure-extension-access

    首次执行该命令后,会自动下载相关算法源码到repositories中,以及相关模型到对应的目录下。

    如果运行成功则直接跳到第8步,否则按照6-9步依次手工处理相关问题。

     

    6、repositories安装错误处理

    如果出错,则需要手工下载这些代码放到指定目录。以下过程仅针对启动不成功时需要手工安装的步骤:

    (1)下载stablediffusion源码

    提示错误:“Command: "git" clone "https://github.com/Stability-AI/stablediffusion.git" "/xxx/stable-diffusion-webui/repositories/stable-diffusion-stability-ai"”

    则手工再执行git clone https://github.com/Stability-AI/stablediffusion.git ,(如果下载还是不成功则从git中下载zip文件,放到相应目录后解压,该方法适用以下的其他源码。)然后更名为stable-diffusion-stability-ai。

    (2)下载k-diffusion源码

    手工执行git clone https://github.com/crowsonkb/k-diffusion.git或手工下载zip包

    (3)下载CodeFormer源码

    手工执行git clone https://github.com/sczhou/CodeFormer.git或手工下载zip包

    7、py的requirements_versions.txt安装错误处理

    报错信息:

    处理方法:

    pip3 install -r requirements_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

    直接官网下载不通的话,建议换成清华大学的数据源进行安装。

    8、下载SDXL大模型

    (1)首先考虑直接从HuggingFace中下载模型

    SDXL大模型涉及stable-diffusion-xl-base和stable-diffusion-xl-refiner两部分,链接地址为:

    https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

    https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors

    这两个文件是底模,大约7个G每个文件,下载到GPU服务器后,需要放到stable-diffusion-webui/models/Stable-diffusion文件夹中

    针对base模型,如果直接使用stablebilityai的stable-diffusion-xl-base-1.0模型,自己使用时效果可能没那么好,我则从c站下载自己喜欢style的基模,比如:https://civitai.com/models/139565/realistic-stock-photo

    这个是真实电影感比较强的SDXL1.0的base模型。

    而refiner模型则还是使用huggingface提供的refiner模型。

    (2)如果HuggingFace和civitai无法连通,可以从https://aliendao.cn/下载对应模型。

    9、下载VAE模型

    (1)首先下载vaeapprox-sdxl.pt模型(必选

    WebUI启动过程中可能会出现如下类似错误:

    Downloading VAEApprox model to: /xxx/stable-diffusion-webui/models/VAE-approx/vaeapprox-sdxl.pt

    TimeoutError: [Errno 60] Operation timed out    

    During handling of the above exception, another exception occurred:

    这是因为缺少一个vaeapprox-sdxl.pt模型,一般自动下载会很容易失败,推荐大家去GitHub上手动下载,链接地址为:

    https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre

    下载后放到stable-diffusion-webui/models/VAE-approx/目录下即可

    (2)安装VAE模型(可选

    https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors

    下载后放到stable-diffusion-webui/models/VAE目录下即可。

    10、使用WebUI的SDXL功能

    webui通过以下命令执行成功后,

    python launch.py --listen --port 12346 --theme dark --xformers --enable-insecure-extension-access

    然后chrome浏览器中输入<服务器ip>:12346后即打开了SD的WebUI服务如下:

    注意点1的位置:选择SDXL的base模型

    注意点2的位置:选择SDXL的refiner模型,该模型会在base模型运行进展到80%(Refiner的Switch at参数)时切换为refiner模型继续执行。

    注意点3的位置:将分辨率从默认的512*512调整为1024*1024,这个是SDXL和SD的显著差异之一。

    根据以下prompt我们生成测试图片,

    prompt及相关参数信息:

    photograph close up portrait of Embraced couple enjoying in a movie in theatre , cinematic 4k epic detailed 4k epic detailed photograph shot on kodak detailed bokeh cinematic hbo dark moody
    Steps: 35, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 1847092677, Size: 1024x1024, Model hash: 2d44ce378d, Model: realisticStockPhoto_v10, Refiner: sd_xl_refiner_1.0 [7440042bbd], Refiner switch at: 0.8, Version: v1.6.0

    图片达到了电影感的效果:

    此生成过程耗时1分32秒,占用12.9G的显存。

    如果进展到这里都没有问题,那么请开始SDXL的旅程吧!!

  • 相关阅读:
    C++信息学奥赛1171:大整数的因子
    【SpringBoot+MP】阿里云短信测试服务操作流程、用户手机验证码登录实现
    javascript 数组升序、降序
    一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有多少个节点和最少有多少个节点
    测试大咖漫谈如何搞定软件质量?
    freeipa server副本同步中断,两主节点数据不一致
    Redis—跳跃表
    链表oj题 && 链表与LinkedList && 栈的概念 && 队列的概念 && 树和二叉树
    使用python获取浏览器收藏夹和历史浏览记录,然后可以...
    windows部署python项目(以Flask为例)到docker,通过脚本一键生成dockerfile并构建镜像启动容器
  • 原文地址:https://blog.csdn.net/benben044/article/details/133768900