10分钟搭建Stable Diffusion

news2024/9/21 12:37:37

前言

人工智能生成内容(Artificial Intelligence Generated Content,简称 AIGC)是当下最火的概念之一。AIGC 被认为是继专业生成内容(Professional Generated Content, PGC)和用户生成内容(User Generated Content, UGC)之后,利用人工智能技术自动生成内容的新型生产方式。

AI 生成内容的形式相当丰富,除了文字外,还可以进行绘画、作曲、演唱、编剧、设计等。最近热度非常高的 Text to Image 就是 AI 加持下非常时髦的一种图片创造方式。看看下面这些图片,你一定很难想象它们都是 AI 生成的吧。

 许多人可能觉得,使用 AIGC 有很高的门槛,普通人是很难入门的。其实不然,随着 AI 技术的快速发展以及众多开源项目的诞生,我们每个人都可以很轻松且廉价的使用到 AIGC。谁能想到,在 2018 年,人工智能生成的画作在佳士得拍卖价还高达 43.25 万美元,而时隔才数年,让 AI 为我们创作绘画已经成了人人触手可及的事情。

在这些开源项目中,Stable Diffusion 无疑是优秀生之一。Stable Diffusion 是一种扩散模型(Diffusion Model)的变体,称为“潜在扩散模型”(Latent Diffusion Model),由CompVis、Stability AI 和 LAION 的研究人员和工程师创建。它使用来自 LAION-5B 数据库子集的图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型,所以我们也可以在自己的机器上运行它。Stable Diffusion 能够根据我们提供的一些提示词以及可以调整的部分参数,通过模型计算生成一张不错的图片。

我整理了一份 Stable Diffusion 的上手教程,分享给大家。这其中包括了 Stable Diffusion 的安装和基本使用方法,以及使用 Lora 模型调整图片生成的风格。这是一项接近零基础的教程,其中并不会包含复杂的概念或者深奥的算法。换句话说,只要你稍有计算机基础,了解如何敲入命令,知道怎么使用浏览器打开网页,你就能很轻松的学会。

搭建运行环境

环境配置

硬件环境

  • Windows、Linux、MacOS操作系统均可
  • 最好有GPU显卡,显存越高越好,否则生图效率很低

软件环境

  • Python 3.10.6 版本,建议使用Anaconda管理python的env,多版本一键切换,非常方便
  • Git,版本控制必备

本地部署SD

克隆SD WebUI源码

 命令行进入工作目录,执行以下命令克隆SD WebUI源码

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

执行启动文件

如果是Windows系统,执行webui-user.bat,若执行过程报错,按照错误提示配置webui-user.bat文件中的COMMANDLINE_ARGS参数即可。

如果是Mac系统,需要先从这里下载模型(可选择Stable Diffusion 1.5 (v1-5-pruned-emaonly.ckpt)模型)到目录stable-diffusion-webui/models/Stable-diffusion下,然后命令行cd到项目目录后,执行./webui.sh命令。

如果是Linux系统,可以参考这里。

执行之后,脚本会安装一些依赖库,可能需要等待一段时间。

最终安装完成之后,命令行会弹出这句话,即表示服务已经启动成功。

Running on local URL:  http://127.0.0.1:7860

此时浏览器打开http://127.0.0.1:7860 即可看到SD WebUI的界面。

生成第一张图

在默认的txt2img这个tab下的Prompt种输入cute cat,然后点击右侧的Generate按钮就开始生成了,等待一段时间(几秒到几分钟不等,取决于机器性能)后便能看到生成的画面。至此,便已经完成运行环境搭建的步骤了。

主页布局简介

主页面包含以下内容,我对关键部分已经做了标记处理,如下。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】数据库基础 ③

上一章: 【MySQL】数据库基础 ② ✍临时表 说明: MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,…

局域网实验报告

计算机网络综合实训 实训报告一 所在院系 计算机与信息工程学院 学科专业名称 计算机科学与技术 导师及职称 柯宗武 教授 提交时间 2023.3.10 网络层实验报告 (湖北师范大学计算机与信息工程学院 中国 黄石 435002) 1 集线器与交换机的对比实验 1.1 背…

【Python】自动化构建项目结构样式

引言 在使用Python或者其它编程语言的项目时候,编写README.md 往往是不可或缺的; 而在README.md 中,关于项目结构的样式展示,这个是可选的。不展示也无伤大雅,但有展示的话,有以下优点: 提供…

第九章 总结及作业(4)【编译原理】

第九章 总结及作业(4)【编译原理】 前言推荐第九章 运行时存储空间组织9.1 目标程序运行时的活动9.1.1过程的活动9.1.2参数传递 9.2 运行时存储器的划分9.2.1运行时存储器的划分9.2.2 活动记录9.2.3 存储分配策咯 9.3 静态存储分配9.3.1数据区*9.3.2公用…

基于深度学习的人脸检测技术

用到环境 1、pycharm community edition 2022.3.2 2、Python 3.10 整篇内容都已上传至我的csdn资源中,想用的请移步。 流程 多任务级联卷积神经网络(Multi-task Cascaded Convolutional Networks, MTCNN)算法进行人脸检测 普通人脸检测 单人人脸检测 图1 单人人…

我最喜欢的编程语言是python,以及我的见解!!

