stable-diffusion安装和简单测试

参考:
https://github.com/CompVis/stable-diffusion
理解DALL·E 2, Stable Diffusion和 Midjourney的工作原理
Latent Diffusion Models论文解读
【生成式AI】淺談圖像生成模型 Diffusion Model 原理
【生成式AI】Stable Diffusion、DALL-E、Imagen 背後共同的套路

介绍

Stable Diffuson是潜在扩散模型(LDM)的文本转图像模型通过在一个潜在表示空间中迭代“去噪”数据来生成图像,然后将表示结果解码为完整的图像,让文图生成能够在消费级GPU上,在10秒级别时间生成图片,大大降低了落地门槛。扩散模型(Diffusion Models, DM)是基于Transformer的生成模型,它采样一段数据(例如图像)并随着时间的推移逐渐增加噪声,直到数据无法被识别。该模型尝试将图像回退到原始形式,在此过程中学习如何生成图片或其他数据。

DM存在的问题是强大的DM往往要消耗大量GPU资源,而且由于序列化评估(Sequential Evaluations),推理的成本相当高。为了使DM在有限的计算资源上进行训练而不影响其质量以及灵活性,Stable Diffusion将DM应用于强大的预训练自动编码器(Pre-trained Autoencoders)。

在这样的前提下训练扩散模型,使其有可能在降低复杂性和保留数据细节之间达到一个最佳平衡点,显著提高视觉真实程度。在模型结构中引入交叉注意力层(cross attention layer),使扩散模型成为一个强大而灵活的生成器,实现基于卷积的高分辨率图像生成。

同类:

DALL-E 2由OpenAI开发,它通过一段文本描述生成图像。其使用超过100亿个参数训练的GPT-3转化器模型,能够解释自然语言输入并生成相应的图像。DALL-E 2的工作是训练两个模型。第一个是Prior,接受文本标签并创建CLIP图像嵌入。第二个是Decoder,其接受CLIP图像嵌入并生成图像。使用

Midjourney也是一款由人工智能驱动的工具,其能够根据用户的提示生成图像。目前已经不能免费测试生成图像了。https://discord.com/channels/662267976984297473

安装

stable-diffusion-v1-5下载界面
模型地址:v1-5-pruned-emaonly.ckpt

部分包安装失败,是因为网络问题,可以多尝试几次。
由于包版本不同需要更改部分源码:

报错1:

cannot import name 'rank_zero_only' from 'pytorch_lightning.utilities.distributed'

参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/4111

解决:

from pytorch_lightning.utilities.rank_zero import rank_zero_only 

报错2:

ImportError: cannot import name 'SAFE_WEIGHTS_NAME' from 'transformers.utils' 

参考:https://github.com/CompVis/stable-diffusion/issues/627

pip install diffusers==0.12.1

示例代码:

python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms --ckpt /data1/Projects/stable-diffusion/models/ldm/stable-diffusion-v1/v1-5-pruned-emaonly.ckpt

执行结果:
在这里插入图片描述

prompt方式可参考:入门)Stable Diffusion怎么写prompt?

有哪些好的Stable Diffusion的prompt可以参考

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面向对象编程(基础)3:对象的内存解析

