当前位置: 首页 > news >正文

(2023,3D NeRF,无图像变分分数蒸馏,单步扩散)SwiftBrush:具有变分分数蒸馏的一步文本到图像扩散模型

SwiftBrush : One-Step Text-to-Image Diffusion Model with Variational Score Distillation

公众:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料)

目录

0. 摘要

1. 方法

1.1 基础

1.2 SwiftBrush

2. 结果

3. 未来工作

S. 总结

S.1 主要贡献

S.2 方法


0. 摘要

尽管文本到图像扩散模型能够从文本提示生成高分辨率和多样化的图像,但通常会受到缓慢的迭代采样过程的困扰。模型蒸馏是加速这些模型的最有效方法之一。然而,先前的蒸馏方法在要求大量图像进行训练时未能保留生成质量,这些图像可以来自真实数据,也可以是由教师模型合成生成的。针对这一限制,我们提出了一种新颖的无图像蒸馏方案,名为 SwiftBrush。从文本到 3D 合成中汲取灵感,该方法通过专用损失从 2D 文本到图像扩散先验获取与输入提示对齐的 3D 神经辐射场(Neural Radiance Fields,NeRF),而无需使用任何 3D 真实数据。我们的方法重新利用相同的损失,将经过预训练的多步文本到图像模型蒸馏到一个只需单一推理步骤就能生成高保真图像的学生网络。尽管模型简单,但我们的模型是第一个能够一步生成与 Stable Diffusion 相媲美质量的文本到图像生成器之一,而无需依赖任何训练图像数据。值得注意的是,SwiftBrush 在 COCO-30K 基准测试中取得了 16.67 的 FID 分数和 0.29 的 CLIP 分数,实现了有竞争力的结果,甚至在某些方面超越了现有的最先进蒸馏技术。

1. 方法

1.1 基础

分数蒸馏采样 (Score Distillation Sampling,SDS) 是一种用于预训练扩散模型的蒸馏技术,有效地应用于 3D 生成 [17, 26, 42]。它利用预训练的文本到图像扩散模型,该模型从文本条件 y 中预测扩散噪声,表示为 ϵ_ψ(x_t, t, y)。该方法优化一个由 θ 参数化的单一 3D NeRF,使其与给定的文本提示对齐。给定摄像机参数 c,使用可微分渲染函数 g(·, c) 从 3D NeRF 对摄像机视图 c 的图像进行渲染。在这里,利用渲染后的图像 g(θ, c) 优化权重 θ,通过一个损失函数的梯度可以近似表示为:

其中 t ∼ U(0.02T, 0.98T),T 是扩散模型的最大时间步长,ϵ ∼ N(0, I),有噪图像 x_t = α_t·g(θ, c) + σ_t·ϵ,y 是输入文本,w(t) 是权重函数。

尽管在文本到三维合成方面取得了进展,经验研究 [26, 42] 表明 SDS 经常遇到过饱和、过度平滑和多样性减少等问题。如果我们在我们的框架中简单地应用 SDS,就会观察到相同的退化。

变分分数蒸馏 (Variational Score Distillation,VSD) 在 ProlificDreamer [43] 中引入,通过稍微修改损失来解决先前提到的 SDS 的问题:

再次,x_t = α_t·g(θ, c) + σ_t·ϵ 是相机视图 c 的渲染图像的带噪声观察。VSD 通过引入一个额外的、专门针对从相机姿态 c 渲染的 3D NeRF 的图像的评分函数,使自己与 SDS 区别开来。这个评分是通过微调具有下面描述的扩散损失的扩散模型 ϵ_ϕ(x_t, t, y, c) 而导出的:

