本地白嫖AI绘画 ,Stable Diffusion 初探!

news2024/9/22 17:28:39

本文介绍我在本地搭建 Stable Diffusion Web UI 的体验过程,予以记录分享。

Stable Diffusion 是 2022 年 8 发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,官方项目其实并不适合新手直接使用,好在有使用 Stable Diffusion 封装的 WebUI 开源项目,可以通过前端页面来使用 Stable Diffusion,大大降低了使用门槛,本文主要是介绍 Github 作者为 AUTOMATIC1111 的 stable-diffusion-webui;易用,插件丰富。

下面可能简称 Stable Diffusion 为 SD。

看看效果

▲ 图1-封面,国风模型盲盒

img1img2img3

▲ 组图2,模型 meinamix_meinaV8

▲ 图3-生成界面(使用了汉化插件)

我的环境

MacBook Pro 14寸

芯片:Apple M1 Max

内存:32G

系统:MacOS 13.3.1

Python:Python3.8

出图速度(默认参数下):快的时候9s,有其他调整的时候稍慢

▲ 图4-出图速度

Stable Diffusion Web UI

尝试 Docker

开始准备使用各位大佬推荐的 Docker 搭建,便于一键安装,但是发现无法支持 Mac ,无奈放弃!!!

▲ 图5-Docker 安装 FAQ

如果配置吃得住的 Windows 用户可以试试 Docker 搭建,流程不复杂,直接拉仓库,一键就可以自动安装了,主要使用 docker-compose 进行安装。

Docker 安装可参考:stable-diffusion-webui-docker [1]

本地运行 stable-diffusion-webui

苹果芯片安装文档参考[2]很详细建议看原文档

这里简单介绍下大致流程:

1、如果安装了 Homebrew 可以跳过此步,否则需要到 https://brew.sh 安装Homebrew 便于安装一些必要软件

2、通过 Homebrew 安装一些必要的程序(由于我本地有 Python 和 Git,所以我安装时去掉了这两个,Python 版本不知道是否有隐患?):

brew install cmake protobuf rust python@3.10 git wget

3、将 WebUI 仓库克隆下来

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

4、下载模型,将 SD 的基础模型(也称之为checkpoint)下载下来放到模型目录stable-diffusion-webui/models/Stable-diffusion,可直接下载 SD 的官方预训练好的模型先试试,也就是文档中下图所指示位置(下个最新的咯),这个官方模型出图效果一般,可以摸清功能后再去试试其他的模型(关于模型相关的介绍下面会提到)

▲ 图6-模型下载

如果下载好了模型,接下来执行启动 UI 的命令,他会自动设置好环境,下载所需的一切依赖

cd stable-diffusion-webui
 ./webui.sh

初次运行期间我遇到的问题主要是下载慢(Github),开一下代理,再次执行启动命令就好了。

如果是 pip 依赖下载慢,可以尝试切换 pip 源为清华源或者阿里等国内源。

上面步骤如果都完成能成功启动,在左上角模型选择(参照图3-生成界面)就有模型可以选择。这时试试给一些提示生成图片了 ,可以愉快的玩耍了 🎉。


▲ 左上角则是基模选择项,一次只能使用一种基模

汉化UI界面

stable-diffusion-webui-chinese[3]

看不懂英文没关系,直接装插件汉化一下就 OK 咯:

关于模型

**在 SD 中,基于训练方式的不同,最常用的两类模型:**本人了解有限,不对的地方恳请指正!checkpoint ?

checkpoint 是基础模型,也简称基模,比如上面安装 WebUI 过程中可下载的官方模型就是 SD 预先训练好,是完整模型的常见格式,模型体积较大,一般单个模型的大小在2~7G 左右;模型后缀一般为 .ckpt 或者 .safetensors

如果下载了 checkpoint,放到 models/Stable-diffusion 目录即可

上面的 SD 1.5 、SD 2.0、SD 2.1,有人说 1.5 的模型比 2.x 的模型效果要好?

