【趣玩一下】StreamDiffusion一秒100张!实时生成二次元老婆照!

news2025/1/17 1:13:14

源代码

https://github.com/cumulo-autumn/StreamDiffusion

基础原理

首先Stream Batch,是将原来顺序的去噪步骤改为批量化处理。允许在一个批处理中,每幅图像处于去噪流程的不同阶段。
如此一来,可以大大减少UNet推理次数,显著提高吞吐量。
此外,原先的CFG算法中,需要额外大量计算负样本,导致计算效率低下。
RCFG方法则构建一个“虚拟残差噪声”,这样就只需要一次或者零次负样本计算,减少了计算负样本的开销。
相比之前的CFG方法加速了2倍。
而输入/输出队列主要是利用队列存储缓冲输入和输出,将图像数据预处理等操作与UNet主体网络分隔开,实现管道各个处理环节的并行化,防止处理速度不匹配的情况发生。
随机相似性过滤器,可以基于图像相似性跳过一些UNet处理,减少不必要的计算量,降低功耗:
预计算则是提前缓存一些静态量,如提示嵌入、噪声样本等,减少每次生成的重复计算。
最后,使用TensorRT、Tiny AutoEncoder等加速模块,对模型进行优化,进一步提升推理速度。

体验

安装其步骤依次执行
打开小猫咪,注意运行这个模型需要外网

git clone https://github.com/cumulo-autumn/StreamDiffusion.git

下面选择合适的分支1或分支2执行:
分支1:这里我之前安装过anaconda,所以直接用base默认环境就好了,否则用分支2
在这里插入图片描述

activate base

分支2:注意python版本必须大于等于3.10,否则安装StreamDiffusion会失败
如果想要新建一个环境,执行下面的语句,会出现venv环境

conda create -n streamdiffusion python=3.10
conda activate streamdiffusion

一定要进入venv环境,也就是执行上面的语句,再安装cuda

pip3 install torch==2.1.0 torchvision==0.16.0 xformers --index-url https://download.pytorch.org/whl/cu121
#for Stable Version
pip install streamdiffusion[tensorrt]
python -m streamdiffusion.tools.install-tensorrt
pip install --force-reinstall pywin32

最后运行程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

基于单片机的医院输液系统设计

目 录 摘 要 Ⅰ Abstract Ⅱ 引 言 1 1系统方案设计与论证 3 1.1系统硬件结构总体设计方案 3 1.2点滴速度测量电路方案的选择与论证 3 1.3液面检测电路方案的选择与论证 4 1.4通过电机控制滴速电路的方案与论证 4 1.5显示器接口电路方案选择与论证 5 1.6键盘接口电路方案选择与…

十:套接字和标准I/O,以及分离I/O流

1 标准I/O函数的优点 C语言标准IO整理 1.1 标准I/O函数的两个优点 标准I/O函数具有良好的移植性。 标准I/O函数可以利用缓冲提高性能 从图中可以看出,使用标准I/O函数传输数据时,经过两个缓冲。例如,使用fputs函数传输字符串 “Hello” 时…

数据分析-Pandas数据的画图设置

数据分析-Pandas数据的画图设置 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表&#x…

TypeScript(四)枚举类型(Enum Types),类型别名(Type),运算符

一、枚举类型 使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript支持数字的和基于字符串的枚举。 枚举类型的特点 可以给一组数值取上一个更好理解的名字;一个枚举中只会存在几个固定的值,并不会…

C语言第三十六弹---文件操作(中)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 文件操作 1、文件的顺序读写 1.1、顺序读写函数介绍 1.1.1、fgetc 与 fputc 1.1.2、fgets 与 fputs 1.1.3、fscanf 与 fprintf 1.1.4、fread 与 fwrite 1.…

【vue3之组合式API及其新特性】

组合式API及其新特性 一、setup1.写法2.如何访问3.语法糖4.同步返回对象 二、reactive()和ref()1.reactive()2.ref() 三、computed四、watch函数1.侦听单个数据2.侦听多个数据3. immediate4. deep5.精确侦听对象的某个属性 五、生命周期函数六、组件通信1.父传子2. 子传父 七、…

云消息队列 Confluent 版正式上线!

作者:阿里云消息队列 前言 在 2023 年杭州云栖大会上,Confluent 成为阿里云技术合作伙伴,在此基础上,双方展开了深度合作,并在今天(3月1日)正式上线“云消息队列 Confluent 版”。 通过将 Co…

基于51单片机心率脉搏计设计

