生命在于学习——Stable Diffution(Mac端)

news2024/11/17 12:41:37

在这里插入图片描述

一、前言

最近一段时间研究了一下Stable Diffution,Windows和MAC端都搭建成功了,也尝试了各种功能,后续会学习新的使用姿势,写一篇文章记录一下。

二、介绍

1、Stable Diffution是什么

Stable Diffusion,是一种AI绘画生成工具。Stability AI 于2023年6月发布新闻稿,宣布推出 SDXL 0.9 版本更新,升级了 Stable Diffusion 文本生成图片模型。(来源百度百科)
也就是说,我们可以通过自己输入文字描述,选择适合的模型,便可以生成想要的图片。

2、模型

要会使用Stable Diffution(后面简称SD),就要知道基本模型的分类。

(1)什么是模型

SD之所以能绘画,是因为收集了大量世界上已存在的图片来训练,这些图片训练得到的结果就是模型。可想而之,使用什么图片训练出来的模型,就只能画什么样的图,假设有一个只用了狗的图片训练出来的模型,那么我们使用这个模型就没法画出人的照片,因为它的训练数据中没有人的元素。

(2)模型分类

a.大模型

大模型一般都会比较大,差不多几个G,他决定了AI图片的主要风格,常见后缀:ckpt、safetensors。

b.Lora模型

比较小,一般几百MB,要结合大模型使用,使用的时候注意看介绍使用的哪个大模型,常见后缀:ckpt、safetensors、pt。

c.VAE美化模型

名字中带VAE,常见后缀:ckpt、pt。

d.Embeddings和Hypernetworks个性化模型

Embeddings也是属于微调模型,Hypernetworks比较少,常见后缀:pt。

e.其他模型

(3)模型下载

我常用两个网站下载:
https://civitai.com/
https://aituzhan.com/

三、搭建安装

1、安装Homebrew

可以使用官网的pkg,或者以下命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

下面是国内的gitee:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

在这里插入图片描述

2、安装Python3.10

使用brew即可安装python:

brew install cmake protobuf rust python@3.10 git wget

3、克隆webui的软件包

以下是命令:

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

在这里插入图片描述

4、放入SD的基础模型

也可以后面直接放入下载好的模型。
对应的模型文件目录在:SD文件夹/models/下面,大模型放Stable-diffusion文件夹,lora就放lora文件夹。
以下是我的一些模型:
在这里插入图片描述

5、打开用户界面

进入SD文件夹,打开终端,输入./webui.sh回车,第一次会很慢,需要下载加载项,我记得下载的过程中会有千奇百怪的错误。
在这里插入图片描述
逐一解决。

(1)Installing gfpgan报错

网络错误,这里可以使用https://ghproxy.com/下载这个包,然后解压放到SD文件夹里面,改成对应的名字:

gfpgan:https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zip

(2)ERROR: No matching distribution found for GitPython==3.1.30

重试一遍,发现好了。

(3)ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: ‘/usr/local/dev.txt’

继续重试一遍

(4)终端不能挂代理,这个脚本不能挂代理,否则会报错,报错内容没截到。

(5)生成的时候一直报错,没有进度条

在这里插入图片描述
需要科学。

最后会以Running on local URL: http://127.0.0.1:7860” 结束:
在这里插入图片描述
然后可以在浏览器打开http://127.0.0.1:7860,就可以看到界面了:
在这里插入图片描述

6、安装PS插件

先下载下来PS的扩展:

https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin

注意:这个插件最低支持PS24版本。
然后放入到/Applications/Adobe Photoshop (Beta)/Plug-ins文件夹下面。

7、启动的时候需要加–api参数

这次才可以连接:
在这里插入图片描述
在这里插入图片描述

四、详细使用

1、简单使用

在这里插入图片描述

2、文生图(txt2img)

选择一块区域,选择文生图,正向提示词一直可爱的猫,然后生成:
在这里插入图片描述
生成效果:
在这里插入图片描述

3、图生图(img2img)

图生图,可以重构该图片,但整体结构不变。
原先文生图生成的图片:
在这里插入图片描述
本来想生成一只白色的猫,结果给我生成一个妹子,但可以看出和原先猫的结构是不变的:
在这里插入图片描述
这下正常了:
在这里插入图片描述

4、局部重绘(inpaint)

可以用来修改小细节:
选中区域,ctrl+j,新建这个区域,使用画笔涂成白色,然后框选图片,生成,提示词不变。
原图:
在这里插入图片描述
重绘后的图片:
在这里插入图片描述

5、外绘,也可以重绘(outpaint)

选中选区,使用橡皮擦擦掉想重绘的地方,然后修改提示词,生成。
原图:
在这里插入图片描述
生成后:
在这里插入图片描述

五、总结

本篇为简单安装和基本使用,后续会有进阶使用。

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

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

相关文章

如何处理前端安全性问题(XSS、CSRF等)?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

记一次生产大对象及GC时长优化经验

最近在做一次系统整体优化,发现系统存在GC时长过长及JVM内存溢出的问题,记录一下优化的过程 面试的时候我们都被问过如何处理生产问题,尤其是线上oom或者GC调优的问题更是必问,所以到底应该如何发现解决这些问题呢,用真实的场景实操&#xff…

PHP LFI 利用临时文件Getshell

PHP LFI 利用临时文件 Getshell 姿势-安全客 - 安全资讯平台 LFI 绕过 Session 包含限制 Getshell-安全客 - 安全资讯平台 目录 PHP LFI 利用临时文件Getshell 临时文件 linux 和 windows的 临时文件存储规则 linux和windows对临时文件的命名规则 PHPINFO()特性 原理 条…