按照 ProlificDreamer 的提议,ϵ_ϕ 是由低秩适应 [11](Low-Rank Adaption,LoRA)参数化的,并且从预训练的扩散模型 ϵ_ψ 初始化,其中添加了一些层来对相机视图 c 进行调节。请注意,在优化过程的每个迭代 i 中,ϵ_ϕ 需要根据 θ 的当前分布进行调整。因此,ProlificDreamer 在微调 ϵ_ϕ 和优化 θ 之间交替进行。通过这些算法增强,ProlificDreamer 显著提高了其能力,实现了 NeRF 的生成和出色纹理网格的创建。这种改进直接启发我们将 VSD 调整到一步文本到图像基于扩散的蒸馏的任务中。

1.2 SwiftBrush

动机。虽然 SDS 和 VSD 明确设计用于文本到 3D 生成任务,但它们通过 3D NeRF 的渲染图像 g(θ, c) 来松散连接到该目标。事实上,我们可以用任何输出 2D 图像以满足我们需求的函数替换 NeRF 渲染。受到这一动机的启发,我们建议用一个可以一步实现文本引导图像生成的的文本到图像生成器来替代 NeRF 渲染 g(θ, c),从而将文本到 3D 生成训练有效地转化为一步扩散模型蒸馏。

设计空间。我们采用与 [43] 相同的方法,对设计空间进行修改以更好地适应我们的任务。首先,我们利用两个教师模型:一个预训练的文本到图像教师 ϵ_ψ 和一个额外的 LoRA 教师 ϵ_ϕ。此外,我们从 LoRA 教师中去掉了相机视图 c 的调节,因为在我们的情况下这是不必要的,并且我们为两个教师都使用无分类器指导(classifier-free guidance,CFG)。然后,我们用一个通用的一步文本到图像学生模型 f_θ(z, y) 替换在文本到 3D 设置中对特定的用户提供的提示过拟合的 NeRF。我们的学生模型 f_θ 接受随机高斯噪声 z 和文本提示 y 作为输入。LoRA 教师和学生模型都使用文本到图像教师的权重进行初始化。接下来,我们在冻结文本到图像教师的同时,使用公式 (5) 和公式 (6),交替训练学生模型和 LoRA 教师。伪代码和系统图示可在 Alg. 1 和 Fig. 2 中查看。

学生参数化。给定一个预训练的文本到图像扩散模型 ϵ_θ,直接使用它的输出作为学生模型是可能的,即,f_θ(z, y) = ϵ_θ(z, T, y),其中 T 是预训练模型的最大时间步。然而,在我们的情况下,所选择的预训练模型是 Stable Diffusion,它被固有地设计为预测添加的噪声 ϵ。相反,我们的目标是优化学生模型,使其预测出一个干净、无噪声的图像 x_0。因此,我们想要学生学习的内容与学生输出之间存在很大的领域差距。为了便于训练,我们经验性地重新参数化学生输出如下: 

这是方程 (1) 的一种实现,如果我们设置 t = T,x_t = z,ϵ ≈ ϵ_θ(z, T, y),以及 x_0 ≈ f_θ(z, y)。因此,基本上,这种重新参数化将预训练模型的预测噪声输出转换为 “预测 x_0” 的形式,在第 4.3 节中经验性地证明这对学生模型的学习是有帮助的。 

2. 结果

在 MS COCO 上与其他模型的对比表现良好。 

在人类评估方面表现良好。 

消融研究。使用 VDS(Full)生成的图像更逼真。 

3. 未来工作

相比于利用多步采样进行推断的教师,SwiftBrush 不可避免地产生更低质量的样本。另一个缺点是目前的设计只关注单步学生模型,无法像 Luo 等人 [22] 那样支持少步生成以提高图像保真度。在未来的工作中,我们的目标是调查将 SwiftBrush 扩展到少步生成的可行性,以便我们可以通过计算来换取质量。此外,我们还发现探索类似 SwiftBrush 的训练,只需要一个教师,具有引人入胜的吸引力。这样的探索在计算资源有限的场景中可能带来巨大的好处。最后,令人着迷的是看到像 DreamBooth [33]、ControlNet [47] 或 InstructPix2Pix [2] 这样的技术是否可以与 SwiftBrush 集成,实现各种应用的即时生成。 

S. 总结

