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

【Efficient AIGC】SiTo: Similarity-based Token Pruning (AAAI-2025)

文章目录

  • SiTo: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Pruning
    • 背景
    • 介绍
    • 方法
    • 结果
    • 消融

在这里插入图片描述

在这里插入图片描述

文章目录

  • SiTo: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Pruning
    • 背景
    • 介绍
    • 方法
    • 结果
    • 消融

SiTo: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Pruning

Paper: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Pruning
Code: https://github.com/EvelynZhang-epiclab/SiTo/tree/main

背景

随着生成式模型,尤其扩散模型(Diffusion Models)的飞速发展,它们在图像生成、艺术创作、超分辨率等领域展现了巨大的潜力。然而,这些模型通常伴随着极高的计算成本,导致在边缘设备和实时应用中的部署面临巨大挑战。针对这一问题, SiTo(Similarity-based Token Pruning)方法应运而生,它不仅大幅度加速了扩散模型的推理速度,还在不牺牲生成质量的情况下,显著降低了计算资源的消耗。

介绍

SiTo:加速扩散模型的创新解决方案
传统上,研究者们通过减少采样步数或压缩去噪网络等方式来降低扩散模型的计算开销。然而,这些方法往往在一定程度上牺牲了生成质量。SiTo提出了一种全新的思路,它通过引入基础令牌 (Base Token) 概念,自适应地剪去冗余的令牌,从而在保证高质量生成结果的同时实现显著加速。

SiTo的三大核心创新
(I) 最大相似性:基础令牌被选为一组与所有其他令牌具有最高相似性的令牌。此外,在选择基础令牌后,进一步选择与基础令牌相似度最高的令牌作为剪枝令牌。这个选择基础令牌和剪枝令牌的策略确保了高相似性,即基础令牌和剪枝令牌之间的差异较小,从而进一步最小化从基础令牌恢复剪枝令牌时的误差。

(II) 均匀空间分布:经典的图像分析研究表明,图像同一区域的图块携带相似的信息,这意味着在空间维度上相邻的令牌可能具有相似的表示,因此,用空间相邻的令牌来恢复剪枝令牌比使用远离的令牌更合适。因此,并不是直接从图像中的所有令牌中选择基础令牌,而是在图像的每个局部区域中选择一个基础令牌,以保证基础令牌在图像的不同空间位置上均匀分布。此外,由于基础令牌不会被剪枝,这种方案还确保了每个区域至少有一个令牌没有被剪枝,从而避免了令牌剪枝引入的误差过于集中。

(III) 带有随机性的选择:前两条原则有效地最小化了单个去噪步骤中令牌剪枝
带来的恢复误差。然而,扩散模型的采样过程包含多个去噪步骤,相邻的步骤具有相似的令牌表示。因此,基础令牌和剪枝令牌的选择在相邻时间步中可能非常相似,甚至是相同的。此外,如下图(b)所示,由于剪枝令牌是通过直接复制其最相似的基础令牌来恢复的,这些剪枝令牌往往会在所有后续的去噪步骤中保持较高的相似性,因此它们很可能在几乎所有的时间步中都被剪枝。这种极度不平衡的令牌剪枝可能会导致生成质量的显著下降。为了解决这个问题,提出在不同令牌的相似度上添加高斯噪声,在基础令牌选择过程中引入随机性。如下图(a)所示,这种方法将相邻两个时间步中剪去相同令牌的比例从97%降低到72%,有效避免了不平衡剪枝问题。
在这里插入图片描述

SiTo的显著优势

  1. 无损加速,内存压缩
    SiTo的应用效果显著,尤其在COCO30K和ImageNet数据集上,展示了强大的加速效果和内存压缩能力。例如,在Stable Diffusion v1.5中,应用SiTo方法后,加速达1.9倍,同时实现了2.7倍的内存压缩,并且FID值降低了1.33,不仅加速了推理过程,还提升了生成质量。
  2. 硬件友好,低计算开销
    SiTo方法采用的操作非常低成本,不会增加额外的内存占用,且计算复杂度极低,非常适合在GPU等硬件平台上并行计算。这使得SiTo在边缘设备和实时互动应用中的应用具有广泛的前景,尤其是对于需要快速响应的应用场景,SiTo无疑是一种理想的加速方案。
  3. 训练无关,数据无依赖
    与传统的加速方法不同,SiTo完全不依赖训练数据或校准数据,它不需要额外的训练步骤和调整,因此具有极强的通用性和即插即用性。这一特点使得SiTo可以在不同的数据集、不同的模型以及不同的采样设置下自由应用,极大地拓展了其实际应用的范围。

