Stable Diffusion Windows 本地部署超详细教程 (手动 + 自动 + 整合包三种方式)

一、引言

我们可以通过官方网站 Stability AI,以及 Dream Studio、Replicate、Playground AI 、Baseten 等网站在线体验 Stable Diffusion 的巨大威力。相比于集成在网络平台的 SD 或者其他 AI 绘画平台来说,自部署平台没有生成数量的限制,不用花钱,不用被 NSFW 约束,生成时间快,不用排队,自由度高,而且功能完整,插件丰富,可以调试和个性化的地方也更多;更稳定,也更容易让 SD 变成生产力或者商业化使用。既然这样,那就自力更生,在本机上自己部署一个,可以随心所欲地玩图。

二、Stable Diffusion 安装

2.1 安装前的准备

现有深度学习训练和部署环境在硬件上一般基于 Nvidia GPU,在底层需要显卡驱动和 CUDA 工具包(需要包含配套版本的 cuDNN),在应用软件层面需要 Python 编译和解释器,以及基于 Python 的深度学习框架(如 Pytorch、TensorFlow 等)。同时,为了方便代码自动下载和程序模块化管理,通常还需要安装 git 和 conda 软件。笔者(Sheex2012)主机配备了 RTX 4070Ti 12G 显卡,并事先安装了 CUDA 12.1,Python 3.11.6,git 2.44,Pytorch 2.1.2,能够满足 Stable Diffusion 环境要求。本文重点聚焦 Stable Diffusion 推理程序的部署,硬件需求确认和基础软件的安装这里不再赘述。

2.2 下载和部署 Stable Diffusion

我们从 Stability.AI 的 github 官方开源 Stability.AI Stablediffusion 下载源码:

git clone https://github.com/Stability-AI/stablediffusion.git

当然,也可以从网页上以下载源码 ZIP 包,解压缩到本地。

源码下载完成后,接下来需要安装项目的依赖项:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

然后从 huggingface 下载预训练模型 v2-1_768-ema-pruned.ckpt,并存放到 checkpoints 文件夹中。

2.3 运行 Stable Diffusion

部署完成后,运行下述脚本,生成图片:

python ./scripts/txt2img.py --prompt "a professional photograph of an astronaut riding a horse" --ckpt ./checkpoints/v2-1\_768-ema-pruned.ckpt --config ./configs/stable-diffusion/v2-inference-v.yaml --H 768 --W 768

这个应该是目录结构的问题,将 ldm 拷贝 / 移动到 script 文件夹,再来一次,不出意外,还是有点小意外,内存不够了:

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 9.49 GiB. GPU 0 has a total capacty of 11.99 GiB of which 0 bytes is free. Of the allocated memory 14.77 GiB is allocated by PyTorch, and 9.52 GiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max\_split\_size\_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH\_CUDA\_ALLOC\_CONF

那就把图像的尺寸调整成 512x512,问题解决了。

这是生成的图片(存放在 outputs\txt2img-samples 文件夹中):

三、Stable Diffusion WebUI 安装

Stable Diffusion 只是提供一个模型,提供基础的文本分析、特征提取、图片生成这些核心功能,但自身是没有可视化 UI 的,用起来就是各种文件加命令行。其中流传最广、功能最强也是被公认最为方便的,就是由越南超人 AUTOMATIC1111 开发的 WebUI,即大名鼎鼎的 Stable Diffusion WebUI。Stable Diffusion WebUI 集成了大量代码层面的繁琐应用,将 Stable Diffusion 的各项绘图参数转化成可视化的选项数值和操控按钮,用户可以直接通过 Web 页面使用 Stable Diffusion。Stable Diffusion WebUI 是一个最流行的开源 Stable Diffusion 整合程序,其核心功能是文生图和图生图,这也是 Stable Diffusion 的核心能力。Stable Diffusion WebUI 的其它功能,比如 ControlNet、高清放大、模型训练等等都是其它第三方开发的,有的已经内置到 WebUI 中,随着 WebUI 的发布而发布,有的还需要用户手动安装。

3.1 手动安装