下面是一些比较火的三方模型,通常是模型作者基于另外的一些基模(可能是 SD 官方的基模或其他开源的基模)加自己的数据训练出来的模型,一般都是特定风格和一些优化;比如脸型,肤色等等(取决于训练者的数据样本😂)

chilloutmix**[4]**、chilloutmix_NiPrunedFp32Fix**[5]**… 生成真人的模型,由于其生成的图片风格很适合亚洲人,所以在国内应该是最火的模型,下面会给下载链接

meinamix_meinaV8[6] ,动漫混合型模型,生成的图片多是动漫风格,文中组图2就是其生成

GuoFeng3[7]、3Guofeng3_v33**[7]**,中国风模型,图1封面图由其生成

LoRA ?

LoRA 模型作用主要是微调,可以理解为在基础模型的前提下,做一些风格增强,因为他固定一些参数和权重,比如有些 lora 模型是专注 亚洲脸调整的参数,有的是古风、动漫风等等不同风格。

它们通常不会超过 1G,必须与 checkpoint 模型一起使用。

如果下载了 lora,放到 models/Lora 目录即可,随后你可以在界面看到它们,写提示词时,点击对应的 Lora 或按照 lora:lora模型名:1 书写即可使用:


下面是使用 chilloutmix_NiPrunedFp32Fix 基模+几个 LoRA 在相同提示语下生成的效果,为了区别不同模型的差异,可以给模型设置预览图:

▲ 不同 LoRA 在相同提示语下的风格差异便于区别

怎么区别基础模型 checkpoint 和 Lora?

比较大的一般就是基础模型(GB级别),其他少于 1G 的一般情况下是 Lora ,毕竟训练量不一样 😂

一些模型下载网站可能会标识其类型。

至于其他 VAE、Embedding、Hyperentwork 暂时还不了解。

模型如何下载

为了让 AI 绘图更加丰富多样,我们可以下载不同模型多多尝试,包括不限于 checkpoint 和 lora,下面是可以下载到 SD 相关模型文件的地方

  • 飞桨[8]

    百度的飞桨,有些网友会把一些模型分享在上面,下载会快一些,但只有少量 SD 模型被网友传了上去。

  • huggingface[9]

    很大的模型下载网站,里面包含了方方面面的各类模型。一般推荐在这个网站下载,速度时快时慢(可能是我的网络原因)。

  • civitai (需科学上网)[10]

    网友简称为C站,上面有很多风格的模型下载,对于每个模型都有图片预览,需要魔法

提示词怎么写

发现即使是下载了风格很惊艳的模型,依然无法生成牛逼的图片,那可能需要在提示词上下功夫了,为了让 Stable Diffusion 制作各种惊艳的图,可以直接参考别人的提示词🫡

以下是一些比较厉害的提示词参考网站,找到喜欢的按照其提示词和参数、Lora 生成即可

civitai[10]

上面提到的 C 站,每个模型下面都有对应生成的图片分享,可以摘抄下


川普 6

lexica[11]

可以搜索 SD 生成的图片,也可以在线生成图片,看到合适的图片直接复制哈😄,会有对应的模型给出,在👆上面的模型下载网站下载即可

常见问题及解决

在使用 Stable Diffusion 过程中可能会遇到各种常见问题,我们将在这里提供一些常见解决方案。

  • 1、M1 打开第一次任意模型生成图片,无法生成报错

解决方案:按照提示操作即可

  • 2、无法调整图片高度,默认 512x512,改为 512x1024 报错:

临时解决方案:改为 512x1023

  • 3、一些情况下某些功能需要在线下载插件、模块等,会出现证书错误

解决方案:

# 换成对应的Python版本
/Applications/Python\ 3.8/Install\ Certificates.command
  • 4、切换模型报错

解决方案

# 启动时增加 --no-half 选项即
./web-ui.sh --no-half

本文主要记录初步使用 SD 进行文生图的过程,至于图生图,ControlNet 等玩法后续分享

可以把你遇到的问题在评论区一起讨论

原文链接

关注一下吧!

参考:

[1]. https://github.com/AbdBarho/stable-diffusion-webui-docker

[2].https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon

[3].https://github.com/VinsonLaro/stable-diffusion-webui-chinese