方法

在这里插入图片描述

SiTo的方法流程:

  1. 基础令牌选择
    计算所有令牌之间的余弦相似度。对于每个令牌,将它与所有其他令牌的相似度求和,得到该令牌的相似度得分(SimScore)。接着,向相似度得分中添加高斯噪声,以引入随机性,防止在不同时间步中选择相同的基础令牌和剪枝令牌。最后,选择在图像区域中具有最高噪声相似度得分(Noise SimScore)的令牌作为基础令牌
  2. 剪枝令牌选择
    选择与基础令牌最相似的令牌作为剪枝令牌
  3. 剪枝令牌恢复
    将未剪枝的令牌输入到神经网络层,然后通过从最相似的基础令牌中复制来恢复剪枝令牌。

结果

  • 视觉效果:SiTo 保留更多的图像细节,更加对齐文本提示,以及和原始模型生成的结果更吻合
    在这里插入图片描述

  • 数值结果

(1)在ImageNet数据集上的评估
将ToMeSD和SiTo应用于SD v1.5和SD v2。表1显示,SiTo在所有加速比设置下相比ToMeSD具有更低的FID得分、更高的加速比和更低的内存使用。在剪枝比率为0.7的情况下,SiTo在硬件上实现了1.9倍的加速2.70倍的内存压缩,同时FID得分减少了1.33

(2)在COCO30K数据集上的评估
为了进一步验证SiTo的有效性,在COCO30K数据集上进行了实验。如表1所示,SiTo在SD v1.5上实现了1.75倍的加速,并取得了11.17的FID得分;在SD v2上,SiTo实现了1.65倍的加速,FID得分为11.67,在加速和图像质量方面始终优于ToMeSD。
在这里插入图片描述

消融


剪枝令牌选择方法的消融实验

对以下六种基础令牌选择方法进行了消融实验:

  1. 始终选择 2 × 2 2 \times 2 2×2图块中的左上角令牌
  2. 在全局范围内随机选择25%的令牌
  3. 在全局范围内选择具有最高SimScore的令牌
  4. 2 × 2 2 \times 2 2×2图块中随机选择一个令牌
  5. 2 × 2 2 \times 2 2×2图块中选择具有最高SimScore的令牌
  6. 向SimScore添加高斯噪声后,选择 2 × 2 2 \times 2 2×2图块中具有最高分数的令牌(SiTo的默认设置)

如下表所示,实验得出了两个关键结论:
在这里插入图片描述

  1. 时间分布均匀性:
    基础令牌应该在不同的去噪时间步之间保持均匀分布。策略I,即每个时间步始终选择相同的令牌,表现最差。策略VI优于策略V,因为在策略VI中引入的随机噪声使得不同时间步的基础令牌选择有所变化。类似的推理解释了为什么策略II优于策略III
    此外,还对策略V策略VI进行了视觉分析。分析结果表明,引入噪声可以防止某些令牌在多个时间步中被反复剪枝,从而使得图像呈现出更丰富的细节。例如,下图a中显示,使用策略VI生成的图像草地纹理更为精细,花朵的数量也有所增加。

在这里插入图片描述

  1. 空间分布均匀性:
    基础令牌还应保持空间上的均匀分布。策略IV策略
    V
    策略VI的表现优于策略II策略III,这表明在局部图块内选择基础令牌要比全局选择效果更好。这可能是因为全局选择会导致基础令牌集中在某些区域,从而在其他区域造成密集剪枝,导致信息损失难以恢复。