S.1 主要贡献

在文本到 3D 合成中,通过专用损失从 2D 文本到图像扩散先验获取与输入提示对齐的 3D 神经辐射场(Neural Radiance Fields,NeRF),而无需使用任何 3D 真实数据。

受此启发,本文提出无图像蒸馏方案 SwiftBrush,利用相同的损失,将经过预训练的多步文本到图像模型蒸馏到一个只需单一推理步骤就能生成高保真图像的学生网络。

S.2 方法

本文使用的架构如图 2 所示。

  • 给定一个预训练的文本到图像扩散模型 ϵ_ψ,将其参数冻结作为教师网络。
  • 对于由教师模型 ϵ_ψ 初始化的低秩适应(Low-Rank Adaption,LoRA)教师网络 ϵ_ϕ 和学生网络 f_θ,交替使用公式 5 (优化)和公式 6 (微调)。其中 t ∼ U(0.02T, 0.98T),T 是扩散模型的最大时间步长,ϵ ∼ N(0, I),有噪图像 x_t = α_t·g(θ, c) + σ_t·ϵ,y 是输入文本,w(t) 是权重函数。
  • 两个教师都使用无分类器指导(classifier-free guidance,CFG)

相关文章:

(2023,3D NeRF,无图像变分分数蒸馏,单步扩散)SwiftBrush:具有变分分数蒸馏的一步文本到图像扩散模型

SwiftBrush : One-Step Text-to-Image Diffusion Model with Variational Score Distillation 公众:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 方法 1.1 基础 1.2 SwiftBrus…...

【WPF.NET开发】将路由事件标记为已处理和类处理

本文内容 先决条件何时将路由事件标记为已处理预览和浮升路由事件对实例和类路由事件处理程序复合控件中的输入事件禁止 尽管对于何时将路由事件标记为已处理没有绝对规则,但如果代码以重要方式响应事件,请考虑将事件标记为已处理。 标记为已处理的路由…...

2023年03月18日_微软office365 copilot相关介绍

文章目录 Copilot In WordCopilot In PowerpointCopilot In ExcelCopilot In OutlookCopilot In TeamsBusiness Chat1 - copilot in word2 - copilot in excel3 - copilot in powerpoint4 - copilot in outlook5 - copilot in teams6 - business chat word 1、起草草稿 2、自动…...

GBASE南大通用携手宇信科技打造“一表通”全链路解决方案

什么是“一表通”? “一表通”是国家金融监督管理总局为发挥统计监督效能、完善银行保险监管统计制度、推进监管数据标准化建设、打破数据壁垒,而制定的新型监管数据统计规范。相较于以往的报送接口,“一表通”提高了对报送时效性、校验准确…...

Python 内置高阶函数练习(Leetcode500.键盘行)

Python 内置高阶函数练习(Leetcode500.键盘行) 【一】试题 (1)地址: 500. 键盘行 - 力扣(LeetCode) (2)题目 给你一个字符串数组 words ,只返回可以使用在…...

【JavaWeb】day01-HTMLCSS

day01-HTML&CSS HTML 图片标签&#xff1a;<img> src&#xff1a;指定图像URL&#xff08;绝对路径/相对路径&#xff09;width&#xff1a;图像宽度&#xff08;像素/相对于父元素的百分比&#xff09;height&#xff1a;图像高度&#xff08;像素/相对于父元素的百…...

【工具】windeployqt 在windows + vscode环境下打包

目录 0.背景简介 1.windeployqt简介 2.打包具体过程 1&#xff09;用vscode编译&#xff0c;生成Release文件夹&#xff08;也有Debug文件夹&#xff0c;但是发布版本一般都是用Release&#xff09; 2&#xff09;此时可以看下Release文件夹内&#xff0c;一般是.exe可执行…...

跟着LearnOpenGL学习12--光照贴图

文章目录 一、前言二、漫反射贴图三、镜面光贴图3.1、采样镜面光贴图 一、前言 在跟着LearnOpenGL学习11–材质中&#xff0c;我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观&#xf…...