我们先手动方式一步一步安装,从中体验一下其中的繁琐(其实,这对于从事深度学习的相关技术人员来说是常规操作)。

首先,从 github 上下载源码:

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

其次,下载安装 Stable Diffusion WebUI 的依赖项:

cd stable-diffusion-webuipip install -r requirements\_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

依赖项成功安装后,还是从 huggingface 下载 v1-5-pruned-emaonly.safetensors 预训练模型,放置到 models\Stable-diffusion 文件夹。

python webui.py

命令行窗口显示了模型加载运行过程,这里一共花了 49.2 秒。

进入http://127.0.0.1:7860网站,输入提示词:

反向提示词:

点击,Generate 按钮,3.9 秒后,生成一幅女孩肖像画。GPU 占用 3.8G 左右。

如果觉得全是英文的界面操作起来不够方便,可以:

1)从 Stable-diffusion-webui 的汉化扩展下载汉化语言包,把 "l

3.2 自动安装

自动安装的方式,极大地简化了部署流程,对于不太熟悉命令行操作和复杂环境配置的新手来说,是非常友好的选择。这里以使用 “StableDiffusion-WebUI-Automatic-Installer” 脚本为例进行介绍。

首先,下载 “StableDiffusion-WebUI-Automatic-Installer” 脚本。你可以在相关的开源平台找到它,比如 github(链接:https://github.com/cmdr2/stable-diffusion-ui) 。下载完成后,解压到你希望安装 Stable Diffusion WebUI 的目录。

然后,进入解压后的目录,找到并双击运行 “webui-user.bat” 文件(如果是 Linux 或 Mac 系统,则运行对应的.sh 文件)。这个批处理文件会自动检测你的系统环境,安装所需的 Python 版本、依赖库,下载 Stable Diffusion WebUI 的源码以及预训练模型等。在这个过程中,命令行窗口会显示安装的进度和相关信息。由于下载的内容较多,可能需要一些时间,请耐心等待。安装过程中可能会因为网络问题导致某些下载失败,你可以尝试多次运行 “webui-user.bat” 文件,它会自动检测哪些部分未成功安装并进行重试。

安装完成后,同样会自动打开浏览器并跳转到http://127.0.0.1:7860页面,此时你就可以像手动安装成功后一样,在 WebUI 界面中输入提示词进行 AI 绘画创作了。

3.3 整合包安装

Stable Diffusion 秋叶整合包是中国大神秋叶基于 Stable Diffusion WebUI 内核开发的整合包,内置了与电脑本身系统隔离的 Python 环境和 Git(包含了第三部分需要下载和安装的依赖项、github 依赖包、预训练模型以及相当多的插件)。可以忽略网络需求和 Python 环境的门槛,让更多人轻松地使用 Stable Diffusion WebUI。超简单一键安装,无任何使用门槛,完全免费使用,支持 Nvdia 全系列显卡。

  1. 配置要求
  • 系统:Windows 10 及以上系统

  • 显存最低 4G,建议使用 Nvidia 2060 显卡,显存 6GB 以上。内存至少是 8GB,而配备 16GB 或者以上内存,你会有更好的使用体验

  1. 下载文件
    下载到本地,最好不要有中文目录,整合包地址链接:链接:

    下载到本地,最好不要有中文目录,整合包地址链接:链接:https://pan.baidu.com/s/11e-upzehUb_qH5iuqVIBfg?

  2. 解压文件夹到本地,点击启动器

  3. 点击一键启动

    可以看到出现了命令行,稍等等几秒钟,会自动跳到 Web UI 页面。然后就可以在文本框中,输入指令来进行 AI 生图了。

四、总结

通过以上手动、自动和整合包三种方式,我们都能够在 Windows 系统上成功部署 Stable Diffusion WebUI。手动安装虽然步骤较为繁琐,但能让我们深入了解整个部署过程和相关技术细节,适合有一定技术基础和希望深入掌握的用户;自动安装借助脚本大大简化了流程,降低了部署难度,适合大部分普通用户;整合包安装则几乎做到了开箱即用,是最为便捷的方式,尤其适合对技术不太熟悉,只希望快速使用 Stable Diffusion 进行创作的用户。你可以根据自己的情况和需求选择适合的安装方式,开启你的 AI 绘画之旅。

效果展示:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89432.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89432.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/89432.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqli-labs靶场通关笔记:第29-31关 HTTP参数污染

第29关 HTTP参数污染本关设置了web应用防火墙&#xff08;WAF&#xff09;&#xff0c;利用白名单保护机制来检测和拦截恶意请求。看本关源代码。<?php //including the Mysql connect parameters. include("../sql-connections/sql-connect.php"); //disable er…

Vuex 基本概念

参照官网整理总结vuex语法。 计划日期&#xff1a; Vuex基础部分&#xff1a;2022年2月20日——2022年2月28日 Vuex源码相关实践&#xff1a;待定 Vuex拓展&#xff1a;待定 写完后&#xff0c;会发到仓库地址&#xff1a;待定 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模…

深入理解Linux文件操作:stdin/stdout/stderr与C语言文件函数全解析

目录 一、stdin、stdout 和 stderr 详解 二、文件打开方式 三、C语言文件操作函数详解 1、文件操作概述 2、文件操作函数分类表 1. 文件打开与关闭 2. 字符读写函数 3. 字符串读写函数 4. 格式化读写函数 5. 二进制读写函数 6. 文件定位函数 7. 文件状态与错误检测…

【自用】JavaSE--集合框架(一)--Collection集合体系

概述之前学的ArrayList就是集合的一种&#xff0c;是一种容器&#xff0c;可以往里面存东西&#xff0c;大小可变Collection集合体系Collection的常用方法以后Collection体系的集合都可以用下图的方法注意toArray方法的数组类型是Object&#xff0c;这样就可以接收任意类型的数…

电脑视频常用几种接口

传输信号类型 DP&#xff08;DisplayPort&#xff09;主要用于传输数字视频和音频信号&#xff0c;支持高分辨率和高刷新率。HDMI&#xff08;High-Definition Multimedia Interface&#xff09;同样传输数字音视频信号&#xff0c;但更偏向消费电子领域&#xff0c;如电视、游…

CherryStudio+playwright-mcp-server实现AI自动化

目录 1、CherryStudio安装与配置 1.1什么是CherryStudio 1.2安装 1.3配置 2、playwright-mcp-server的安装与配置 3、执行测试与结果 1、CherryStudio安装与配置 1.1什么是CherryStudio Cherry Studio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的全能 …

深入了解 find_element 方法:Web 自动化定位元素的核心​

在 Web 自动化测试领域&#xff0c;元素定位是实现各类操作的基础&#xff0c;而find_element方法正是 Selenium 等自动化工具中用于定位单个元素的核心方法。掌握它的使用技巧&#xff0c;能让我们更精准、高效地操控网页元素&#xff0c;为自动化测试脚本的编写打下坚实基础。…

从零开始的云计算生活——第三十三天,关山阻隔,ELK日志分析

目录 一.故事背景 二、Elasticsearch 全面概述 1、核心定位 2、核心特性 a. 分布式架构 b. 高性能原理 c. 数据模型创新 3、核心技术组件 4、核心应用场景 a. 企业级搜索 b. 可观测性 c. 安全分析&#xff08;SIEM&#xff09; 5、版本演进关键特性 6、核心优势…

深入理解 Spring Boot Starter 的生成机制

在使用 Spring Boot 进行开发时&#xff0c;我们常常会引入诸如 spring-boot-starter-web、spring-boot-starter-data-jpa 等依赖&#xff0c;从而快速开启相关功能模块。但你是否思考过这些 Starter 是如何构建的&#xff1f;如果我们要开发自己的 Starter&#xff0c;又该如何…

阿里云-通义灵码:隐私保护机制—为数据安全筑起铜墙铁壁

免责声明&#xff1a;此篇文章所有内容皆是本人实验&#xff0c;并非广告推广&#xff0c;并非抄袭&#xff0c;该系列继续~每日一句不要感叹自己的平凡&#xff0c;即便是最暗的星星&#xff0c;相与无边的黑暗已是耀眼。一.引言在这个数据如同空气般渗透到生活每个角落的时代…

最小生成树算法详解

最小生成树算法详解一、最小生成树基础概念1.1 生成树与最小生成树1.2 核心性质1.3 应用场景二、Prim 算法&#xff1a;从顶点出发的“生长式”构建2.1 算法原理2.2 Java 代码实现&#xff08;邻接矩阵版&#xff09;2.3 复杂度分析三、Kruskal 算法&#xff1a;按边权排序的“…

YOLO 目标检测的改进方法

YOLO目标检测的改进方法可以从模型架构、训练策略、损失函数等多个方面入手&#xff0c;以下是一些常见的改进方法方向及参考文献&#xff1a; 模型架构改进 骨干网络替换&#xff1a;使用更轻量或更强大的网络替换原始骨干网络。轻量级网络如MobileNetV3、ShuffleNetV2等适合…

C++ 程序 AddressSanitizer:DEADLYSIGNAL

GCC && G 操作系统&#xff1a;Ubuntu 22.04 现象&#xff1a;C程序编译时开启ASAN&#xff0c;运行时有几率会出现大量AddressSanitizer:DEADLYSIGNAL 参考文章&#xff1a; https://stackoverflow.com/questions/77894856/possible-bug-in-gcc-sanitizers https://st…

【强化学习】实际部署

环境 Gymnasium 作为环境接口&#xff0c; PyBullet作为物理仿真平台&#xff0c; Stable Baselines3 用于训练算法。 测试框架搭建 以pybullet自带的Cart-pole-v1为例 安装依赖&#xff1a;确保安装了 Gymnasium 和 SB3 ( pip install gymnasium stable-baselines3 ).初始化环…

集训Demo4

创建数据库创建项目基本和视频中的一样我给User添加了vip这个属性&#xff0c;想实现两个令牌通过访问的案例&#xff0c;但遇到了问题一个令牌是密码加用户名的map数组这是它的获取、验证逻辑获取验证另一个令牌是Int vip这是自己写的另一套密钥和方法获取但在验证这里有问题头…

深度优化:Java 慢查询排查与性能调优实战

文章目录&#x1f680; 深度优化&#xff1a;Java 慢查询排查与性能调优实战&#x1f6a8;1. 事故全景&#xff1a;从告警到定位&#x1f575;️‍♂️1.1 事故时间线&#x1f4ca; 1.2 关键指标异常&#x1f6e0;️ 1.3 排查工具链&#x1f50d; 2. 深度剖析&#xff1a;MySQL…

TF-IDF(Term Frequency - Inverse Document Frequency)

TF-IDF&#xff08;Term Frequency - Inverse Document Frequency&#xff09;是一种在信息检索与文本挖掘中非常常用的关键词提取方法&#xff0c;用于衡量一个词在文档集合中的重要性。它的核心思想是&#xff1a;如果一个词在某个文档中出现得频繁&#xff0c;同时在其他文档…

Chrome紧急更新,谷歌修复正遭活跃利用的关键零日漏洞

谷歌已针对桌面版Chrome发布重要稳定渠道更新&#xff08;版本138.0.7204.157/.158&#xff09;&#xff0c;修复了六个安全漏洞&#xff0c;其中包括一个已被实际利用的漏洞。该更新正在向Windows、Mac和Linux平台推送&#xff0c;预计未来数日或数周内将通过自动更新完成部署…

Typecho插件开发:实现文章字数统计与阅读时长计算功能

文章目录 Typecho文章字数统计与阅读时长计算功能实现指南 1. 功能背景与需求分析 2. 插件设计与实现 2.1 插件基础结构 2.2 插件主逻辑实现 2.3 代码解析与优化 3. 前端展示优化 3.1 CSS样式增强 3.2 多语言支持 4. 高级功能扩展 4.1 数据库表优化 4.2 定时批量处理历史文章 5…

开源短链接工具 Sink 无需服务器 轻松部署到 Workers / Pages

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 Sink 是一款开源免费的短链接生成工具,支持自定义短链接 Slug 以及设置到期时间,并且还可以借助 Cloudflare 的 Analytics Engine 功能分析短链接的统计数据。 最重要的是实现以上这些功能并不需要有自己的服务器,…