目录 3.1 JVM内存结构划分 3.2 对象内存解析 举例: 内存解析图: 面试题:对象名中存储的是什么呢? 3.3 练习 3.1 JVM内存结构划分 HotSpot Java虚拟机的架构图如下。其中我们主要关心的是运行时数据区部分(Runtime …

python字符编码

目录 ❤ 前言 文本编辑器存取文件的原理(nodepad,pycharm,word) python解释器执行py文件的原理 ,例如python test.py 总结 ❤ 什么是字符编码? ASCII MBCS Unicode ❤ 字符编码的发展史 阶段一: 现代计算…

vue - vue中混入mixin的使用

vue中mixin混入的使用1,概念2,使用场景3,开始使用4,局部混入和全局混入5,总结1,概念 官方解释: 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对…

Python 自动化指南(繁琐工作自动化)第二版:十七、计时、安排任务和启动程序

原文:https://automatetheboringstuff.com/2e/chapter17/ 坐在电脑前运行程序是没问题的,但让程序在没有你直接监督的情况下运行也很有用。您计算机的时钟可以安排程序在某个指定的时间和日期或定期运行代码。例如,你的程序可以每小时抓取一个…

Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格

原文:https://automatetheboringstuff.com/2e/chapter13/ 虽然我们不经常将电子表格视为编程工具,但几乎每个人都使用它们将信息组织成二维数据结构,用公式执行计算,并以图表的形式产生输出。在接下来的两章中,我们将把…

Window10平台下编译Sqlite3.4

1、下载网址:SQLite Download Page 需要下载如下内容: 我这里下载64位的dll 2、我用的vs2019新建一个windows桌面项目,应用程序类型:动态链接库(.dll),空项目: 3、将如下文件复制到工程目录下,然后添加到工程中 添加到…

动力节点老杜Vue笔记——Vue程序初体验

目录 一、Vue程序初体验 前言 1.1 下载并安装vue.js 1.2 第一个Vue程序 1.3 Vue的data配置项 1.4 Vue的template配置项 一、Vue程序初体验 前言 可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的,这些对我们编写Vue程序起不到太大的作…

koa开发实践2:为koa项目添加路由模块

nodeJS server-side-developkoa开发实践2:为koa项目添加路由模块上一节:《 koa开发实践2:为koa项目添加路由模块 》| 下一节:《 koa开发实践3:在koa项目中使用 swagger 文档 》作者: 李俊才:…

哪些是真正的全光谱灯品牌呢?推荐五款全光谱护眼灯

所谓全光谱,就是指灯光的色谱成分无限接近太阳光的色谱成分。我们都知道,太阳光不单单只有一束简单的白光,而是有很多种颜色的单色光复合而成,所以它的色彩显色效果非常丰富、真实,这些单色光也成了太阳光的色谱成分。…

浅谈机器学习--聚类

还不了解机器学习?来看! 目录 一.聚类 二.k均值聚类算法(k-means) 1.k均值聚类算法的流程 二.k均值算法的改进 1.二分k-means算法 2.k-means算法 3.k-medoids算法 4.Mini Batch k-means算法 三.DBSCAN算法 1.​编辑-邻域 2.核心点和边界点 …

关于TextureRender适配的解决方案

当我们用摄像机渲染出一个图片,显示在UI的时候,会发现,你如果自适配,那么就会拉伸图片,导致人物或者场景变形。 我最近就遇到了这个事,这里我给出几种问题和解决方案: 1 :当我们想…

NSSCTF Round#11 --- 密码个人赛 wp

文章目录ez_encMyMessageMyGameez_signinez_facez_enc 题目: ABAABBBAABABAABBABABAABBABAAAABBABABABAAABAAABBAABBBBABBABBABBABABABAABBAABBABAAABBAABBBABABABAAAABBAAABABAABABBABBBABBAAABBBAABABAABBAAAABBBAAAABAABBBAABBABABAABABAAAAABBBBABAABBBBAAAAB…

开心档之开发入门网-C++ 变量类型

C 变量类型 目录 C 变量类型 C 中的变量定义 C 中的变量声明 实例 实例 C 中的左值(Lvalues)和右值(Rvalues) 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型,类型决定了变量存储的大小…

Java多线程:线程组

线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象…

电脑清理怎么做?5个方法帮你解决电脑空间不足的问题!

案例:电脑清理怎么做? 【求一个电脑清理的好方法!电脑垃圾文件太多了又不敢随意删除,怕误删重要的文件!哪位友友可以帮我出出主意呀?到底应该怎么清理电脑呢?】 电脑使用的时间长了都会慢慢变…

(链表)合并两个排序的链表

文章目录前言:问题描述:解题思路:代码实现:总结:前言: 此篇是针对链表的经典练习。 问题描述: 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节…

用队列实现栈和用栈实现队列

目录用队列实现栈创建栈实现入栈实现出栈判空取栈顶元素释放用栈实现队列创建队列入队出队返回队列开头的元素判空释放前面我们实现了栈和队列,其实栈和队列之间是可以相互实现的 下面我们来看一下 用 队列实现栈 和 用栈实现队列 用队列实现栈 使用两个队列实现一…

Windows创建用户,添加到管理员组,添加到远程桌面组、RDP

原因&目的 在获得反弹shell后无法得到明文密码,无法远程桌面登录 在目标机器创建新的账号,且为管理员账号,可以远程桌面登录 cmd /c net user gesila 123 /add cmd /c net localgroup Administrators gesila /add cmd /c net localgro…

优思学院 | 质量工程师的职责有哪些?

质量工程师,是一位肩负着质量管理、质量控制和质量改进使命的职业人员。他们身负使命,不断探究、发现、改进,为企业打造出更加卓越、可靠的产品和服务。 在大多数企业中,质量工程师是一个非常重要的职位,他们的职责在…

智能立体车库plc以太网无线应用

一、项目背景 此项目为平面移动类智能停车库,是以传感器网络为支撑的物联网智能停车管理系统。比较于传统的停车场模式,智能立体车库不仅占地少,空间利用率高,智能化程度高,采用集约化系统化的车位管理、收费管理&…