DotNet 命令行开发

DotNet 命令行开发 下载安装下载 SDK安装 SDK绿色版下载绿化脚本 常用命令创建 dotnet new运行 dotnet run发布应用 dotnet publish更多命令 VSCode 调试所需插件调试 CS 配置项目.csproj排除依赖关系 launch.jsontasks.json 参考资料 下载安装 下载 SDK 我们就下最新的好&am…...

hyperf console 执行

一、原理描述 hyperf中&#xff0c;不难发现比如自定义控制器中获取参数&#xff0c;hyperf.php中容器获取&#xff0c;传入的都是接口&#xff0c;而不是实体类。 这是因为框架中的配置文件有设置对应抽象类的子类&#xff0c;框架加载的时候将其作为数组&#xff0c;使用的…...

第一篇 设计模式引论 - 探索软件设计的智慧结晶

1. 设计模式的定义和起源 设计模式&#xff0c;这个术语最初在建筑领域被广泛使用&#xff0c;用来描述在建筑设计中反复出现的问题及其解决方案。在软件工程中&#xff0c;设计模式同样指的是在软件设计过程中反复出现的、经过验证的最佳实践和解决方案。 1994年&#xff0c…...

HBase基础知识(六):HBase 对接 Hive

1. HBase 与 Hive 的对比 1&#xff0e;Hive (1) 数据仓库 Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系&#xff0c;以 方便使用 HQL 去管理查询。 (2) 用于数据分析、清洗 Hive 适用于离线的数据分析和清洗&#xff0c;延迟较高。 (3) 基于…...

Java连接Mysql报错:javax.net.ssl.SSLException: Received fatal alert: internal_error

大致报错日志如下&#xff1a; The last packet successfully received from the server was 11 milliseconds ago. The last packet sent successfully to the server was 10 milliseconds ago.at sun.reflect.GeneratedConstructorAccessor275.newInstance(Unknown Source)…...

Mixtral 8*7B + Excel + Python 超强组合玩转数据分析

Mixtral 8*7B Excel Python 超强组合玩转数据分析 0. 背景1. 使用 Mixtral 8*7B pandas 实现数据导入和导出1.1 使用 Mixtral 8*7B pandas 导入 Excel 文件中的数据1.2 使用 Mixtral 8*7B pandas 导出 Excel 文件中的数据 2. 使用 Mixtral 8*7B pandas 实现单个文件数据的…...

深入浅出理解Web认证:Session、Cookie与Token

在Web开发的世界中&#xff0c;理解Session、Session ID、Cookie和Token之间的区别至关重要。实际上&#xff0c;这些概念并不复杂&#xff0c;只需几句话就能澄清它们的核心区别。 首先&#xff0c;我们需要区分Session和Session ID。Session实际上是存储在服务器端的数据&am…...

智慧零售技术探秘:关键技术与开源资源,助力智能化零售革新

智慧零售是一种基于先进技术的零售业态&#xff0c;通过整合物联网、大数据分析、人工智能等技术&#xff0c;实现零售过程的智能化管理并提升消费者体验。 实现智慧零售的关键技术包括商品的自动识别与分类、商品的自动结算等等。 为了实现商品的自动识别与分类&#xff0c;…...

2012年第一届数学建模国际赛小美赛B题大规模灭绝尚未到来解题全过程文档及程序

2012年第一届数学建模国际赛小美赛 B题 大规模灭绝尚未到来 原题再现&#xff1a; 亚马逊是地球上现存最大的雨林&#xff0c;比地球上任何地方都有更多的野生动物。它位于南美洲大陆的北侧&#xff0c;共有9个国家&#xff1a;巴西、玻利维亚、厄瓜多尔、秘鲁、哥伦比亚、委…...

macos管理本地golang的多版本sdk

