Stable Diffusion web UI 安装教程

2023-11-17

Stable Diffusion web UI 安装教程

欢迎来到猫说AI,wx搜索,猫说AI接入了最新版Chatgpt供大家免费使用。

注意:这是ubuntu20.04安装步骤!

  1. conda创建python虚拟环境
conda create -n stable python=3.10 -y
conda activate stable
  1. clone项目并下载依赖
git clone https://ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

3.安装依赖

pip install -r requirements_versions.txt

修改lanch.py

注意由于网络限制,需要将所有github的地址前面都加上代理前缀,请自行修改

修改如下:

def prepare_environment():
    global skip_install
torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117")
requirements_file = os.environ.get('REQS_FILE', "requirements_versions.txt")

xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.16rc425')
gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "git+https://ghproxy.com/https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379")
clip_package = os.environ.get('CLIP_PACKAGE', "git+https://ghproxy.com/https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "git+https://ghproxy.com/https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b")

stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://ghproxy.com/https://github.com/Stability-AI/stablediffusion.git")
taming_transformers_repo = os.environ.get('TAMING_TRANSFORMERS_REPO', "https://ghproxy.com/https://github.com/CompVis/taming-transformers.git")
k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://ghproxy.com/https://github.com/crowsonkb/k-diffusion.git')
codeformer_repo = os.environ.get('CODEFORMER_REPO', 'https://ghproxy.com/https://github.com/sczhou/CodeFormer.git')
blip_repo = os.environ.get('BLIP_REPO', 'https://ghproxy.com/https://github.com/salesforce/BLIP.git')

可以先运行起来,会自动安装依赖

python launch.py --share

手动安装剩余部分依赖

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117

4.安装xformers(可选)

git clone https://ghproxy.com/https://github.com/facebookresearch/xformers/
cd xformers/
git submodule update --init --recursive
接下来可能会失败,执行如下步骤后重新执行就成功了
cd .git/
vi config
替换所有的github链接为加速链接 https://ghproxy.com/
然后删除third_party目录下的两个未下载完成的子项目
cd ..
cd third_party
rm -rf cutlass
rm -rf flash-attention
cd ..
git submodule update --init --recursive

# 强制使用CUDA,不开启可能会导致xformers未和CUDA一起编译
export FORCE_CUDA="1"
# 进入https://developer.nvidia.com/cuda-gpus#compute
# 设置所用显卡对应的Compute Capability,3090和A5000都是8.6
export TORCH_CUDA_ARCH_LIST=7.0
# PATH环境变量中追加cuda目录,确保编译时能识别镜像预置的cuda11.6
export PATH=$PATH:/usr/local/cuda
# 确保gcc编译时能够识别cuda的头文件
export CPATH=/usr/local/cuda/targets/x86_64-linux/include

pip install -r requirements.txt
pip install -e .

注意: xformers编译安装过程时间比较久,如果不想一直等待可以用screen去后台执行。

创建窗口

screen -S stable

查询窗口id

screen -r 

进入窗口

screen -r pid

激活conda虚拟环境,并在后台安装:

conda activate stable
pip install -e .

接下来让它自己去编译安装吧,我们按

ctrl + a 然后按 d 来退出当前窗口

要想再连接输入

screen -r 即可。

启动web UI

python -u launch.py --no-half --port 8850 --listen --xformers --share

nohup后台启动:

nohup python -u launch.py --no-half --share --xformers > log.log 2>&1 &

最后启动完如下图所示:

image-20230424165340909

大功告成!

5.安装 Controlnet插件

打开stable-diffusion,点击最右侧的extension,接着点击available,再点击“Load from:”按钮。

图片

在此之后,您将看到一系列可用插件的列表。

需要注意的是,有时候在点击"load from"按钮后,页面可能会因连接失败而出现错误提示。这时,请不要着急,可以刷新页面并检查网络设置(例如开启或切换内外网),然后再次尝试点击"load from"按钮,多尝试几次即可。

接下来,您可以使用Ctrl/command + F快捷键,在搜索框中输入“controlnet”,找到ControlNet插件,并单击右侧的"install"按钮以安装该插件。

图片

安装完成后,插件面板会显示 intalled into xxxx,说明已经安装好了。

图片

如果在available页面无法下载ControlNet插件,用户可以尝试通过Install from URL页面手动安装。插件地址为

https://github.com/Mikubill/sd-webui-controlnet

或者,用户可以先将整个包通过git clone或者GitHub网页下载,在stable-diffusion-webui > extensions文件夹下放置下载的包即可。

完成插件安装后,请确保在installed页面点击“apply and restart(应用并重启)”,以使更改生效。

接下来,安装Openpose。在切换到installed页面之前,我们需要先安装一个名为Openpose Editor的插件,以便后续自定义POSE(姿势)。

使用搜索框查找"openpose",找到相应的插件,并单击右侧的"install"按钮以安装该插件。

图片

等待安装,直到显示“Installed into … openpose-editor. Use Installed tab to restart.”代表安装完成。

这时候,点击installed 页面,你会发现,刚刚安装的两个插件都已经显示在上面了。这时候点击apply and restart ui(应用并重启软件),接着等待网页自动刷新,如果显示无法连接,那么手动刷新下。

图片

如果在available页面无法进行插件安装,用户可以尝试通过install from url页面安装插件,或者下载代码包并将其复制到stable-diffusion-webui > extensions目录下。插件地址为

https://github.com/fkunn1326/openpose-editor

完成插件安装后,请确保在installed页面点击“apply and restart(应用并重启)”,以使更改生效。

接下来,打开ControlNet编辑器。刷新页面后,在stable的首页上方将看到一个名为"ControlNet"的长条,单击该条后面的三角形按钮即可展开相关选项。

图片

展开界面如下图。

图片

5.下载模型。

ControlNet是一种需要专门模型支持的技术,只有使用了相应的模型才能实现相关功能,如绘制指导图等。

要开始使用ControlNet,我们需要下载相应的模型文件。您可以在以下链接找到模型文件:

https://huggingface.co/lllyasviel/ControlNet/tree/main/models

然而,这里有很多不同版本的模型可供选择。针对不同的使用场景和需求,选择不同版本的模型可能会产生不同的效果。因此,选择哪种模型也是一个需要仔细考虑的问题。

为了更好地选择适合自己的模型,建议用户仔细阅读官方说明或文档,并根据自己的实际需求和硬件配置来选择最合适的模型版本。

图片

当面对硬盘空间有限的情况时,我们可以先选择下载自己需要的模型文件,如Canny、Openpose和Scribble。其中,Canny可用于边缘检测等通用场景,Openpose则是专用于姿势控制的模型,而Scribble则适合随手涂鸦并生成精美画面,具备很高的玩耍性质。

尽管每个模型都有各自的特点和使用场景,但如果拥有更大的硬盘空间,建议全量下载所有模型以获取更多体验乐趣。

下载完成后,将相应的.pth文件放入stable-diffusion-webui > models > ControlNet文件夹下即可开始使用ControlNet。

值得注意的是,ControlNet依赖xformers算法框架及Nvidia显卡,因此在其他系统上可能会遇到效果达不到预期或速度较慢等问题。

另外,关于ControlNet的具体使用方法,由于其较为复杂,建议用户仔细阅读官方文档和相关使用说明,并进行一定的实践积累后再进行尝试。后面会分享关于ControlNet的使用技巧和案例。

Control Net模型文件我已经放到网盘中,有需要的小伙伴可关注wx 公众号

猫说AI

公众号还接入了最新版Chatgpt哦!

后台留言获取!

猫说AI

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Stable Diffusion web UI 安装教程 的相关文章

随机推荐

  • BERT、BART、T5 等法学硕士的比较分析

    探索语言模型 介绍 在这篇博文中 我将讨论 BERT BART 和 T5 等大型语言模型 到 2020 年 法学硕士领域取得的重大进展包括这些模型的开发 BERT和T5是Google开发的 BART是Meta开发的 我将根据这些型号的发布日
  • css实现水平居中

    代码示例 div class box div class box1 div div 1 弹性布局 推荐 display flex 这些要添加在父级的 是父级的属性 父级添加display flex 父级添加justify content c
  • Zookeeper 基本操作

    Zookeeper 基本操作 文章目录 Zookeeper 基本操作 1 查看zk的运行状态 2 客户端连接zk 3 ls 查看 4 get 获取节点数据和更新信息 5 stat 获得节点的更新信息 6 ls2 ls命令和stat命令的整合
  • java localdate mysql_如何使用JDBC从java.sql.Date获取LocalDateTime对象?

    Java8的java time包提供了一个名为LocalDateTime的类 用于获取本地日期和时间的当前值 除日期和时间值外 还可以使用此字段来获取其他日期和时间字段 例如 一年中的某天 一周中的某天和一年中的某周 将java sql D
  • DIY简单的RTOS(一)

    说明 在看了很多关于RTOS的文章 一直想做一个简单的RTOS 苦于现有资料非常少 在看了很多关于现有RTOS的底层实现 再结合相关文章 完成一个简单的RTOS demo 代码难免有不合理之处 仅当个人学习做笔记使用 项目代码 什么是RTO
  • opencv图像的基础操作

    读取图像 cv imread 参数 要读取的图像 读取 式的标志 cv IMREAD COLOR 以彩 模式加载图像 任何图像的透明度都将被忽略 这是默认参数 cv IMREAD GRAYSCALE 以灰度模式加载图像 cv IMREAD
  • osgEarth的Rex引擎原理分析(五十一)osg::Program与osgEarth::VirtualProgram的关系

    目标 四十五 中的问题113 osgEarth VirtualProgram在apply时用到了osg Program 也就是VirtualProgram最终是要通过osg Program实现着色器功能 只不过VirtualProgram中
  • AI工具究竟是帮手还是对手?你怎么看,一起来聊聊吧!

    AI工具究竟是帮手还是对手 你怎么看 一起来聊聊吧 1 你现在正在哪个领域学习或工作呢 你用过哪些AI智能工具 2 作为行业人士或正在学习的学生 你认为AI工具的出现会提升你的工作或学习效率吗 3 对于AI智能工具的出现 我们应该做好哪些准
  • 51单片机(十四)—— 中断功能介绍

    中断是单片机的一个重要功能 本文我们就对51单片机的中断进行介绍 所谓 中断 通俗一点讲 就是单片机停止正在执行的任务 转去执行其它的急需解决的任务 当这个任务完成之后 在回到原来的任务继续执行 中断就是为了使单片机能够对外部或内部随机发生
  • Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]

    对呀对呀 回字有四样写法 你知道么 当时鲁大大如此讽刺孔乙己 意味着老孔这个被科举制毒害的人注意此种无用之物实在可悲 但是在Angular 2的世界中 很少存在无用之物 ngModel有三种写法 你知道吗 表单的设计永远都是应用的重头戏 而
  • HmacMd5加密算法

    package com haiyisoft evportal token action import java security MessageDigest import java security NoSuchAlgorithmExcep
  • java通配符有哪些

    java通配符有哪些 1 通配符 代表未知类型 代表不关心或无法确定实际操作的类型 一般与容器类配合使用 JavaScript public void testV List
  • ax = fig.gca(projection=‘3d‘)报错的解决方法

    最近在学习tensorflow 其中有使用matplotlib画一个3d图像的练习 跑代码时遇到以下问题 TypeError FigureBase gca got an unexpected keyword argument project
  • Java eclipse 错误:For input string

    1 错误描述 For input string 类路径 2 什么意思 参考资料可知 For input string 表示数据类型转换错误 当一个数据类型使用 toString 方法进行转换成字符串时 转换失败就会报这个错误 3 排除错误
  • 错误 无法使用未定义类型“Ui::MainWidow“

    一 问题分析 在Qt Creator中创建Qt项目时 Creator会自动给你声明一个命名空间Ui namespace Ui class MainWindow 这是命名空间Ui里的一个类 类名是MainWindow 和你声明的MainWin
  • 安卓4.4手机运行崩溃,类无法找到,实际却是存在

    java lang RuntimeException Unable to get provider com SdkFileProvider java lang ClassNotFoundException Didn t find class
  • oracle-- 数据更新操作和事务操作

    一 sql语言操作分类 需要背 面试需要 1 数据定义语言DDL DATA DEFINE LANAGUAGE 定义 操作数据的结构 gt java的变量定义 CREATE 在数据库中创建新的数据对象 ALTER 修改数据库中对象的数据结构
  • redis:key设计原则

    redis与关系型数据库的适合场景 场景 书有标签 一本书可能有多个标签 一个标签可能对应多本书 如果是关系型数据库来存储 create table book id int title char 20 engine myisam chars
  • 以 STM32最小系统核心板(STM32F103C8T6)+面板板+LED 搭建电路,使用GPIO端口控制LED灯

    目录 STM32寄存器操作 寄存器的定义 寄存器操作GPIO 点灯 打开GPIO口的时钟 初始化GPIO口 选择推挽输出 设置低电平 实践操作 keil生成 hex 电路连接 芯片 烧录 总结 STM32寄存器操作 寄存器的定义 寄存器是存
  • Stable Diffusion web UI 安装教程

    Stable Diffusion web UI 安装教程 欢迎来到猫说AI wx搜索 猫说AI接入了最新版Chatgpt供大家免费使用 注意 这是ubuntu20 04安装步骤 conda创建python虚拟环境 conda create