Stable Diffusion XL webui Linux服务器部署(保姆级教程)

这篇具有很好参考价值的文章主要介绍了Stable Diffusion XL webui Linux服务器部署(保姆级教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Stable Diffusion XL webui Linux服务器部署

本人把部署过程遇到的坑,会尽可能详细地写在这篇文章中,以供参考。希望能对大家有所帮助!

机器配置情况

Stable Diffusion XL webui Linux服务器部署(保姆级教程),stable diffusion,linux,python,深度学习,pytorch4张RTX 4090,NVIDIA驱动版本为525.60.13,CUDA版本为12.0。

开始部署

我部署的SDXL版本为SDXL-refiner-1.0,虽然SDXL官方github提供了UI界面的脚本,但是用起来不如 AUTOMATIC1111开发的好用,所以还是推荐用AUTOMATIC1111的stable-diffusion-webui。

然后我用的是conda虚拟环境,python版本是3.10.13。切记python版本一定要3.10以上!

安装webui前准备

首先把stable-diffusion-webui克隆到服务器上

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
手动克隆依赖git仓库

由于网络原因,stable-diffusion-webui所依赖的5个仓库(stablediffusion、generative-models、k-diffusion、BLIP),基本不可能一次性自动下载下来,所以最好自己事先克隆好。
先把stable-diffusion-webui\modules\launch_utils.py中大概380行左右的5行代码注释掉:

    # git_clone(stable_diffusion_repo, repo_dir('stable-diffusion-stability-ai'), "Stable Diffusion", stable_diffusion_commit_hash)
    # git_clone(stable_diffusion_xl_repo, repo_dir('generative-models'), "Stable Diffusion XL", stable_diffusion_xl_commit_hash)
    # git_clone(k_diffusion_repo, repo_dir('k-diffusion'), "K-diffusion", k_diffusion_commit_hash)
    # git_clone(codeformer_repo, repo_dir('CodeFormer'), "CodeFormer", codeformer_commit_hash)
    # git_clone(blip_repo, repo_dir('BLIP'), "BLIP", blip_commit_hash)

再新建一个文件夹repositories,放在stable-diffusion-webui下,操作如下

mkdir repositories
cd repositories
git clone https://github.com/Stability-AI/stablediffusion.git stable-diffusion-stability-ai
git clone https://github.com/Stability-AI/generative-models.git
git clone https://github.com/crowsonkb/k-diffusion.git
git clone https://github.com/sczhou/CodeFormer.git
git clone https://github.com/salesforce/BLIP.git

这里说明一下:因为stable-diffusion-webui会把stablediffusion改成stable-diffusion-stability-ai,所以上述第一个克隆命令做了一下修改。

下载SDXL-refiner-1.0预训练模型

我这里用的是sd_xl_refiner_1.0.safetensors预训练模型权重,其他版本的可以去huggingface上下载,或者在官方git上打开相应版本的链接:
Stable Diffusion XL webui Linux服务器部署(保姆级教程),stable diffusion,linux,python,深度学习,pytorch下载完以后,放在stable-diffusion-webui/models/Stable-diffusion/路径下

换pip源

由于webui提供的自动安装的shell脚本是基于pip来安装的,所以需要换成国内镜像源,来加快下载速度,命令如下:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

安装

准备就绪后,先返回到stable-diffusion-webui文件夹下,然后运行webui.sh 文件

cd stable-diffusion-webui
./webui.sh

如果出现以下报错:

File "/stable-diffusion-webui/repositories/k-diffusion/k_diffusion/layers.py", line 4, in <module>
    from dctorch import functional as df
ModuleNotFoundError: No module named 'dctorch'

通过指定路径来安装,因为stable-diffusion-webui会创建一个venv文件夹,存放所有的依赖包。具体如下:

pip install dctorch --target /stable-diffusion-webui/venv/lib/python3.10/site-packages/

如果在终端输入./webui.sh以后,出现以下情况:

Launching Web UI with arguments:
no module 'xformers'. Processing without...
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.

也可以通过同样的方式来安装,不过需要注意的是,要与python版本、torch版本(通过webui.sh来安装的话就是2.0.1)相匹配,我这里安装的xformers是0.0.20 版本,

pip install xformers==0.0.20 --target /stable-diffusion-webui/venv/lib/python3.10/site-packages/

xformers是用来加速MHA计算的,使用xformers包的话可以用以下操作:

./webui.sh --xformers

出现下面的URL,就表示安装完成了!
Stable Diffusion XL webui Linux服务器部署(保姆级教程),stable diffusion,linux,python,深度学习,pytorch

设置public link

由于我是部署在服务器,有时候想windows本地使用的话,需要能外部访问,所以想设置一个外部链接。
首先,直接将命令改成:

./webui.sh --share --xformers
下载相关文件

如果有如下报错:
Stable Diffusion XL webui Linux服务器部署(保姆级教程),stable diffusion,linux,python,深度学习,pytorch

  1. 首先手动下载frpc_linux_amd64文件
  2. 然后按要求重命名为frpc_linux_amd64_v0.2
  3. 最后放在/stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/文件夹下
  4. 给frpc_linux_amd64_v0.2可执行权限:
chmod +x /stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2
修改配置文件

同样在 /stable-diffusion-webui/venv/lib/python3.10/site-packages/gradio/文件夹下,找到networking.py,大概在28行左右:

# By default, the local server will try to open on localhost, port 7860.
# If that is not available, then it will try 7861, 7862, ... 7959.
INITIAL_PORT_VALUE = int(os.getenv("GRADIO_SERVER_PORT", "7860"))
TRY_NUM_PORTS = int(os.getenv("GRADIO_NUM_PORTS", "100"))
LOCALHOST_NAME = os.getenv("GRADIO_SERVER_NAME", "127.0.0.1")
GRADIO_API_SERVER = "https://api.gradio.app/v2/tunnel-request"

LOCALHOST_NAME改成自己服务器的IP,也就是下面这行:

LOCALHOST_NAME = os.getenv("GRADIO_SERVER_NAME", "YOUR IP")

相应地,端口也可以在INITIAL_PORT_VALUE中修改。
接着,在121行左右,修改server_name为你服务器的IP:

server_name = server_name or LOCALHOST_NAME
url_host_name = "localhost" if server_name == "0.0.0.0" else server_name

改成

server_name = "YOUR IP"
url_host_name = "localhost" if server_name == "0.0.0.0" else server_name

至此,已经可以通过外部访问了。

设置账户密码

出于安全考虑,可以设置访问的账户和密码,只需在在运行命令的时候加上--gradio-auth user:password选项即可。冒号前面是你登录的账户名,后面是账户对应的密码。

最后运行:

./webui.sh --share --xformers --gradio-auth user:password

出现以下界面就大功告成了!撒花!
顺带一提:用自己服务器部署比在hugging face上直接用别人的快多了,按默认设置跑,3秒一张图,嘎嘎香!
Stable Diffusion XL webui Linux服务器部署(保姆级教程),stable diffusion,linux,python,深度学习,pytorchStable Diffusion XL webui Linux服务器部署(保姆级教程),stable diffusion,linux,python,深度学习,pytorch文章来源地址https://www.toymoban.com/news/detail-756142.html

到了这里,关于Stable Diffusion XL webui Linux服务器部署(保姆级教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AI绘画】云服务器部署stable-diffusion-webui保姆级教程

    之前给大家写过Mac苹果笔记本上部署stable-diffusion-webui的教程,知乎链接: 【奶奶看了也不会】AI绘画 Mac安装stable-diffusion-webui绘制AI妹子保姆级教程 但是安装过程就花了一天的时间,各种问题处理起来真是苦不堪言。。。而且生成图的速度也很慢,一张512 x 512大小的图片就要

    2024年02月09日
    浏览(38)
  • 云服务器免费领用,体验PAI-EAS 5分钟部署Stable Diffusion webUI

    最近发现大家都在体验AIGC的Stable Diffusion 文生图模型,很多博主也分享了详细的本地部署保姆级教程。 为什么选择本地部署Stable Diffusion 因为没有生成数量的限制,不用花钱,不用被NSFW约束,生成时间快,不用排队,自由度高,插件丰富,功能众多,可以调试和个性化的地方

    2024年02月16日
    浏览(37)
  • Stable Diffusion Webui在Linux服务器第一次运行不能连接huggingface

    第一次运行stable-diffusion-webui出现了如下错误 由于网络原因, hugging face在国内无法访问, 所以出现了该错误, 笔者所使用的Linux服务器不能使用非常的上网手段, 通过在本地windows运行stable-diffusion-webui并进行排查, 找到了问题所在 Linux服务器的~/.cache/huggingface/hub/目录下需models--op

    2024年02月05日
    浏览(43)
  • 本地部署 Stable Diffusion XL Gradio Demo WebUI

    一个基于Gradio库的 Stable Diffusion 的 Web UI 界面。 https://github.com/TonyLianLong/stable-diffusion-xl-demo 下载 Conda 安装脚本, 运行安装脚本, 按提示操作。当提示是否初始化 Conda 时,输入 “yes”, 安装完成后,关闭当前终端并打开新终端,这将激活 Conda, 更新 Conda 至最新版本, 克隆代

    2024年02月16日
    浏览(34)
  • 本地部署 Stable Diffusion XL 1.0 Gradio Demo WebUI

    7月27日,Stability AI 发布了 StableDiffusion XL 1.0 版本,立即体验一下吧。 一个基于Gradio库的 Stable Diffusion 的 Web UI 界面。 https://github.com/TonyLianLong/stable-diffusion-xl-demo 下载 Conda 安装脚本, 运行安装脚本, 按提示操作。当提示是否初始化 Conda 时,输入 “yes”, 安装完成后,关闭当

    2024年02月15日
    浏览(42)
  • Stable Diffusion WebUI 安装记录[Ubuntu服务器]

    在远程服务器(Ubuntu)上安装Stable Diffusion WebUI。服务器是4090,所以在服务器上配置。原本是MobaXterm SSH连接服务器,建议用vscode连接。 尝试了给服务器出海但不知道为什么还是不行。GitHub上我收到一个回答说遇到这些问题的都是中国人……想起来也确实。但是下载模型什么的

    2024年04月12日
    浏览(24)
  • 【AIGC】阿里云服务器配置stable-diffusion-webui

    我感觉应该不止我一个,点进阿里云的官网后,发现里面的内容太多,网站的层次太深,经常会在里面迷路,找不到自己要的内容。 第一步进到PAI平台 进入交互式建模DSW 创建实例 然后选择GPU的卡型号以及CPU核心数量和内存等硬件配置 选择镜像, 注意这里面的最新版本的Py

    2024年02月09日
    浏览(35)
  • Stable Diffusion XL webui tagger 插件Linux安装(保姆级教程)

    为了使SD能生成我们想要的图像效果,往往需要对SD模型进行微调,但其权重参数太多,如果是用更新全部参数的方法来微调,会耗费大量的计算资源。那么可不可以仅需少量计算资源,对模型进行微调,也有不错的效果呢?答案是肯定的,那就是:基于LoRA对其进行微调! 本

    2024年02月04日
    浏览(43)
  • 在Linux云服务器上部署stable diffusion的lora训练的另一种方法

    这里参考了https://www.bilibili.com/video/BV1fs4y1x7p2/?vd_source=419c9ebc4060e9bec24d95773bba5275 LoRA 模型训练教程 一键包 以及: https://colab.research.google.com/drive/1_f0qJdM43BSssNJWtgjIlk9DkIzLPadx#scrollTo=8Qp6STJk2Wjh 首先是安装miniconda 或者 anaconda 来获得虚拟环境: 建立虚拟环境: 这里我们只需要有pytho

    2024年02月16日
    浏览(34)
  • 服务器CentOS 7 安装 Stable Diffusion WebUI ,并映射到本地浏览器

    创建一个python=3.10.6的环境,该环境出错几率低 激活该环境 切换到要安装的目录 需要注意的是,如果按照官网的安装方式,是默认安装在 /home/$(whoami)/stable-diffusion-webui/ 的,如果服务器不是这种结构,则会提示错误 ( 非默认方式安装)下载文件 切换到 /stable-diffusion-webui/ 运

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包