剪枝 vs. 合并
为了验证的剪枝操作,将剪枝操作替换为类似于ToMeSD的平均合并策略。如图5a所示,剪枝操作始终能够获得更低的FID得分。较高的令牌剪枝比率迫使基础令牌重建多个令牌,导致显著的误差和与真实分布的偏差,从而降低了图像质量。


不同图块大小的影响
在选择基础令牌的过程中,将特征划分为大小为 s × s s \times s s×s的图块,在每个图块内选择一个令牌作为基础令牌。随着图块大小的增大,基础令牌的比例相应减少。如图5b所示,尽管较大的图块大小仅能带来微小的加速提升,但它们会导致FID值的显著增加。
在这里插入图片描述


使用较少采样时间步的性能评估
评估了在较少采样时间步下,ToMeSD和SiTo的表现。如下图所示,SiTo在不同的时间步数下,始终在图像质量和加速效果上超过ToMeSD,这表明SiTo与DDIM等扩散加速方法是正交的。
在这里插入图片描述


SiTo在各模块中的应用

SiTo可以应用于所有模块,包括自注意力(Self-Attention)、交叉注意力(Cross-Attention)和前馈网络(Feed-Forward Network)。探讨了SiTo在各模块中的应用,以优化加速和图像质量之间的平衡。下表的结果显示,将SiTo应用于交叉注意力(CA)和前馈网络(MLP)仅带来了最小的加速收益,同时影响了图像生成质量。
在这里插入图片描述

此外,尽管SiTo和ToMeSD可以应用于更深的UNet块,下图显示,应用于更深的Unet层会导致生成质量的下降。
在这里插入图片描述

相关文章:

【Efficient AIGC】SiTo: Similarity-based Token Pruning (AAAI-2025)

文章目录 SiTo: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Pruning背景介绍方法结果消融 文章目录 SiTo: Training-Free and Hardware-Friendly Acceleration for Diffusion Models via Similarity-based Token Prun…...

音频入门(一):音频基础知识与分类的基本流程

音频信号和图像信号在做分类时的基本流程类似,区别就在于预处理部分存在不同;本文简单介绍了下音频处理的方法,以及利用深度学习模型分类的基本流程。 目录 一、音频信号简介 1. 什么是音频信号 2. 音频信号长什么样 二、音频的深度学习分…...

mac 通过 Homebrew 安装 git 遇到的问题

问题真多啊 !!! 解决方式 见 1. / 2. / 3 . / 4. / 5. remote: Enumerating objects: 290323, done. remote: Counting objects: 100% (473/473), done. remote: Compressing objects: 100% (253/253), done. error: RPC failed; curl 92 H…...

Flutter android debug 编译报错问题。插件编译报错

下面相关内容 都以 Mac 电脑为例子。 一、问题 起因:(更新 Android studio 2024.2.2.13、 Flutter SDK 3.27.2) 最近 2025年 1 月 左右,我更新了 Android studio 和 Flutter SDK 再运行就会出现下面的问题。当然 下面的提示只是其…...

【信息系统项目管理师-选择真题】2018上半年综合知识答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...

探究 Facebook 隐私安全发展方向,未来走向何方?

随着社交媒体的普及,隐私和数据安全问题成为了全球关注的焦点。Facebook,作为全球最大的社交平台之一,其隐私安全问题尤其引人注目。近年来,随着用户数据泄露事件的不断发生,Facebook 不断调整其隐私政策,探…...

漏洞修复:Apache Tomcat 安全漏洞(CVE-2024-50379) | Apache Tomcat 安全漏洞(CVE-2024-52318)

文章目录 引言I Apache Tomcat 安全漏洞(CVE-2024-50379)漏洞描述修复建议升级Tomcat教程II Apache Tomcat 安全漏洞(CVE-2024-52318)漏洞描述修复建议III 安全警告引言 解决方案:升级到最新版Tomcat https://blog.csdn.net/z929118967/article/details/142934649 service in…...

Leecode刷题C语言之购买水果需要的最小金币数

执行结果:通过 执行用时和内存消耗如下&#xff1a; int dp(int* prices, int pricesSize, int index, int* memo) {if (2 * index 2 > pricesSize) {return prices[index];}if (memo[index] -1) {int minValue INT_MAX;for (int i index 1; i < 2 * index 2; i) …...

