Stable Diffusion的使用以及各种资源
Stable Diffsuion资源目录
- SD简述
- sd安装
- 模型下载
- 关键词,描述语句
- 插件管理
- controlNet
- 自己训练模型
SD简述
Stable Diffusion是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如内补绘制、外补绘制,以及在提示词指导下产生图生图的翻译。
s用到的技术原理叫做扩散算法,具体的算法设计是很复杂的一门学科。大概的原理就是把一张图模糊化处理,然后再根据关键词一点一点儿的把内容给具体化。最后就得到了我们描述的内容。
从去年也就是2022年9月份开始,我就知道了这个技术。但是没有详细的了解过这个技术的实操方案。
今年断断续续的也看了看这个技术的阿里云操作和一些公众号的内容。还有比较火的隐藏式二维码,隐藏文字的光影街道图,也在关注。但是并没有实际操练起来。
这个周末我把我之前看到过的材料又重新找到重新看了一下,实操了一下。下面是我对这个技术的总结。
sd安装
sd 在本地操作的话,需要不错的独立显卡支持。如果达不到这个显卡要求的化可以选择阿里云服务器或者一些云桌面上进行操作。
- 本地安装环境分成三个步骤,先安装python环境,要配置到环境变量中。其次要安装先去支持的cuda支持,通过
nvidia-smi可以查看自己设备所支持的CUDA version版本。 - 可以通过cuda下载地址这个连接下载对应版本的cuda
- 然后还需要安装
git,因为需要从github上克隆webui的项目,还有一些插件也可以通过git的方式clone,github上的webui项目地址
- 除了这种全手动的方式,还可以从B站上找一些大神的启动器安装包。安装包都都是把运行环境打包好的,用起来很省心。
模型下载
项目启动后,就需要下载一些所必须的大模型了,sd需要的模型有很多中。
checkpoint这个是sd运行所需要的数据来源。大模型的文件大小都很大。一般都会在2个G以上。相当于sd作画是所需要的一个大字典。VAE这个是给画面上色的,可以理解成滤镜。让画面更加鲜艳动人,吸引眼球。Embeddingsd创作画面都是需要由文本描述也就是关键词的,这个模型就相当于把一部分关键词直接打包了。在描述的时候不需要描述很多内容,直接把模型引入到对应的文件夹。然后在关键词那里填写对应的Embedding即可。Hypernetwork这个相当于是书签,因为字典很大,有这个可以让sd做出来的画更加符合我们的要求。LoraLora相当于是Hypernetwork的升级版本。都是相当于在大模型的基础上进行更加详尽的描述,把需求描述的更加详细。对大模型的结果进行微调。LyCORISLyCORIS是对Lora的升级,在算法生更加精进,调整力度更大。
所有的模型都是为了让我们的描述内容有一个依托,让sd作画有一个范围,因为训练大模型的时候数据集很大,在实际运行的时候又需要通过其他的小一些的模型来进行精确的控制。所以就有了这些模型。
下面是一些常用的模型下载地址:
- civitai
- huggingface
- esheep(连接先对前面两个更稳定)
- liblibai(连接先对前面两个更稳定)
- openart
关键词,描述语句
提示词:正向文提示词,反向文提示词
最主要的还是要确认自己想要表现的内容是什么,即主题,因为内容都是为主题服务的
- 人物及主体特征
- 场景特征
- 环境光照
- 补充,画幅视角
除了对内容的描述,还需要一些对画质的描述关键词
- 高画质
- 特定的高分辨率
- 画风提示词(插画、二次元、写实)
提示词权重:可以通过加小括号的方式提高权重,也可以通过关键词后面添加具体倍数的方式控制
提示词网站:
- dawnmark
- atoolbox
插件管理
从github上安装sd后,即可进行出图操作了。但是为了让软件更好用,我们可以安装一些插件让sd更好用
- 中文汉化语言插件
- 图库浏览器插件(image broswer)
- 提示词插件
- Ultimate Upscale(图片放大,在文生图里以脚本的方式出现)
- Local Latent Couple(LLUl)(局部细节优化插件)
- after-detailer(帮助美化脸部或手的细节)
- controlNet
插件基本都是在github上管理的,也可以通过gitee等其他的代码平台下载安装。
- gitcode
- 码云
controlNet
controlNet是对画面进行精细化控制的插件。需要借助画面的一些元数据,例如
通道信息,通过ps可以获得这些信息。
- 对姿势进行控制
- 对画面深度进行控制
- 对画面边缘进行控制
- 对光影进行控制
- 生成艺术二维码
自己训练模型
如果以上内容还不够满足自己的要求,那我们可以自己进行模型训练
- 找到数据源,对某个对象的一些照片
- 通过sd对如片进行打标签,即标识画面上的内容。作为学习的依据
- 交给sd来学习
- 数据源最好是统一大小的
- 如果本地显卡不够可以通过aliyun来获得三个月的免费PAI的云服务
- 借助github上的项目,colab上的Lora_Trainer来进行数据训练
- 训练完成后需要通过sd的xyz脚本来选择效果最好的那个模型
相关文章:
Stable Diffusion的使用以及各种资源
Stable Diffsuion资源目录 SD简述sd安装模型下载关键词,描述语句插件管理controlNet自己训练模型 SD简述 Stable Diffusion是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如…...
Redis 分布式锁的实现方式
一般来说,在对数据进行“加锁”时,程序首先需要通过获取(acquire)锁来得到对数据排他性访问的能力,然后才能对数据执行一系列操作,最后还要将锁释放(release)给其他程序。 对于能够…...
VMware上搭建的虚拟机突然本地无法连接服务器
长时间没有使用VMware 虚拟机了,今天突然登录上去,启动虚拟服务器后发现本地等不了了, 经过排查发现是开启了:VirtualBox Host-Only Network 关闭之后就本机就可以直连服务器了...
JDBC回顾
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JDBC回顾 前言一、JDBC1.JDBC是什么?2.如何使用?(1)注册驱动(2)获取连接(3)操作…...
mq 消息队列 mqtt emqx ActiveMQ RabbitMQ RocketMQ
省流: 十几年前,淘宝的notify,借鉴ActiveMQ。京东的ActiveMQ集群几百台,后面改成JMQ。 Linkedin的kafka,因为是scala,国内很多人不熟。淘宝的人把kafka用java写了一遍,取名metaq,后…...
沃尔玛卖家必看!解决订单被Kan、Feng号问题的终极方案!
近期有很多沃尔玛卖家和工作室联系到我提到说在沃尔玛平台上下单,买家号出现副款义常订单被k掉,是什么原因、我们该如何去解决呢? 以下是一些可能导至你的测评订单被k单的原因: 1.技术问题:有时,网站或系…...
浅谈日常使用的 Docker 底层原理-三大底座
适合的读者,对Docker有过简单了解的朋友,想要进一步了解Docker容器的朋友。 前言 回想我这两年,一直都是在使用 Docker,看过的视频、拜读过的博客,大都是在介绍 Docker 的由来、使用、优点和发展趋势,但对…...
前端面试:【DOM】编织网页的魔法
嘿,亲爱的代码魔法师!在JavaScript的奇幻世界里,有一项强大的技能,那就是DOM操作。DOM(文档对象模型)操作允许你选择、修改和创建网页元素,就像是在编织一个魔法的网页。 1. 什么是DOMÿ…...
基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 2 Inport和Outports 标签页介绍
上篇我们介绍了Function页的内容,这篇我们介绍Inports和Outports页的内容,这里我们再次强调一个概念,code mapping是以simulink的角度去看的,就是先要在模型中建立simulink模块,在code mapping里映射他要对应的autosar的元素,之后生成代码时的c语言的名字是以Autosar的元…...
第9步---MySQL的索引和存储引擎
第9步---MySQL的索引和存储引擎 1.索引 1.1分类 索引可以快速的找出具有特定值的行。不用从头开始进行寻找了。 类别 hash和btree hash 根据字段值生生成一个hash的值 快速的进行定位到对应的行的值 可能会出现相同的值,找到对应的空间会出现对应的值 btree树…...
Numpy入门(3)—线性代数
线性代数 线性代数(如矩阵乘法、矩阵分解、行列式以及其他方阵数学等)是任何数组库的重要组成部分,NumPy中实现了线性代数中常用的各种操作,并形成了numpy.linalg线性代数相关的模块。本节主要介绍如下函数: diag&am…...
php的openssl_encrypt是不是自动做了PKCS5Padding?
在PHP中,openssl_encrypt函数默认使用的是PKCS7填充(不是PKCS5填充)。PKCS7填充实际上是PKCS5填充的扩展,用于对不同块大小的数据进行填充。 当你使用openssl_encrypt函数进行加密时,如果你没有显式指定填充模式和填充…...
在本地创建repository及上传至github
文章目录 本地管理设定git的用户名与邮箱初始化添加修改提交修改设定分支问题一:error: insufficient permission for adding an object... 数据同步创建SSH keys创建并关联远程仓库上传改动至github问题二:Failed to connect to github.com port 443: Connection timed out问题…...
情人节特别定制:多种语言编写动态爱心网页(附完整代码)
写在前面案例1:HTML Three.js库案例2:HTML CSS JavaScript案例3:Python环境 Flask框架结语 写在前面 随着七夕节的临近,许多人都在寻找独特而令人难忘的方式来表达爱意。在这个数字时代,结合创意和技术࿰…...
Docker mysql主从同步安装
1. 构建master实例 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d mysql:5.7 2. 构建master配置…...
docker update 命令
docker update 更新一个或多个容器的配置。官方文档 用法 $ docker update [OPTIONS] CONTAINER [CONTAINER...]请参阅选项部分OPTIONS,了解此命令可用的概述。 描述 该docker update命令动态更新容器配置。您可以使用此命令来防止容器消耗 Docker 主机的过多资…...
阻塞和挂起的区别和联系
阻塞和挂起是进程两种不同的状态,其描述如下: 阻塞:正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻…...
水力发电厂测量装置配置选型及厂用电管理系统
《水力发电厂测量装置配置设计规范》对水电厂的测量装置配置做了详细要求和指导。测量装置是水力发电厂运行监测的重要环节,水电厂的测量主要分为电气量测量和非电量测量。电气测量指使用电的方式对电气实时参数进行测量,包括电流、电压、频率、功率因数…...
【RabbitMQ】RabbitMQ整合SpringBoot案例
文章目录 1、前情提要【RabbitMQ】2、RabbitMQ-SpringBoot案例 -fanout模式2.1 实现架构总览2.2 具体实现2.2.1生产者2.2.1消费者 1、前情提要【RabbitMQ】 【RabbitMQ】消息队列-RabbitMQ篇章 RabbitMQ实现流程 2、RabbitMQ-SpringBoot案例 -fanout模式 2.1 实现架构总览…...
如何在window下cmd窗口执行linux指令?
1.Git:https://git-scm.com/downloads(官网地址) 2.根据自己的实际路径,添加两个环境变量 3.重启电脑...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...
大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...