目 录 摘 要 I Abstract II 引 言 1 1 控制系统设计 3 1.1 系统方案设计 3 1.2 系统总体设计 4 2 硬件设计 5 2.1 主控电路 5 2.2 驱动电路 8 2.3 信号采集电路 10 2.4 显示电路 13 2.5 总体电路图设计 15 3 软件设计 16 3.1 软件开发环境的介绍 16 3.2 系统重要函数介绍 16 4…

解决QMYSQL driver not loaded问题

前言 之前都是在Qt5.51上开发,连接mysql数据库一直没有问题,换到5.15.2后一直报错 一查才发现\5.15.2\msvc2019_64\plugins\sqldrivers目录下没有qsqlmysql了,5.5.1是有的,5.15.2是要自己编译的。。。 下载源码 安装qt的时候没…

大型多模态智能体:综述

论文链接:https://arxiv.org/abs/2402.15116 大型语言模型(LLMs)在推动文本基础的智能体方面已经取得了超群的性能,赋予它们类似人类的决策和推理能力。与此同时,一个新兴的研究趋势集中于将这些LLM驱动的智能体扩展到…

这套系统架构,同事直呼666

你使用的每一个热门应用程序的背后,都有一个由架构、测试、监控和安全措施组成的软件系统。今天让我们看一下满足生产环境应用程序的高级架构由哪些体系组成。 CI/CD 管道 我们的第一个关键领域是持续集成和持续部署——CI/CD 管道。 这确保了我们的代码从存储库出发,经过…

【TOP】中科院1区TOP,Elsevier出版社,仅2-3个月录用!

【SciencePub学术】 01 期刊基本信息 【期刊简介】IF:5.0-5.5,JCR1区,中科院1区TOP; 【版面情况】正刊,仅10篇版面; 【检索情况】SCIE在检,预计3个月左右录用; 【征稿领域】有关…

图机器学习(2)-图的基本表示

0 复习 1 图的基本表示 1.1 本体图Ontology 疾病和食物之间的关系:能吃、不能吃、推荐吃。 1.2 图的种类 药物和药物之间的副作用就是异质图: 二分图是一种特殊的异质图: 1.3 节点连接数 通过节点数可以说明节点的重要度。 1.4 邻接…

.NetCore6.0实现ActionFilter过滤器记录接口请求日志

文章目录 目的实现案例:一.首先我们新建一个WebApi项目二.配置 appsettings.json 文件,配置日志存放路径三.创建 Model 文件夹,创建AppConfig类和ErrorLog类1.在AppConfig类中编写一个GetConfigInfo方法获取配置文件中的值2.在ErrorLog类中&a…

Apache Flink连载(三十七):Flink基于Kubernetes部署(7)-Kubernetes 集群搭建-3

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录

重庆有哪些媒体资源?活动展会媒体邀约

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 重庆作为中国的一个直辖市,拥有丰富的媒体资源,涵盖电视台、广播电台、报纸、杂志以及网络媒体等各个领域。这些媒体不仅是传播新闻和信息的重要渠道,…

学习JavaEE的日子 Day23 迭代器,LinkedList,Vector,Stack,HashSet,LinkedHashSet

Day23 1.迭代器 含义:遍历集合中的数据 分类:Iterator 和 ListIterator Iterator 和 ListIterator 区别 Iterator :Collection接口下所有的实现类都可以获取的迭代器,可以在遍历时删除元素 ListIterator :List接口下所…

京东数据分析平台(京东店铺数据分析工具)推荐

京东店铺数据分析能够帮助商家了解自己的经营状况,优化商品策略,提高销售效率。以下是京东店铺数据分析的一些基本步骤和方法: 首先,在进行京东店铺数据分析时,我们需要借助一些电商数据分析工具来获取相关数据&#…

一次一对一服务引起的沉思和笑话(微信号Stefan)

前情提要 客户需求: 分析页面代码和接口请求协议和参数需求,将人工下载视频怎么获得最终的视频链接,这一逻辑清晰的展示并讲解清除。我询问了是否需要成品爬虫,他说代码他自己能搞定。 我给的价格选择: 第一种、首…

基于状态机的按键消抖实现

摸鱼记录 Day_14 !(^O^)y review 在day_13中以按键状态判断为例学习了状态分析基于状态机的按键消抖原理-CSDN博客 分析得到了下图: 今日任务:完成此过程 !(^O^)y 小梅哥对应视频: 15B 基于状态机的按键消抖Verilog实现_哔哩哔哩…