Stable Diffusion WebUI 各操作系统安装教程

2024-06-07 13:12

本文主要是介绍Stable Diffusion WebUI 各操作系统安装教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近几天在 2 台 Mac、2 台 PC、一台云无 GPU 的 Linux 安装了 Stable Diffusion WebUI,这里记录下如何安装,以及一些注意点和坑。

以下内容针对 Windows(N 卡)、MacOS(m 系列芯片)、Linux(Ubuntu、无 GPU)。

Windows 安装

Windows 安装算是比较简单的,首先直接到 www.python.org/downloads/r… 最下方下载 Windows Installer(注意官方建议版本是 3.10.6,不要使用太新的或太旧的版本,存在部分包不兼容的问题),然后点击安装,建议选择默认安装方式并勾选上 PATH,这样后面就不用自己设置 PATH 环境变量了:

最后的 PATH 最大长度限制的解除可选可不选。然后就可以 clone WebUI 仓库了,如果没有安装过 git 的记得先安装一下:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

clone 完成后进入 WebUI 目录双击 webui-user.bat 即可打开 WebUI,WebUI 会自动安装需要的依赖并启动,首次运行需要下载的依赖较多可能需要等待比较久的时间。

MacOS 安装

MacOS 安装同样需要先安装依赖,注意先安装好 homebrew,由于 m 系列芯片支持两个版本的 homebrew,所以一定要注意,需要使用 x86 版本的 homebrew,可以使用 which brew 查看,如果是 /usr/local/bin/brew 则是 x86,如果不是最好卸载重装后再继续下面的操作。

确认 homebrew 无误后,使用 homebrew 安装需要的依赖,并 clone Stable Diffusion WebUI:

brew install cmake protobuf rust python@3.10 git wget
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

上述操作都就绪后,就可以进入 WebUI 目录,然后使用 ./webui.sh 启动,WebUI 会自动安装需要的依赖并启动,首次运行需要下载的依赖较多可能需要等待比较久的时间。

Linux 安装

我的云主机操作系统是 Ubuntu 22,并且由于是白嫖的甲骨文的免费云,没有 GPU,所以只能用纯 CPU 跑。

在 Linux 上跑也是一样的路子,先安装依赖,再 clone WebUI:

sudo apt install wget git python3 python3-venv
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

然后进入 WebUI 目录执行 ./webui.sh 启动即可,同样的,WebUI 会自动安装需要的依赖并启动,首次运行需要下载的依赖较多可能需要等待比较久的时间。

不过需要注意的是由于机器没有 GPU,在启动时候需要添加参数来使用 GPU:

./webui.sh --skip-torch-cuda-test --precision full --no-half --use-cpu all

还需要注意,有一些 model 的参数需要 GPU 的支持,所以使用 CPU 跑图很可能会发现跑半天出现不支持 CPU 的错误,所以如果不是没办法强烈不建议使用 CPU 来跑

启动

在 Windows 启动时添加参数

由于 Windows 上启动时使用的是 bat 文件,而不是命令行,所以需要添加参数时和其它系统不同,需要编辑 webui-user.bat 文件,然后将在其中的 set COMMANDLINE_ARGS= 后面加上需要添加的参数来运行。

Serve 给其它机器使用

默认情况下 WebUI 只会监听本机的 host,如果需要从其他机器访问,比如在局域网通过另一台机器访问服务器上的 WebUI 则需要增加 --listen 参数。添加参数后如果需要使用插件要添加 --enable-insecure-extension-access 参数,不然会出现最下方的问题。

当然其实也可以直接用 Nginx 反代就不会触发 WebUI 的安全问题。

Nginx 反代

如果想用 Nginx 反代 WebUI,需要注意:WebUI 里面用到 websocket,所以反代也需要考虑到,不然 WebUI 中发出的 ws 请求 /queue/join 会一直报错,下面放一下我的反代的配置:

server {listen 80;listen [::]:80;server_name xxx.xxx.com;return 301 https://$server_name$request_uri;
}server {listen 443 ssl;listen [::]:443 ssl;server_name xxx.xxx.com;ssl_certificate /etc/nginx/cert/xxx.pem;ssl_certificate_key /etc/nginx/cert/xxx.key;proxy_connect_timeout              60s;proxy_send_timeout                 60s;proxy_read_timeout                 60s;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Upgrade           $http_upgrade;proxy_set_header Connection        $connection_upgrade;proxy_set_header X-Forwarded-Proto $scheme;location / {proxy_pass http://localhost:7860;}
}

使用上述配置还需要在 nginx.conf 中的 http 模块中添加上如下声明,不然会报错:

map $http_upgrade $connection_upgrade {default upgrade;''      close;
}

速度

从几台机器和结合最近几天在其它平台上的经验来看,速度差异非常大,我两台 Mac 都是 m1-16G,PC 由于显卡太老旧根本跑不起来(GTX660),Linux 是甲骨文的 VM.Standard.A1.Flex-4VCPU-24G,对比后速度如下:

  • Linux 跑一张默认图耗时大概 9 分钟左右
  • m1-16G 跑一张默认图的耗时大概在 50 秒
  • Colab 的 T4 跑一张默认图耗时大概在 4 秒左右
  • 阿里云的 A10 跑一张默认图都是秒出的

如果稍微复杂点的模型我的这台 Linux 一晚上都跑不出几张图,m1 勉强能用,所以哪怕是 Colab 现在的免费时长缩短到一小时,其实也比在其他机器上瞎跑好多了,效率摆在这里。

FAQ

AssertionError: extension access disabled because of command line flags

当使用 WebUI 安装插件时报错,这个是因为使用了 --listen 参数,WebUI 为了安全(因为此时可以外网通过 IP 访问 WebUI)会默认禁用插件安装的权限,此时可以通过 --enable-insecure-extension-access 参数关闭插件的安全检测。

参考链接: github.com/AUTOMATIC11…

WebSocket 连不上,queue/join 报错

正常出现在使用 nginx 反代时,一般由于没有反代 websocket 导致 websocket 无法连接。

没有 GPU 怎么办

没有 GPU 时在启动时需要添加 --skip-torch-cuda-test --no-half --use-cpu all 这几个参数,关闭 CUDA 并强制开启使用 CPU。

Mac 报错: have ‘arm64’, need ‘x86_64’

一般这种情况下是安装了 arm 版的 homebrew,导致安装的其他依赖包也是 arm 版本,而有些依赖包没有 arm 版本就会造成依赖缺失,所以遇到后需要检查自己的 homebrew 版本并切换成 x86 版本并重新安装依赖。

注意

最后一定要注意:在调试时出现问题需要重新安装依赖时,一定、一定、一定要记得先清理干净 WebUI 目录下的缓存,比如 __pycache__venv 这几个目录,否则会一直使用缓存中的配置。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

这篇关于Stable Diffusion WebUI 各操作系统安装教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039274

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

【Linux进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。  从广义上说,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特生。这里所说的其他软件包括系统实用程序(system utility)、应用程序、shell以及公用函数库等

VMware9.0详细安装

双击VMware-workstation-full-9.0.0-812388.exe文件: 直接点Next; 这里,我选择了Typical(标准安装)。 因为服务器上只要C盘,所以我选择安装在C盘下的vmware文件夹下面,然后点击Next; 这里我把√取消了,每次启动不检查更新。然后Next; 点击Next; 创建快捷方式等,点击Next; 继续Cont

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

Ubuntu20.04离线安装Docker

1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-c