这里写目录标题 我最喜欢的编程语言:1、我个人认为编程语言优劣的评选标准2、我对不同编程语言的优点与缺点的拙见**1. Java****2. Python****3. JavaScript****4. C语言:****5. C语言:** 3、对python编程语言未来发展的猜测和未来趋势 我最喜…

Vicuna-13B使用云服务器部署

Vicuna概述 Vicuna由一群主要来自加州大学伯克利分校的研究人员推出,仍然是熟悉的配方、熟悉的味道。Vicuna同样是基于Meta开源的LLaMA大模型微调而来,它的训练数据是来自ShareGPT上的7万多条数据(ShareGPT一个分享ChatGPT对话的谷歌插件&am…

kerberos配置dolphinscheduler

kerberos配置dolphinscheduler 一、添加dolphin 用戶1.所有節點上執行如下命令: 二、DolphinScheduler集群模式部署1.集群规划2.前置准备工作3.解压DolphinScheduler安装包4. 创建元数据库及用户5. 配置一键部署脚本6 初始化数据库7.修改common配置文件8. 一键部署D…

华为、思科和瞻博网络三个厂商如何配置基本ACL和高级ACL?

今天给大家带来基本ACL和高级ACL的配置,主要会介绍三个厂商的配置: 其他厂商也可以参考,比如华三的可以参考华为的,锐捷的参考思科的。 1. 基本ACL配置 基本ACL(Access Control List)是一种简单的网络安全…

【Java高级语法】(十二)可变参数:Java中的“可变之美“,做好这些细节,你的程序强大又灵活~

Java高级语法详解之可变参数 🔹 前言1️⃣ 概念2️⃣ 优势和缺点3️⃣ 特征和应用场景3.1 特征3.2 应用场景 4️⃣ 使用和原理5️⃣ 使用技巧5.1 可变参数结合泛型5.2 使用元组或列表进行参数传递5.3 使用默认值5.4 缓存计算结果 6️⃣ 实战:构建动态日志…

【Vue3+Ts project】认识 Websocket 以及 socket.io 库

目录 Websocket socket.io Socket.iO 事件名总结: Socket.IO 方法总结 Websocket 作用: WebSocket 仍然提供实时的双向通信功能,使用Vue3 应用程序能够与服务器进行实时数据交换降低延迟和网络开销:相比传统的HTTP请求-响…

scratch lenet(7): C语言计算可学习参数数量和连接数量

scratch lenet(7): C语言计算可学习参数数量和连接数量 1. 目的 按照 LeNet-5 对应的原版论文 LeCun-98.pdf 的网络结构,算出符合原文数据的“网络每层可学习参数数量、连接数量”。 网络上很多人的 LeNet-5 实现仅仅是 “copy” 现有的别人的项目, 缺…

求2的N次幂(C++)解决高精度运算

​👻内容专栏:《C/C专栏》 🐨本文概括: 计算高精度的2的N次方数字。 🐼本文作者:花 碟 🐸发布时间:2023.6.22 文章目录 ​前言求2的N次方,N ≤ 10000实现思路&#xff1a…

SpringBoot 如何使用 @PathVariable 进行数据校验

SpringBoot 如何使用 PathVariable 进行数据校验 在 SpringBoot 项目中,我们经常需要从 URL 中获取参数并进行相关的数据校验。而 PathVariable 注解就是一种非常方便的方式,可以让我们在方法参数中直接获取 URL 中的参数,并进行数据校验。本…

基于python开发实现数学中各种经典曲线的可视化

今天正好有点时间就想着把之前零星时间里面做的一点小东西整合一下梳理出来,本文的核心目的就是想要基于python来开发实现各种有趣的数学曲线的可视化展示。 笛卡尔心形线 笛卡尔心形线是一种二维平面曲线,由法国数学家笛卡尔在17世纪提出。它得名于其…

基于springboot+Redis的前后端分离项目(三)-【黑马点评】

🎁🎁资源文件分享 链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA?pwdeh11 提取码:eh11 优惠券秒杀 优惠券秒杀1 -全局唯一ID2 -Redis实现全局唯一Id3 添加优惠卷4 实现秒杀下单5 库存超卖问题分析6 优惠券秒杀-一人一单…

Spring Boot 异常处理的主要特点

Spring Boot 异常处理的主要特点 在 Web 应用程序中,异常处理是非常重要的一部分。在 Spring Boot 中,异常处理是非常简单和灵活的。本文将介绍 Spring Boot 异常处理的主要特点,并提供一些示例代码来帮助您更好地理解。 异常处理的主要特点…

王道计算机网络学习笔记(1)——计算机网络基本知识

前言 文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。 一:计算机网络基本知识 1.1.1:认识计算机网络 计算机网络的功能 网络把许多计算机连接在一起,而互联网则将许多网络连接在一起&#x…

第一章JavaScript简介

第一章JavaScript简介 js是一门,高级,动态,解释型编程语言 每种语言都必须有一个平台或标准库,用于执行包括基本输入和输出在内的基本操作.核心js语言定义了最小限度的API,可以操作数组,文本,数组,集合,映射等,但不包括任何输入输出的功能.输入和输出(以及更加复杂的特性,如联…

基于Servlet实现分页查询

Servlet JSPJSTL MySQLBootstrap 等技术实现分页查询功能。 所用工具:IDEA 2022.3.3 Navicat Tomcat 等。 本文目录 一:运行效果 二:代码详解 (1)index.jsp (2)PageBean &#xff08…