【27】Word:徐雅雯-艺术史文章❗

目录 题目​ NO1.2 NO3 NO4 NO5 NO6.7 NO8.9 NO10.11 注意&#xff1a;修改样式的字体颜色/字号&#xff0c;若中英文一致&#xff0c;选择所有脚本。格式相似的文本→检查多选/漏选格式刷F4重复上一步操作请❗每一步检查和保存 题目 NO1.2 F12另存为布局→行号布局…...

MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log

文章目录 一、前言1.1 MySQL体系结构1.2 MySQL日志分类1.3 其他几种日志1.3.1 查询日志1.3.2 慢查询日志1.3.3 错误日志 二、bin log 二进制日志2.1 bin log简介2.2 binlog日志格式2.3 日志删除2.4 写入/刷盘机制 三、undo log 回滚日志3.1 undo log简介3.2 隐藏字段 —— 事务…...

数字MIC PDM接口

在音频采样中&#xff0c;我们经常会用到PCM&#xff0c;PDM这种方式&#xff0c;它们之间也是有一些区别的。 &#xff11;&#xff1a;PDM 工作原理&#xff1a; PDM使用远高于PCM采样率的时钟采样调制模拟分量&#xff0c;每次采样结果只有1位输出&#xff08;0或1&…...

dfs专题五:FloodFill算法

1.图像渲染 link:733. 图像渲染 - 力扣&#xff08;LeetCode&#xff09; code class Solution { public:int prev;vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int color) {if(image[sr][sc] color) return …...

笔试-二维数组

应用 快递业务有N个站点&#xff0c;1<N<10000&#xff1b;站点0、站点1可达&#xff0c;记作0-1&#xff1b;如果0-1、1-2&#xff0c;则站点0、站点2可达&#xff0c;记作0-2&#xff1b;s[i][j]1表示i-j可达&#xff0c;反之s[i][j]0表示i-j不可达&#xff1b;s[i][j…...

大模型GUI系列论文阅读 DAY2续:《一个具备规划、长上下文理解和程序合成能力的真实世界Web代理》

摘要 预训练的大语言模型&#xff08;LLMs&#xff09;近年来在自主网页自动化方面实现了更好的泛化能力和样本效率。然而&#xff0c;在真实世界的网站上&#xff0c;其性能仍然受到以下问题的影响&#xff1a;(1) 开放领域的复杂性&#xff0c;(2) 有限的上下文长度&#xff…...

如何提升IP地址查询数据服务的安全?

随着网络科技深入人们的生活之中&#xff0c;数据相关服务顺时代浪潮应运而生。而在数据查询相关服务之中&#xff0c;数据安全乃是重中之重。而如何部署数据查询服务安全&#xff0c;今天让我们来大致了解一下&#xff1a; 数据加密 数据加密是数据查询服务安全的核心技术之…...

【Leetcode】--- 接雨水

题目传送门 方法一&#xff1a; 前缀和后缀和 算法原理 需要两个数组。 第一个数组存储最左边到第 i 个位置的最大高度&#xff08;前缀最大值&#xff09; 第二个数组存储最右边到第 i 个位置的最大高度&#xff08;后缀最大值&#xff09; 最终第 i 个位置的 接水量 min&am…...

深入探索Math.NET:开启高效数值计算之旅

一、引言 在当今数字化时代&#xff0c;数值计算已然成为科学研究、工程设计、金融分析等众多领域的核心驱动力。从探索宇宙奥秘的物理学计算&#xff0c;到优化建筑结构的土木工程设计&#xff0c;再到预测市场趋势的金融建模&#xff0c;数值计算的身影无处不在&#xff0c;…...

案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设

浪潮云洲工业互联网有限公司&#xff08;以下简称为“浪潮云洲”&#xff09;成立于2018年&#xff0c;定位于工业数字基础设施建设商、具有国际影响力的工业互联网平台运营商、生产性互联网头部服务商。截至目前&#xff0c;浪潮云洲工业互联网平台连续五年入选跨行业跨领域工…...

Logback日志文件详细配置