[4]. https://huggingface.co/AnonPerson/ChilloutMix/tree/main (内含一些亚洲 Lora)

[5]. https://aistudio.baidu.com/aistudio/datasetdetail/193534/0

[6]. https://aistudio.baidu.com/aistudio/datasetdetail/202078

[7]. https://huggingface.co/xiaolxl/GuoFeng3/tree/main (直接看文档)

[8]. https://aistudio.baidu.com/

[9]. https://huggingface.co/

[10]. https://civitai.com/

[11]. https://lexica.art/

文章参考:

AIGC 绘画理论与保姆级实战:

https://zhuanlan.zhihu.com/p/617042733

SD 采样器:

https://zhuanlan.zhihu.com/p/621083328

SD 如何安装使用不同模型:

https://zhuanlan.zhihu.com/p/619553604

mac本地 SD 环境踩坑:

https://zhuanlan.zhihu.com/p/608178376

SD使用入门与提示词技巧:

https://zhuanlan.zhihu.com/p/577238010

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

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

相关文章

把握数字中国建设重大契机,实在智能携手山东商业职业技术学院共建“现代金融数字化实训中心”

今年2月,中共中央、国务院印发《数字中国建设整体布局规划》(以下简称《规划》),明确了数字中国建设的整体框架,强调全面提升数字中国建设的整体性、系统性、协同性,促进数字经济和实体经济深度融合。其中&…

本地部署Stable Diffusion Webui AI 记录