前端项目--尚医通学习分享

这段时间跟着线上课程完成了一个项目:商医通(基于Vue3TypeScript的医院挂号平台)。具体我就不过多地介绍其具体功能以及详细的实现步骤了,感兴趣的小伙伴直接:传送门 。该文章我就分享一下在该项目中学习到的一些知识点…

如何退出commit_message页面

虽然提示命令了,但我试了,退不出去。我没搞明白。。。 退出编辑 Crtl Z设置git的编辑器为vim或vi git config --global core.editor vim如果没有vim编辑器,设置成vi编辑器也行 git config --global core.editor vi重新提交 再次进入commi…

【高等数学】极限(上)(最全万字详解)

文章目录 1、数列的极限1.1、数列极限的定义1.2、为什么收敛数列极限是唯一的?1.3、为什么收敛数列是有界的?1.4、数列极限的保号性1.4.1、极限保数列值1.4.2、数列值保极限值 1.5、收敛数列与其子列之间的关系 2、函数极限概念2.1、函数极限的定义2.1.1…

[Unity][VR]Passthrough2-创建一个基本的Passthrough应用

上一期我们对PassthroughXR项目做好了基本的项目设置,今天我们就开始构建一个基本的Passthrough应用。 我们还是从基本场景开始。先把默认的main camera删除。因为后续我们会引入OVR Rig对象,这个对象自带Camera用来实现VR视角。 在Project面板我们搜索OVR camera rig。看见…

【java学习】方法的重载overload(19)

文章目录 1. 重载的概念 1. 重载的概念 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 重载的特点:     与返回值类型无关,只看参数列表,且参数列表必须不同。 ( 参数个数或…

nodejs+vue家教管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1nodejs简介 4 2.2 express框架介绍 6 2.3 B/S结构 4 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性…

k8s强制删除pod、svc、namespace(Terminating)

如果名称空间、pod、pv、pvc全部处于“Terminating”状态时,此时的该名称空间下的所有控制器都已经被删除了,之所以出现pod、pvc、pv、ns无法删除,那是因为kubelet 阻塞,有其他的资源在使用该namespace,比如CRD等&…

【ElasticSearch】更新es索引生命周期策略,策略何时对索引生效

大家好,我是好学的小师弟,今天和大家讨论下更新es索引生命周期策略后,策略何时对索引生效 结论: 若当前索引已应用策略A(旧),更新完策略A后,新的策略A会立即对原来的已经应用该策略的索引生效;若当前索引…

Webpack 解决:ReferenceError: dist is not defined 的问题

1、问题描述: 其一、报错为: ReferenceError: dist is not defined 中文为: ReferenceError:dist 未定义 其二、问题描述为: 想在 webpack 的配置中,创建一个 dist 文件夹来存放 npm run build 打包后…

docker- harbor私有仓库部署与管理

什么是 harbor harbor是一个开源的云原生镜像仓库,它允许用户存储、签名、和分发docker镜像。可以将 harbor 看作是私有的docker hub ,它提供了更新安全性和控制性,让组织能够安全的存储和管理镜像 harbor RBAC(基于角色访问控制…

zsh: command not found: conda问题解决

参考:https://zhuanlan.zhihu.com/p/158703094 一、问题介绍与环境介绍 系统为macOS Catalina 10.15.4 所用终端为zsh 安装了oh-my-zsh之后conda命令在终端中不可用。 二、原因分析 终端中zsh的可访问的程序一般放在/bin, /usr/bin, /usr/local/bin,/bin目录下&…

Linux sed命令

在Linux系统中,有许多强大的文本处理工具,其中之一就是sed(Stream Editor)命令。sed是一个用于对文本进行编辑、替换、删除和过滤操作的命令行工具,一次处理一行内容。它具有强大的正则表达式支持和灵活的文本处理功能…

华为李鹏:加速5G商业正循环,拥抱更繁荣的5.5G(5G-A)

2023年10月10日,在华为主办的第十四届全球移动宽带论坛上,华为高级副总裁、运营商BG总裁李鹏面向来自全球的运营商和产业伙伴,提出抓住网络需求和趋势的力量——“面向后天的业务,积极规划明天的网络,加速5G商业正循环…

堆叠、集群技术

1.堆叠、集群技术的概述 堆叠、集群简介 堆叠(iStack),将多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上虚拟成一台交换设备,作为一个整体参与数据转发。 集群(Cluster Switch System&#xf…

Fisher辨别分析

问题要求 在UCI数据集上的Iris和Sonar数据上验证算法的有效性。训练和测试样本有三种方式(三选一)进行划分: (一) 将数据随机分训练和测试,多次平均求结果 (二)K折交叉验证 &…

Vuex存值取值与异步请求处理

目录 前言 一、Vuex简介 1.Vuex是什么 2.Vuex的核心概念 3.使用Vuex的好处 4.Vuex执行流程 二、Vuex的使用步骤 1.安装Vuex 2.创建store模块,分别维护state/actions/mutations/getters 3.使用Vuex存储值,获取值和改变值 1.state.js---存值 2.…

【AI】深度学习——前馈神经网络——卷积神经网络

文章目录 1.2 卷积神经网络1.2.1 卷积一维卷积近似微分低通滤波器/高通滤波器卷积变种 二维卷积卷积的核心就是翻转相乘卷积应用于图像处理 互相关互相关代替卷积 卷积与互相关的交换性 1.2.2 卷积神经网络卷积代替全连接卷积层特征映射卷积层结构参数数量 汇聚层(池化层)汇聚层…