完整版Logback.xml文件 放在Resources目录下即可 Mac用户更改一下日志文件存放地点即可 <FileNamePattern>/Users/***/***/tlias-%d{yyyy-MM-dd}-%i.log</FileNamePattern> <?xml version"1.0" encoding"UTF-8"?> <configurati…...

TDengine 与上海电气工业互联网平台完成兼容性认证

在工业数字化转型和智能化升级的浪潮中&#xff0c;企业对高效、可靠的数据管理解决方案的需求日益增长。特别是在风电智能运维、火电远程运维、机床售后服务等复杂多样的工业场景下&#xff0c;如何实现海量设备和时序数据的高效管理&#xff0c;已经成为推动行业升级的关键。…...

VMware虚拟机安装macOS11

1.安装虚拟机 如果尚未安装虚拟机&#xff0c;请先进行安装。地址&#xff1a;VMware17下载地址​​​​​​ 2、下载苹果镜像文件 macOS Big Sur 11.0.1 (20B29) 3、下载unlock文件&#xff08;目的是开启VMware的macOS选项功能&#xff09; https://download.csdn.net/d…...

PostgreSQL中级专家是什么意思?

数据库技术领域&#xff0c;PostgreSQL 作为一种广泛使用的开源关系型数据库管理系统&#xff0c;吸引了众多技术人员深入学习和研究。“PostgreSQL 中级专家” 是对掌握该数据库特定技能层次的一种描述。 知识储备 中级专家深入理解 PostgreSQL 的体系结构&#xff0c;包括进程…...

ubuntu20使用apt安装mysql8

目录 ubuntu20使用apt安装mysql8报错列表参考链接首先删除旧mysql 一、下载配置mysql8库索引下载apt包解压包配置更新apt库索引 二、下载安装mysql8三、启动mysql服务配置开机自启动&#xff0c;忽略 本地登录远程登录查看mysql的所有用户使用客户端远程登陆如果报错完成 参考链…...

FastDFS的安装及使用

分布式存储发展历程 前段时间 618 活动火热进行&#xff0c;正是购物的好时机。当我们访问这些电 商网站的时候&#xff0c;每一个商品都会有各式各样的图片展示介绍&#xff0c;这些图 片一张两张可以随便丢在服务器的某个文件夹中&#xff0c;可是电商网站如此 大体量的…...

二叉树(了解)c++

二叉树是一种特殊的树型结构&#xff0c;它的特点是: 每个结点至多只有2棵子树(即二叉树中不存在度大于2的结点) 并且二叉树的子树有左右之分&#xff0c;其次序不能任意颠倒&#xff0c;因此是一颗有序树 以A结点为例&#xff0c;左边的B是它的左孩子&#xff0c;右边的C是…...

头像生成小程序搭建(免费分享)

如下图为小程序页面的基本效果&#xff0c;下面将介绍该小程序的功能 页面template代码如下&#xff1a; <template><view class"avatar-containner"><block v-if"!showCropper"><image class"pageback" src"../../s…...

Alluxio 联手 Solidigm 推出针对 AI 工作负载的高级缓存解决方案

作者&#xff1a;Wayne Gao, Yi Wang, Jie Chen, Sarika Mehta Alluxio 作为全球领先的 AI 缓存解决方案供应商&#xff0c; 提供针对 GPU 驱动 AI 负载的高速缓存。其可扩展架构支持数万个节点&#xff0c;能显著降低存储带宽的消耗。Alluxio 在解决 AI 存储挑战方面的前沿技…...

【ComfyUI专栏】ComfyUI 部署Kolors

什么是Kolors?我相信一定会有朋友可能第一次听说这个生图的模型,开始我也很难想象,这竟然是快手推出的可灵AI的项目,我们可以直接利用模型来生成图片和视频。 大家可以通过直接访问可灵AI的网址获取到可灵的项目,但是对于我们来说我们需要基于ComfyUI来生成必要的图片和视…...

HBase的原理

一、什么是HBase HBase是一个分布式&#xff0c;版本化&#xff0c;面向列的数据库&#xff0c;依赖Hadoop和Zookeeper &#xff08;1&#xff09;HBase的优点 提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统 (2) HBase 表的特性 Region包含多行 列族包含多…...