Stable Diffusion Webui AI本地部署基本分为两种方式: 1、使用大佬的打包好的安装包一键部署 b站秋葉aaaki 2、手动部署(个人实践记录)参考文章 本地部署基本要求 1、 需要拥有NVIDIA显卡,GTX1060 (或者同等算力的…

CopyOnWriteArrayList简介

1. 简介 CopyOnWriteArrayList 是 ArrayList 的线程安全版本 就是在进行写操作的时候会 copy 原数组,然后写完将指针指向新的数组,是一种读写分离的思想,可以并发的读,不能并发的写 优点: 保证线程安全读取时不加锁…

基于PyQt5的图形化界面开发——自制MQTT客户端软件

基于 PyQt5 的图形化界面开发——自制MQTT客户端 0. 前言1. 第三方库的安装及注意事项2. Editor.py2.1 配置界面效果演示: 3. Publish.py3.1 消息发布界面演示 4. Subcribe.py4.1 订阅消息效果演示: 界面切换——main.py5. 写在最后 0. 前言 使用 PyQt5…

葛兰一季度规模再度跌破900亿

一季度末管理规模再度跌破900亿元,中欧基金葛兰交出了公募主动权益基金管理规模的头把交椅。 4月22日零点刚过,葛兰在管基金悉数披露2023年一季报,从管理规模来看,一季度葛兰在管5只公募基金合计规模降至844.40亿元,较…

keep-alive 和 router-view 的使用方法(Vue3)

系列文章目录 提示:主要是介绍keep-alive 和 router-view在Vue3中的使用方法,以及适用场景!!! 文章目录 系列文章目录前言:一、router-view:1. 常规使用方法2. 非常规使用方法(插槽&…

UE5语音识别和语音合成-阿里云智能语音-短视频-翻译-文章-AI角色等

UE5智能语音 哈喽,大家好,我叫人宅,很高兴和大家一起分享本套课程,阿里云智能语音UE5版本开发。阿里云智能语音一共分为 语音合成,语音识别,什么是语音合成,它可以将您的文字转化成您设定的任何…

大数据数仓维度建模

目录 维度建模分为三种: 1、星型模型: 2、雪花模型: 3、星座模型: 模型的选择: 维度表和事实表: 维度表: 维度表特性 : 事实表: 事实表特性: 事务型…

程序员能干多久?程序员能干到多大年龄?

程序员可以工作多少年?大多数程序员认为程序员是吃青春饭的工作。编程只能干到30岁,最长可达35岁。我经常听到这样的话,都让人倍感压力。今天,我们来谈谈这个老话题...... 程序员能干多久? 根据国外的经验来说,干到…

ChatGPT 基础使用方法

文章目录 1. ChatGPT 是下一代搜索引擎2. ChatGPT 是学习助手3. ChatGPT API 简介4. ChatGPT API 身份5. 开发痛点6. 机会与前景7. Images8. Audio 1. ChatGPT 是下一代搜索引擎 根据 3 月份对 ChatGPT 的使用,我对它的理解是下一代的搜索引擎,即能够根…

【社区图书馆】读《大话数据结构溢彩加强版》

目录 书中简介: 选读原因 本书内容有哪些: 学会了什么: 书中简介: 《大话数据结构【溢彩加强版】》以一个计算机教师的教学过程为场景,讲解数据结构和相关算法的知识。全书以趣味方式来叙述,大量引用各…

无公网IP,外网远程连接MySQL数据库

哈喽~大家好,这篇来看看无公网IP,外网远程连接MySQL数据库。 文章目录 前言1. 检查mysql安装状态2. 安装配置cpolar内网穿透3. 创建tcp隧道,映射3306端口4. 公网远程连接4.1 图形化界面4.2 使用命令行远程连接 5. 配置固定tcp端口地址5.1 保留…

「计算机控制系统」6. 直接设计法

特殊类型系统的最小拍无差设计 一般系统的最小拍无差设计 最小拍控制器的工程化改进 Dahlin算法 文章目录 特殊类型系统的最小拍无差设计理论分析典型输入函数的最小拍无差系统 一般系统的最小拍无差设计有波纹最小拍无差设计无波纹最小拍无差设计 最小拍控制器的工程化改进针对…

操作HDFS文件系统常用命令(启停、创建、查看、上传、下载、追加、删除.etc)

文章目录 1 一键启停2 单进程启停3 创建文件夹4 查看指定目录下内容5 上传文件到HDFS指定目录下 linux->HDFS6 下载 HDFS ->Linux7 追加数据 linux->HDFS8 查看HDFS文件内容9 HDFS 数据删除10 网页端图形化界面11总结 跟linux命令大差不差 1 一键启停 HadoopHDFS组件…

共享锁中:Semaphore 、CyclicBarrier 、CountDownLatch的区别是什么?

目录 下面是一个使用Semaphore实现共享锁的例子: 下面是一个使用CountDownLatch实现等待一组操作完成的例子: 下面是一个使用CyclicBarrier实现等待一组线程达到某个状态后再同时执行的例子: 结论1: 结论2: 下面是…

JavaSE基础(一)—— Java环境搭建、IDEA、Java语言

【JavaSE基础回顾笔记】 JavaSE基础(一)—— Java环境搭建、IDEA、Java语言 JavaSE基础(二)—— Java语法、运算符、随机数 JavaSE基础(三)—— 分支、循环、控制关键字 JavaSE基础(四&…

Opencv+Python笔记(六)图像的平滑处理

图像在获取、传输的过程中,可能会受到干扰的影响,会产生噪声,噪声是一种出错了的信号,噪声会造成图像粗糙。 图像平滑处理的目的是去除图像中的噪声和不必要的细节,使图像更加清晰和易于分析。常用的平滑滤波器包括高斯…

无感FOC

前言 一年多前就画好了FOC的板子,后面因为各种原因耽搁了,最近又重新捡起来,准备写一下程序,首先我们要做一下FOC的理论分析。 左右手定则 左手定则用于判断导线在磁场中受力的方向: 磁感线从左手手心流入&#xff0…

前++与后++的区别?反汇编底层刨析

目录 1.只,不赋值 2.和其他运算符的结合 1.后置(i) 2.前(i) 总结 1.只,不赋值 前置和后置无区别,效果一致,i -> ii1 反汇编语言内,对a和b的操作进行观察&#…

彻底卸载Anaconda和PyCharm详细教程

目录 一、卸载Anaconda 二、 卸载PyCharm 一、卸载Anaconda 1、在开始处打开Anaconda Prompt 2、打开后,输入conda install tqdm -f命令并按回车键 conda install tqdm -f 3、之后页面会出现一个WANNING,这个我们不用在意,然后会出现一个…