背景 无论你是哪个编程语言的开发者&#xff0c;例如 Java、Go 等&#xff0c;通常在本地开发过程中&#xff0c;你经常需要安装相应的 SDK。由于各种原因&#xff0c;往往需要在不同的项目中来回切换多个版本的 SDK。 安装步骤 1.安装homebrew /bin/bash -c "$(curl -…...

count distinct在spark中的运行机制

文章目录 预备 数据和执行语句Expand第一次HashAggregateShuffle and Second HashAggregate最后结果性能原文 预备 数据和执行语句 SELECT COUNT(*), SUM(items), COUNT(DISTINCT product), COUNT(DISTINCT category) FROM orders;假设源数据分布在两个1核的结点上&#xff0…...

创建加密分区或者文件

文章目录 [GParted 中已清除的分区与未格式化的分区](https://superuser.com/questions/706624/cleared-vs-unformatted-partition-in-gparted)创建加密分区解密创建的加密分区以便挂载格式化设备未具体的格式&#xff08;这里为ext4格式&#xff09;创建挂载点目录挂载加密的文…...

STL——遍历算法

1.for_each 函数原型&#xff1a; for_each(iterator beg, iterator end, _func);——// 遍历算法 遍历容器元素&#xff1b; beg 开始迭代器&#xff1b;end 结束迭代器&#xff1b; _func 函数或者函数对象 #include<iostream> using namespace std; #include<ve…...

C语言经典算法【每日一练】20

题目&#xff1a;有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 1、先排序 2、插入 #include <stdio.h>// 主函数 void main() {int i,j,p,q,s,n,a[11]{127,3,6,28,54,68,87,105,162,18};//排序&#xff08;选择排序&#xff09…...

Linux磁盘阵列

一.RAID磁盘阵列介绍 RAID&#xff08;Redundatnt Array of lndependent Disks&#xff09;&#xff0c;全称为&#xff1a;独立冗余磁盘阵列 解释&#xff1a; RAID是一种把多块独立的硬盘&#xff08;物理硬盘&#xff09;按不同的方式组合起来形成一个硬盘组&#xff08;逻…...

本地网络禁用了在哪里开启?

在当今数字化时代&#xff0c;网络已经成为人们生活中不可或缺的一部分。然而&#xff0c;有时我们可能需要禁用本地网络&#xff0c;无论是出于安全考虑、提高专注力还是其他原因。本文将探讨禁用本地网络的方法以及如何在需要时重新开启网络连接。 第一部分&#xff1a;禁用…...

[mysql 基于C++实现数据库连接池 连接池的使用] 持续更新中

目背景 常见的MySQL、Oracle、SQLServer等数据库都是基于C/S架构设计的&#xff0c;即&#xff08;客户端/服务器&#xff09;架构&#xff0c;也就是说我们对数据库的操作相当于一个客户端&#xff0c;这个客户端使用既定的API把SQL语句通过网络发送给服务器端&#xff0c;MyS…...

【Flink SQL API体验数据湖格式之paimon】

前言 随着大数据技术的普及&#xff0c;数据仓库的部署方式也在发生着改变&#xff0c;之前在部署数据仓库项目时&#xff0c;首先想到的是选择国外哪家公司的产品&#xff0c;比如&#xff1a;数据存储会从Oracle、SqlServer中或者Mysql中选择&#xff0c;ETL工具会从Informa…...

idea导入spring-framework异常:error: cannot find symbol

从github上clone代码spring-framework到本地后导入idea&#xff0c;点击gradle构建后控制台提示异常&#xff1a; 具体异常信息&#xff1a; /Users/ZengJun/Desktop/spring-framework/buildSrc/src/main/java/org/springframework/build/KotlinConventions.java:44: error:…...

Unity坦克大战开发全流程——开始场景——开始界面

开始场景——开始界面 step1&#xff1a;设置UI 反正按照这张图拼就行了 step2&#xff1a;写脚本 前面的拼UI都是些比较机械化的工作&#xff0c;直到这里写代码的时候才真正开始有点意思了&#xff0c;从这里开始&#xff0c;我们就要利用面向对象的思路来进行分析&#xff1…...

【SpringCloud】从实际业务问题出发去分析Eureka-Server端源码

文章目录 前言1.EnableEurekaServer2.初始化缓存3.jersey应用程序构建3.1注册jeseryFilter3.2构建JerseyApplication 4.处理注册请求5.registry&#xff08;&#xff09; 前言 前段时间遇到了一个业务问题就是k8s滚动发布Eureka微服务的过程中接口会有很多告警&#xff0c;当时…...

Java 代理模式

一、代理模式概述 代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问&#xff0c;这样就可以在不修改原目标对象的前提下&#xff0c;提供额外的功能操作&#xff0c;扩展目标对象的功能。 代理模式的主要作用是扩展目标…...

【Java干货教程】JSON,JSONObject,JSONArray类详解

一、定义 JSON&#xff1a;就是一种轻量级的数据交换格式&#xff0c;被广泛应用于WEB应用程序开发。JSON的简洁和清晰的层次结构&#xff0c;易于阅读和编写&#xff1b;同时也易于机器解析和生成&#xff0c;有效的提升网络传输效率&#xff1b;支持多种语言&#xff0c;很多…...

2023年高级软考系统架构师考题参考

对于一些有实践经验的同学来说&#xff0c;感觉不难&#xff0c;但是落笔到纸面上&#xff0c;就差强人意了&#xff0c;平时这方面要多练习&#xff0c;所想所思要落到纸面上&#xff0c;或者表达清晰让别人听懂&#xff0c;不仅是工作中的一个基本素质&#xff0c;也是个非常…...

【c语言】飞机大战(1)

提前准备好游戏要的素材&#xff0c;可以到爱给网去找&#xff0c;飞机大战我们需要的是一个我方战机图片&#xff0c;一个背景图&#xff0c;三个敌方战机的图&#xff0c;我方战机的图片&#xff0c;敌方战机的图片&#xff0c;并且将图片和.cpp放在同一文件夹下. 这里创建.…...

关于 K8s 的一些基础概念整理

〇、前言 Kubernetes&#xff0c;将中间八个字母用数字 8 替换掉简称 k8s&#xff0c;是一个开源的容器集群管理系统&#xff0c;由谷歌开发并维护。它为跨主机的容器化应用提供资源调度、服务发现、高可用管理和弹性伸缩等功能。 下面简单列一下 k8s 的几个特性&#xff1a; 自…...

Node.js-fs、path、http模块

1.初识Node.js 1.1 什么是Node.js 1.2 Node.js中的JavaScript运行环境 1.3 Node.js可以做什么 Node.js 作为一个JavaScript 的运行环境&#xff0c;仅仅提供了基础的功能和 AP1。然而&#xff0c;基于 ode.s 提供的这些基础能&#xff0c;很多强大的工具和框架如雨后春笋&…...

CentOS 安装WebLogic

1.JDK 安装 cd /home/ mkdir java cd java/ tar -zxvf jdk-8u321-linux-x64.tar.gzvim /etc/profile添加以下内容到 /etc/profile JAVA_HOME/home/java/jdk1.8.0_321 CLASSPATH.:$JAVA_HOME/lib.tools.jar PATH$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH刷新配置…...

Linux命令的操作练习

1.创建ss别名&#xff0c;查看长格式详细信息 alias ssls -l 2.创建ss别名&#xff0c;复制boot文件夹下的内容到data文件夹下 alias sscp -r /boot /data 3.删除别名ss unalias ss 4. 复制test文件夹下的passwd文件到qq文件夹下&#xff0c;并改名为ww cp test/pas…...

杰发科技AC7840——EEPROM初探

0.序 7840和7801的模拟EEPROM使用不太一样 1.现象 按照官方Demo&#xff0c;在这样的配置下&#xff0c;我们看到存储是这样的&#xff08;连续三个数字1 2 3&#xff09;。 使用串口工具的多帧发送功能 看不出多少规律 修改代码后 发现如下规律&#xff1a; 前四个字节是…...

WPF 基础入门(简介)

简介 WPF&#xff08;Windows Presentation Foundation&#xff09;是微软推出的基于Windows 的用户界面框架&#xff0c;属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架&#xff0c;真正做到了分离界面设计人员与开发人员的工作&#xff1b;同时它提供了…...

【Unity动画系统】Animator有限状态机参数详解

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…...

php获取访客IP、UA、操作系统、浏览器等信息

最近有个需求就是获取下本地的ip地址、网上搜索了相关的教程&#xff0c;总结一下分享给大家、有需要的小伙伴可以参考一下 一、简单的获取 User Agent 信息代码: echo $_SERVER[HTTP_USER_AGENT]; 二、获取访客操作系统信息: /** * 获取客户端操作系统信息,包括win10 * pa…...

基于huffman编解码的图像压缩算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 Huffman编码算法步骤 4.2 Huffman编码的数学原理 4.3 基于Huffman编解码的图像压缩 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..…...

python+django网上购物商城系统o9m4k

语言&#xff1a;Python 框架&#xff1a;django/flask可以定制 软件版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发工具pycharm/vscode都可以 前端框架:vue.js 系统使用过程主要涉及到管理员和用户两种角色&#xff0c;主要包含个…...

面试题-性能优化

前端项目优化&#xff1a; 一般考虑方面: (挑几点记住) 我们学的: 懒加载: 路由、图片懒加载 骨架屏的使用 压缩文件&#xff1a;可以使用压缩工具&#xff08;如GZIP&#xff09;对页面文件进行压缩&#xff0c;减小文件大小&#xff0c;提高页面加载速度。 减少HTTP请求&a…...

自身文档管理规范

之前在 这里 叙述了 用 sphinx 生成静态网站&#xff0c; 并利用 静态网络托管服务 readthedocs 现在我们有了新的需求&#xff0c;想知道这些东西到底是什么。 过程 过程A &#xff1a; markdown/rst -> html mkdocs sphinx相关&#xff1a; pandoc(不能生成整个网站的h…...

php学习05-常量

常量可以理解为值不变的量。常量值被定义后&#xff0c;在脚本的其他任何地方都不能改变。一个常量由英文字母、下划线和数字组成&#xff0c;但数字不能作为首字母出现。 在PHP中使用define()函数来定义常量&#xff0c;该函数的语法格式如下&#xff1a; define(string cons…...

MFC:如何将JPEG等图片显示到对话框客户区

步骤: 0、打开VS2022创建一个基于对话框的MFC应用&#xff0c;项目名称命名为PicShow&#xff0c;创建完成后将对话框客户区中的"确定"按钮等内容删除&#xff08;具体步骤略&#xff09;。 1、建立菜单栏&#xff1a;文件->打开、退出。具体步骤&#x…...

MIUI解BL锁+刷系统教程

解除BL锁 打开设置找到My device->Detailed info and specs->连点5下MIUI version(进入开发者模式)重新打开设置找到Additional settings->Developer opentions->Mi lock status->Add account and device下载官方解锁工具包&#xff08;miflash_unlock&#xf…...

数据结构和算法笔记3:双指针法(快慢指针)

双指针法&#xff08;快慢指针法&#xff09;在数组、字符串和链表的操作中是非常常见的&#xff0c;这里结合力扣上的题进行可一下梳理&#xff0c;主要的思路是我们要明确快指针指的是什么&#xff0c;慢指针指的是什么。 1. 移除元素类问题 27. 移除元素 要我们移除目标元…...

股票价格预测 | Python实现Autoformer, FEDformer和PatchTST等模型用于股价预测

文章目录 效果一览文章概述环境描述源码设计效果一览 文章概述 Autoformer、FEDformer和PatchTST是一些用于时间序列预测,包括股价预测的模型。它们都是在Transformer模型的基础上进行了改进和扩展,以更好地适应时间序列数据的特点。 Autoformer:Autoformer是一种自适应Tran…...