Spring Boot中如何实现异步处理

在 Spring Boot 中实现异步处理可以通过使用 Async 注解和 EnableAsync 注解来实现。以下是如何配置和使用异步处理的步骤和示例代码。 步骤&#xff1a; 启用异步支持&#xff1a; 在 Spring Boot 配置类上使用 EnableAsync 注解启用异步处理。使用 Async 注解异步方法&…...

SSM电子商城系统

&#x1f345;点赞收藏关注 → 添加文档最下方联系方式咨询本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345; 项目视频 电…...

新版IDEA创建数据库表

这是老版本的IDEA创建数据库表&#xff0c;下面可以自己勾选Not null&#xff08;非空),Auto inc&#xff08;自增长),Unique(唯一标识)和Primary key&#xff08;主键) 这是新版的IDEA创建数据库表&#xff0c;Not null和Auto inc可以看得到&#xff0c;但Unique和Primary key…...

二叉树的存储(下)c++

链式存储 我们可以创建两个数组L[N]、r[N]&#xff0c;分别存储i 号结点的左右孩子的编号&#xff0c;这样就可以通过数组下标实现链式访问。 本质上还是孩子表示法&#xff0c;存储的是左右孩子的信息 #include <iostream>using namespace std;const int N 1e6 10; …...

Flutter中PlatformView在鸿蒙中的使用

Flutter中PlatformView在鸿蒙中的使用 概述在Flutter中的处理鸿蒙端创建内嵌的鸿蒙视图创建PlatformView创建PlatformViewFactory创建plugin&#xff0c;注册platformview注册插件 概述 集成平台视图&#xff08;后称为平台视图&#xff09;允许将原生视图嵌入到 Flutter 应用…...

Docker—搭建Harbor和阿里云私有仓库

Harbor概述 Harbor是一个开源的企业级Docker Registry管理项目&#xff0c;由VMware公司开发。‌它的主要用途是帮助用户迅速搭建一个企业级的Docker Registry服务&#xff0c;提供比Docker官方公共镜像仓库更为丰富和安全的功能&#xff0c;特别适合企业环境使用。‌12 Harb…...

一篇博文了解JVM的各个内存区域

​ JVM的内存区域可以细分为程序计数器、虚拟机栈、本地方法栈、堆和方法区 其中&#xff0c;方法区和堆是线程共享的&#xff0c;虚拟机栈、本地方法栈和程序计数器是私有的&#xff1b; 先来说说程序计数器&#xff0c;它也被称为PC寄存器&#xff0c;占据着很小的内存空间…...

无监督学习:聚类、异常检测

聚类 工作原因我对聚类特别熟悉&#xff0c;因此视频课程基本快进看完&#xff0c;不做记录 异常检测 高斯(正态)分布 多特征异常检测 将每个特征作为独立特征&#xff08;实践证明即使不完全独立也影响不大&#xff09;计算高斯分布的参数&#xff0c;然后将待预估样本代入…...

pdf与ofd的区别详细对比

PDF&#xff08;Portable Document Format&#xff09;和OFD&#xff08;Open Fixed-layout Document&#xff09;是两种常见的电子文档格式&#xff0c;它们在设计理念、技术实现、应用场景等方面存在显著差异。以下是对这两种格式的详细对比分析&#xff0c;涵盖其历史背景、…...

DDD架构实战第六讲总结:领域驱动设计中的聚合

云架构师系列课程之DDD架构实战第六讲总结:领域驱动设计中的聚合 聚合提升了对象系统的粒度,保证了业务逻辑的完整性,减少了错误产生的概率 一、引言 本讲将探讨领域驱动设计(DDD)中的重要概念——聚合。聚合是业务完整性的单元,是一个更大力度的封装。在领域驱动设计中…...

CentOS7使用源码安装PHP8教程整理

CentOS7使用源码安装PHP8教程整理 下载安装包解压下载的php tar源码包安装所需的一些依赖扩展库安装前的配置修改配置文件1、进入php8的安装包 配置环境变量开机自启启动服务创建软连接常见问题1、checking for icu-uc > 50.1 icu-io icu-i18n... no2、configure: error: Pa…...

vue3中自定一个组件并且能够用v-model对自定义组件进行数据的双向绑定

1. 基础用法 在 Vue3 中&#xff0c;v-model 在组件上的使用有了更灵活的方式。默认情况下&#xff0c;v-model 使用 modelValue 作为 prop&#xff0c;update:modelValue 作为事件。 1.1 基本示例 <!-- CustomInput.vue --> <template><input:value"mo…...

【win11】解决msrdc.exe窗口启动导致周期性失去焦点

msrdc.exe randomly stealing focus 最近写代码时&#xff0c;经常出现周期性失去焦点的情况非常恼人,不确定是否是Q4的微软更新引起&#xff1f;换了输入法也不行&#xff0c;只能借助工具来查看&#xff1a;大神的工具非常好&#xff1a; 可以发现是remote app 启动了一个UI…...

【2024年终总结】深圳工作生活评测

距离上次写年终总结已经过了一年半了&#xff0c;这一年半中哪怕经历了很多的事情&#xff0c;但是感觉又没发生什么。想写一些骚话&#xff0c;却总觉得自己无法完全表达&#xff0c;便也就这样&#xff0c;静静地记录下这一段时光。 现在是2025年&#xff0c;春节前的时光&am…...

【29】Word:李楠-学术期刊❗

目录 题目​ NO1.2.3.4.5 NO6.7.8 NO9.10.11 NO12.13.14.15 NO16 题目 NO1.2.3.4.5 另存为手动/F12Fn光标来到开头位置处→插入→封面→选择花丝→根据样例图片&#xff0c;对应位置填入对应文字 (手动调整即可&#xff09;复制样式&#xff1a;开始→样式对话框→管理…...

npm常用命令

以往nodejs版本 Node.js — Node.js 版本 CNPM Binaries Mirror 查看当前版本 npm -v 查看node安装在哪里 where node 清除缓存 npm cache clean --force 淘宝镜像&#xff08;只支持下载&#xff0c;不支持上传发布&#xff09; npm config set registry https://reg…...

安装最小化的CentOS7后,执行yum命令报错Could not resolve host mirrorlist.centos.org; 未知的错误

文章目录 安装最小化的CentOS7后&#xff0c;执行yum命令报错"Could not resolve host: mirrorlist.centos.org; 未知的错误"错误解决方案&#xff1a; 安装最小化的CentOS7后&#xff0c;执行yum命令报错"Could not resolve host: mirrorlist.centos.org; 未知…...

现代 JavaScript 的入门教程

现代 JavaScript 的定义 现代 JavaScript 通常指的是自 ECMAScript 2015&#xff08;也称为 ES6&#xff09;以来的一系列语言更新和改进&#xff0c;以及随之而来的开发工具、库和框架的生态系统。这些变化不仅增强了 JavaScript 的功能性和表达能力&#xff0c;还推动了更高…...

linux naive代理设置

naive linux客户端 Release v132.0.6834.79-2 klzgrad/naiveproxy GitHub Client setup Run ./naive with the following config.json to get a SOCKS5 proxy at local port 1080. {"listen": "socks://127.0.0.1:1080","proxy": "htt…...

Java数据结构 (链表反转(LinkedList----Leetcode206))

1. 链表的当前结构 每个方框代表一个节点&#xff0c;每个节点包含两个部分&#xff1a; 左侧的数字&#xff1a;节点存储的值&#xff0c;例如 45、34 等。右侧的地址&#xff08;如 0x90&#xff09;&#xff1a;表示该节点 next 指针指向的下一个节点的内存地址。 例子中&a…...

游戏与硬件深度协同,打造更精细的体验优化

高画质的游戏往往带来手机的发热和卡顿从而影响游戏体验。开发者希望能够获取到手机运行的实时状态&#xff0c;从而能够进行主动的负载调节&#xff0c;将手机发热时游戏体验影响降到最低&#xff1b;同时手机也可以通过游戏传入的关键场景如"正在下载资源"“团战中…...