仅128个token达到ImageNet生成SOTA性能!MAETok:有效的扩散模型的关键是什么?(卡内基梅隆港大等)
论文链接:https://arxiv.org/pdf/2502.03444
项目链接:https://github.com/Hhhhhhao/continuous_tokenizer
亮点直击
理论与实验分析:通过实验和理论分析建立了潜空间结构与扩散模型性能之间的联系。揭示了具有更少高斯混合模型(GMM)模式的结构化潜空间能够更有效地训练和生成扩散模型。
MAETok:使用mask建模训练普通自编码器(AE),并证明了具有更具判别性的潜空间的简单 AE 能够加速学习、提高生成质量,并提升扩散模型的吞吐量,从而表明 VAE 的变分正则化并非必要。
SOTA 生成性能:在 MAETok 训练的扩散模型(675M 参数,128 token)在 256×256 ImageNet 生成任务上达到了与先前最佳模型相当的性能,并在 512 分辨率上超越了 2B USiT,取得了 1.69 gFID 和 304.2 IS。
结果展示
总结速览
解决的问题
现有的扩散模型通常使用变分自编码器(VAE)作为tokenizer,但VAE的变分约束可能限制了重建质量,影响生成效果。此外,现有的自动编码器(AE)虽然能提供更高保真度的重建,但其潜在空间可能过于混乱,不利于扩散模型的训练和采样。因此,如何构建一个既能保持高重建质量,又能提供良好结构化潜在空间的tokenizer仍然是一个未解决的问题。
提出的方案
本文提出MAETok,一种基于 mask 建模(Masked Autoencoder, MAE)的自动编码器(AE)。它通过随机屏蔽图像token并重建缺失部分,以学习更加语义丰富、结构更清晰的潜在空间。核心设计包括:
-
mask建模:在编码器端随机屏蔽一部分图像token,要求解码器恢复原始特征,以迫使AE学习更具判别性的特征表示。
-
辅助浅层解码器:在标准像素解码器之外,增加辅助解码器,用于预测latent token的特征(如HOG、DINOv2、CLIP等),增强潜在表示的语义信息。
-
编码器冻结策略:在高 mask 比(40%-60%)训练后,固定编码器并微调解码器,以恢复像素级重建质量,同时保留高质量的潜在表示。
应用的技术
-
扩散模型(Diffusion Models)
-
Mask自编码器(MAE)进行特征学习
-
高效Transformer架构 用于tokenizer设计
-
高 mask 比训练策略
-
潜在空间分析(使用高斯混合模型GMM)优化扩散模型的学习
达到的效果
-
更优的潜在空间:潜在特征更加判别清晰,且具有更少的GMM模式,提升扩散模型的生成质量。
-
高效训练与推理:相比基于VAE的扩散模型,训练速度提升76倍,推理吞吐量提升31倍(512×512图像)。
-
优越的生成质量:在ImageNet 256×256 和 512×512 基准上,MAETok 使用仅128个token即可实现最先进(SOTA)的生成质量,gFID 达到 1.69。
-
突破VAE限制:证明高质量的潜在空间比变分约束(如VAE)更关键,实现无需VAE的扩散模型训练。
方法
VAE 的变分形式对于扩散模型可能并非必要,简单的 AE 便足以在 128 token的条件下实现 SOTA 生成性能,只要它们具有判别性的潜空间,即具有更少的 GMM 模式。本文将该方法称为 MAETok,其详细信息如下。
结构
在最近的 1D 分词器 设计基础上构建 MAETok,该分词器采用可学习的latent tokens。编码器 (E) 和解码器 (D) 都采用 Vision Transformer (ViT) 结构,但经过调整以同时处理 图像tokens 和 latent tokens,如下图 3 所示。
编码器。编码器首先根据预定义的块大小P将输入图像划分为个块,每个块映射到一个维度为的 embedding 向量,从而得到image tokens 。此外,定义一组个可学习的latent tokens 。编码器的变换器将image patch embeddings和latent tokens的连接作为输入,并仅从latent tokens输出潜在表示,其中为其维度:
解码器。为了重建图像,使用一组个可学习的image tokens 。将这些mask tokens与连接,作为解码器的输入,并仅使用来自mask tokens的输出进行重建。
在上使用一个线性层来回归像素值,并获得重建的图像。
位置编码。为了编码空间信息,在编码器的mage patch tokens和解码器的image tokens 上应用二维旋转位置 embedding (RoPE)。相比之下,latent tokens (及其编码对应)使用标准的1D绝对位置 embedding ,因为它们不映射到特定的空间位置。这种设计确保了patch-based tokens保留了二维布局的概念,而学习到的latent tokens 被视为transformer架构中的一组抽象特征。
训练目标。使用与先前工作(Esser et al., 2021)相同的标准tokenizer损失函数来训练MAETok。
其中、和分别表示像素级均方误差(MSE)损失、感知损失和对抗损失,和是超参数。请注意,MAETok是一个简单的自编码器架构,因此,它不像变分自编码器(VAE)那样需要后验和先验之间的变分损失,这简化了训练过程。
Mask 建模
编码器的Token Mask。 MAETok的一个关键特性是,在训练过程中引入了 mask 建模,遵循MAE的原则,以自监督的方式学习更具辨别性的潜在空间。根据二进制masking指示器,随机选择一定比例(例如40%-60%)的image patch tokens,并用可学习的mask token替换它们,然后将其输入编码器。所有潜在token保持不变,以便更强地聚合未unmasked image tokens的信息,并在解码器输出时用于重建masked tokens。
辅助浅层解码器。在MAE中,需要一个浅层解码器或一个线性层来从剩余的图像token中预测目标特征,例如原始像素值、HOG特征和来自预训练模型的特征。然而,由于我们的目标是将MAE训练为token化器,因此像素解码器需要能够高保真地重建图像。因此,将的容量保持与相似,并结合辅助浅层解码器来预测额外的特征目标,这些解码器与主像素解码器设计相同,但层数较少。形式上,每个辅助解码器接受潜在表示并与它们自己的拼接作为输入,输出作为其特征目标的重建。
其中表示目标特征的维度。与AE一起训练这些辅助解码器,并仅根据 mask 指示器对masked tokens应用额外的MSE损失,类似于Xie et al.。
像素解码器微调
虽然 Mask 建模促使编码器学习更好的潜在空间,但较高的 Mask 比例可能会降低即时重建效果。为了解决这一问题,在使用 Mask 建模训练自编码器之后,冻结编码器,从而保留潜在表示,并仅对像素解码器进行少量额外训练。这一过程使解码器能够更紧密地适应冻结的干净图像潜在编码,恢复在 Mask 训练过程中丢失的细节。在像素解码器微调过程中使用与公式 (6) 相同的损失,并在此阶段丢弃所有辅助解码器。
实验
本文进行全面的实验来验证 MAETok 的设计选择,分析其潜在空间,并基准测试生成性能,展示其优越性。
实验设置
Tokenizer的实现细节。使用XQ-GAN代码库来训练MAETok。使用ViT-Base,从头初始化,用于编码器和像素解码器,它们总共有176M个参数。设置潜在空间为和。三个MAETok变体分别在256×256的ImageNet、512×512的ImageNet和512×512的LAION-COCO子集上训练500K迭代。在第一阶段,使用ImageNet进行mask建模训练时,采用了一个40-60%的mask比例,这是通过消融实验设置的,并且有三个辅助浅层解码器,分别用于多个目标特征:HOG、DINO-v2-Large和SigCLIP-Large。对于在LAION-COCO上训练的tokenizer,采用额外的辅助解码器,用于预测图像的文本描述的离散索引,使用BPE tokenizer。每个辅助解码器有3层,也是通过消融实验设置的。设置和。对于像素解码器微调,在线性地减少 mask 比例,从60%减少到0%,并进行50K迭代,使用相同的训练损失。
扩散模型的实现细节
在训练 MAETok 之后,使用 SiT和 LightningDiT来执行基于扩散的图像生成任务。将 Patch 大小设置为 1,并使用 1D 位置 embedding,其他参数遵循它们的原始训练设置。使用 458M 参数的 SiT-L 进行分析和消融研究。对于主要结果,训练了 675M 参数的 SiT-XL,经过 4M 步,和 LightningDiT 训练 400K 步,在分辨率为 256 和 512 的 ImageNet 上进行训练。
评估 对于 Tokenizer 评估,报告了 ImageNet 和 MS-COCO验证集上的重建 Fréchet Inception Distance(rFID)、峰值信噪比(PSNR)和结构相似性指数(SSIM)。对于 Tokenizer 的潜在空间评估,我们对平坦的潜在表示进行线性探测(LP),并报告其准确性。为了评估生成任务的性能,报告了生成 FID(gFID)、Inception Score(IS)(Salimans et al., 2016)、精度和召回率(Precision and Recall),有无无分类器引导(CFG),使用 250 次推理步骤。
MAETok的设计选择
首先进行了一项广泛的消融研究,以了解Mask建模和不同设计如何影响tokenizer的重建效果,更重要的是,如何影响扩散模型的生成效果。从一个AE开始,逐步添加不同的组件,研究AE的rFID和SiT-L的gFID。
Mask建模
在下表1a中,我们比较了AE和VAE的Mask建模效果,并研究了像素解码器微调的提议。对于AE,Mask建模显著提高了gFID,并略微降低了rFID,这可以通过解码器微调阶段恢复,而不会牺牲生成性能。相反,Mask建模对VAE的gFID仅有轻微改善,因为施加的KL约束可能会妨碍潜在空间的学习。
重建目标
在上表1b中,我们研究了不同的重建目标如何影响Mask建模中的潜在空间学习。我们展示了使用低级重建特征,如原始像素(仅使用像素解码器)和HOG特征,已经能够学习到更好的潜在空间,从而实现更低的gFID。采用语义教师,如DINO-v2和CLIP,则可以显著提高gFID。结合不同的重建目标可以在重建保真度和生成质量之间实现平衡。
Mask比例
在上表1c中,我们展示了合适的Mask比例对于使用HOG目标学习潜在空间的重要性,正如前人工作中所强调的。较低的Mask比例会阻止AE学习到更具区分性的潜在空间。较高的Mask比例则在重建保真度和潜在空间质量之间存在权衡,从而影响生成性能。
辅助解码器深度
在上表1d中,我们研究了具有多重重建目标的辅助解码器的深度。我们发现,解码器过浅或过深都会损害重建保真度和生成质量。当解码器过浅时,组合目标特征可能会混淆潜在空间中的高级语义和低级细节,从而导致更差的重建保真度。然而,过深的辅助解码器可能会凭借其强大的能力学习到AE的潜在空间中较少的区分特征,从而也导致更差的生成性能。
潜在空间分析
本文进一步分析了AE变体的潜在空间与SiT-L生成性能之间的关系。
潜在空间可视化
提供了UMAP可视化如下图4所示,以直观地比较不同AE变体所学习到的潜在空间。值得注意的是,AE和VAE展示了更为纠缠的潜在 embedding,其中不同类别的样本往往有较大的重叠。MAETok展示了明显分离的聚类,并且类别之间的边界较为清晰,这表明MAETok学习到了更具区分性的潜在表示。与下图2中的分析一致,MAETok的潜在表示更加区分且分离,导致了更少的GMM模式,并提升了生成性能。
潜在分布与生成性能
我们通过研究潜在空间上的线性探测(LP)准确度,作为潜在代码中语义信息保留程度的代理,并与生成性能的gFID进行关联,来评估潜在空间的质量。在图5a中,我们观察到,潜在分布更具区分性的tokenizer,表现在更高的LP准确度,相应地也能实现更低的gFID。这个发现表明,当特征在潜在空间中良好聚类时,生成器能够更容易学习生成高保真样本。我们进一步通过跟踪训练过程中gFID的变化来验证这一直觉,如下图5b所示,MAETok使得训练更快收敛,gFID迅速下降,且低于AE或VAE基准。高质量的潜在分布被证明是实现强大的最终生成指标并加速训练的关键因素。
主要结果
生成 在下表2和表3中,分别基于256×256和512×512的ImageNet基准,比较了SiT-XL和LightningDiT的MAETok变体,并与其他SOTA生成模型进行了比较。值得注意的是,使用仅128个token和普通AE架构训练的SiT-XL,在没有使用CFG的情况下,始终能取得更好的gFID和IS:它在256分辨率下比REPA提高了3.59的gFID,并在512分辨率下达到了2.79的SOTA可比gFID。当使用CFG时,SiT-XL与基于VAEs的竞争性自回归和扩散基准在256分辨率下的表现相当。它击败了使用256个token的2B USiT,并且在512分辨率下实现了新的SOTA,gFID为1.69,IS为304.2。使用更多先进技巧训练的LightningDiT表现更好,它在没有CFG的情况下超越了1B参数的MAR-H和2B参数的USiT,gFID为2.56,IS为224.5,并且在使用CFG时,gFID为1.72。这些结果表明,潜在空间的结构(见上图4),而非tokenizer的变分形式,对于扩散模型的有效学习至关重要。
重建 MAETok在ImageNet和MS-COCO上的重建能力也非常强,如下表4所示。与之前的连续tokenizer(包括SD-VAE、DC-AE、VA-VAE、SoftVQ-VAE和TexTok)相比,MAETok在重建质量和潜在空间大小之间实现了一个良好的平衡。在256×256的ImageNet上,使用128个token,MAETok的rFID为0.48,SSIM为0.763,超越了SoftVQ等方法,在保真度和感知相似度方面均表现优越,同时使用了TexTok一半的token数。在MS-COCO上,尽管tokenizer没有直接训练,MAETok仍能提供强大的重建能力。在512分辨率下,MAETok通过平衡压缩比和重建质量,保持了其优势。
讨论
高效的训练与生成 1D tokenizer设计的一个显著优势是,它能够支持任意数量的潜在token。通常256×256和512×512图像被编码为256和1024个token,而MAETok在两种情况下都使用128个token。这大大提高了扩散模型的训练和推理效率。例如,在使用512×512图像的1024个token时,SiT-XL的Gflops和推理吞吐量分别为373.3和每秒0.1张图像。而MAETok将Gflops降至48.5,将吞吐量提高到每秒3.12张图像。通过改进的收敛性,MAETok使得训练速度比REPA快了76倍,表现相当。
无条件生成 从我们的结果中得到的一个有趣观察是,与以前的方法相比,使用MAETok训练的扩散模型在没有CFG的情况下通常展现出显著更好的生成性能,同时在使用CFG时性能差距较小。我们推测原因是,无条件类别也学习了潜在空间中的语义,如表5中的无条件生成性能所示。随着潜在空间变得更加区分性,无条件生成性能也显著提高。这意味着CFG线性组合方案可能变得不那么有效,这与我们在附录C.2中提供的CFG调优结果一致。
结论
本文对扩散模型的潜在空间特性进行了理论和实证分析,证明了潜在分布中较少的模式有助于更有效的学习和更好的生成质量。基于这些见解,我们开发了MAETok,它通过mask建模实现了最先进的性能,而无需使用变分约束。仅使用128个token,本文的方法显著提高了ImageNet上的计算效率和生成质量。研究结果表明,具有更强区分性的潜在空间,而非变分约束,是有效的扩散模型的关键,为大规模高效生成建模开辟了新的方向。
参考文献
[1] Masked Autoencoders Are Effective Tokenizers for Diffusion Models
相关文章:
仅128个token达到ImageNet生成SOTA性能!MAETok:有效的扩散模型的关键是什么?(卡内基梅隆港大等)
论文链接:https://arxiv.org/pdf/2502.03444 项目链接:https://github.com/Hhhhhhao/continuous_tokenizer 亮点直击 理论与实验分析:通过实验和理论分析建立了潜空间结构与扩散模型性能之间的联系。揭示了具有更少高斯混合模型(G…...
Listener监听器和Filter过滤器
一.监听器 1.是javaweb的三大组件之一,分别是Servlet程序,Listener监听器,Filter过滤器 2.Listener是JvaEE的规范,就是接口,监听器的作用就是监听某种变化(一般是对象创建/销毁,属性变化),触发对应方法完成相应的任务 3.ServletContextListener:/*当一个类实现了ServletContex…...
我的年度写作计划
目录 计算机经典四件 数据结构 计算机网络体系 经典操作系统与计算机架构 嵌入式领域笔记 其他部分 私货部分 笔者打算在这里理一下今年的写作计划,如下所示: 计算机经典四件 数据结构 笔者因为冲刺面试需要,还是要更加扎实的掌握自…...
kafka专栏解读
kafka专栏文章的编写将根据kafka架构进行编写,即先编辑kafka生产者相关的内容,再编写kafka服务端的内容(这部分是核心,内容较多,包含kafka分区管理、日志存储、延时操作、控制器、可靠性等),最后…...
数据库操作与数据管理——Rust 与 SQLite 的集成
第六章:数据库操作与数据管理 第一节:Rust 与 SQLite 的集成 在本节中,我们将深入探讨如何在 Rust 中使用 SQLite 数据库,涵盖从基本的 CRUD 操作到事务处理、数据模型的构建、性能优化以及安全性考虑等方面。SQLite 是一个轻量…...
Linux文件目录基本操作
目录 目录概述相关操作函数相关数据结构体说明 目录概述 什么是目录? 在linux操作系统中其实目录也是一种文件,相对于普通文件,它的存储内容不同,它的存储内容主要是当前目录下的文件以及子目录文件信息。目录就像是一颗大树&a…...
TaskBuilder项目实战:创建项目
用TaskBuilder开发应用系统的第一步就是创建项目,项目可以是一个简单的功能模块,也可以是很多功能模块的集合,具体怎么划分看各位的实际需要,我们一般会将相互关联比较紧密的一组功能模块放到一个独立的项目内,以便打包…...
使用DeepSeek的技巧笔记
来源:新年逼自己一把,学会使用DeepSeek R1_哔哩哔哩_bilibili 前言 对于DeepSeek而言,我们不再需要那么多的提示词技巧,但还是要有两个注意点:你需要理解大语言模型的工作原理与局限,这能帮助你更好的知道AI可完成任务…...
使用Python实现PDF与SVG相互转换
目录 使用工具 使用Python将SVG转换为PDF 使用Python将SVG添加到现有PDF中 使用Python将PDF转换为SVG 使用Python将PDF的特定页面转换为SVG SVG(可缩放矢量图形)和PDF(便携式文档格式)是两种常见且广泛使用的文件格式。SVG是…...
idea整合deepseek实现AI辅助编程
1.File->Settings 2.安装插件codegpt 3.注册deepseek开发者账号,DeepSeek开放平台 4.按下图指示创建API KEY 5.回到idea配置api信息,File->Settings->Tools->CodeGPT->Providers->Custom OpenAI API key填写deepseek的api key Chat…...
java文件上传粗糙版
粗糙版图片上传 1.导入依赖 <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.2</version> </dependency> 2.配置minio地址跟对应的桶 业务层实现类 import io.minio.MinioClient; /…...
一种基于Leaflet.Legend的图例动态更新方法
目录 前言 一、场景再现 1、需求描述 2、核心方法介绍 3、存在的问题 二、问题解决 1、重复解决办法 2、图例不展示解决办法 3、成果展示 三、总结 前言 在当今数字化时代,地理信息系统(GIS)技术已经广泛应用于各个领域,…...
Vue Dom截图插件,截图转Base64 html2canvas
安装插件 npm install html2canvas --save插件使用 <template><div style"padding: 10px;"><div ref"imageTofile" class"box">发生什么事了</div><button click"toImage" style"margin: 10px;&quo…...
安宝特方案 | AR眼镜:远程医疗的“时空折叠者”,如何为生命争夺每一分钟?
行业痛点:当“千里求医”遇上“资源鸿沟” 20世纪50年代,远程会诊的诞生曾让医疗界为之一振——患者不必跨越山河,专家无需舟车劳顿,一根电话线、一张传真纸便能架起问诊的桥梁。然而,传统远程医疗的局限也日益凸显&a…...
【人工智能】Python中的序列到序列(Seq2Seq)模型:实现机器翻译
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 序列到序列(Seq2Seq)模型是自然语言处理(NLP)中一项核心技术,广泛应用于机器翻译、语音识别、文本摘要等任务。本文深入探讨Seq2Seq模…...
【批量获取图片信息】批量获取图片尺寸、海拔、分辨率、GPS经纬度、面积、位深度、等图片属性里的详细信息,提取出来后导出表格,基于WPF的详细解决方案
摄影工作室通常会有大量的图片素材,在进行图片整理和分类时,需要知道每张图片的尺寸、分辨率、GPS 经纬度(如果拍摄时记录了)等信息,以便更好地管理图片资源,比如根据图片尺寸和分辨率决定哪些图片适合用于…...
关于32位和64位程序的传参方法及虚拟机调试工具总结
一、传参方法对比 1. 32位程序 系统调用 (Linux) 使用int 0x80指令触发系统调用 寄存器传参顺序: eax 系统调用号 ebx 第1个参数 ecx 第2个参数 edx 第3个参数 esi 第4个参数 edi 第5个参数 普通函数调用 (C语言) 栈传递参数:参数从右向左压栈…...
【Windows】PowerShell 缓存区大小调节
PowerShell 缓存区大小调节 方式1 打开powershell 窗口属性调节方式2,修改 PowerShell 配置文件 方式1 打开powershell 窗口属性调节 打开 CMD(按 Win R,输入 cmd)。右键标题栏 → 选择 属性(Properties)…...
查看云机器的一些常用配置
云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes常…...
约克VRF|冬日舒适新标杆,温暖每一寸空间
冬天来了,谁不想窝在家里,一边温暖舒适,一边畅享清新空气? 约克VRF中央空调——用科技为你打造全方位的冬季理想生活! 地暖空调二合一,暖从足起,养生更健康~ 普通取…...
【AI学习】关于 DeepSeek-R1的几个流程图
遇见关于DeepSeek-R1的几个流程图,清晰易懂形象直观,记录于此。 流程图一 来自文章《Understanding Reasoning LLMs》, 文章链接:https://magazine.sebastianraschka.com/p/understanding-reasoning-llms?continueFlagaf07b1a0…...
CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据)
代码地址:CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据) 标题:CNN卷积神经网络多变量多步预测,光伏功率预测 一、引言 1.1 研究背景及意义 随着全球能源危机的加剧和环保意识的提升ÿ…...
mapbox进阶,添加绘图扩展插件,绘制圆形
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️MapboxDraw 绘图控件二、🍀添加绘图扩…...
学习TCL脚本基础语法的几个步骤?
文章目录 前言1. 命令和参数1.1 Tcl 命令的基本结构1.2 示例1.2.1 puts 命令1.2.2 set 命令1.2.3 if 命令1.2.4 foreach 命令 1.3 参数的类型1.3.1 字符串1.3.2 变量1.3.3 表达式1.3.4 列表1.3.5 字典 1.4 命令的嵌套 二、变量1. 声明变量2. 使用变量3. 变量类型3.1 字符串3.2 …...
move_base全局路径规划震荡之参数调优
在使用 move_base 进行导航时,如果全局路径规划在遇到障碍物时频繁在障碍物左右两侧跳变,导致机器人绕障失败,通常可以通过调整参数优化来解决。以下是具体原因分析和解决方案: 问题原因分析: 全局路径规划的震荡&…...
Could not create task ‘:mainActivity:minifyReleaseWithR8‘.
最近接收了一个老项目,把项目clone下来后,总是报错,无法运行 Build-tool 33.0.1 is missing DX at D:\Android\Sdk\build-tools\33.0.1\dx.batFAILURE: Build failed with an exception.* What went wrong: Could not determine the depende…...
保姆级教程Docker部署Zookeeper官方镜像
目录 1、安装Docker及可视化工具 2、创建挂载目录 3、运行Zookeeper容器 4、Compose运行Zookeeper容器 5、查看Zookeeper运行状态 6、验证Zookeeper是否正常运行 1、安装Docker及可视化工具 Docker及可视化工具的安装可参考:Ubuntu上安装 Docker及可视化管理…...
人工智能-A* 算法与机器学习算法结合
以下将为你展示如何将 A* 算法与机器学习算法(这里以简单的神经网络为例)结合实现路径规划。我们会先使用 A* 算法生成一些路径规划数据,然后用这些数据训练一个简单的神经网络,让神经网络学习如何预测路径。最后,将训…...
如何在Python中使用Requests库?
在Python中,网络请求处理是很多应用开发中的常见需求。Requests库作为Python中最常用的第三方库之一,它能够简化HTTP请求的发送和响应的处理。无论是获取网页内容、与API接口交互,还是提交表单数据,Requests都可以帮助开发者轻松实…...
通过命令行运行py文件与通过ide运行py文件,对文件中模块的引用方式的影响
通过命令行运行 Python 文件和通过 IDE 运行 Python 文件时,模块的引用方式 会受到一些影响,主要体现在 工作目录 和 模块导入路径(sys.path)的设置上。下面详细介绍这两种方式的区别和它们如何影响模块引用。 1. 通过命令行运行…...
如何避免大语言模型中涉及丢番图方程的问题
希尔伯特第十问题是一个著名的数学问题,涉及不定方程(又称为丢番图方程)的可解答性。然而在大模型中,我们希望问题都是确定的可解的,或者说要尽可能的想办法避免不确定的不可解问题。由于丢番图方程问题是不可判定问题(即不存在一个有效的算法能够解决该类问题的所有实例…...
重新刷题求职2-DAY7
1.454. 四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1: 输入&#…...
Day 32 卡玛笔记
这是基于代码随想录的每日打卡 455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸ÿ…...
android studio无痛入门
在Android Studio中创建和管理项目主要涉及以下几个步骤: 1. 创建新项目 打开Android Studio,点击“Start a new Android Studio project”或者“File” > “New” > “New Project”。 选择一个模板,例如“Empty Activity”࿰…...
flutter安卓打包签名
flutter安卓打包签名 1.创建签名文件 keytool -genkeypair -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-aliaskeytool 是一个用于管理密钥和证书的命令行工具,通常与 Java 开发工具包 (JDK) 一起使用。my-release-…...
Windows编程:下载与安装 Visual Studio 2019
本节前言 在写作本节的时候,本来呢,我正在写的专栏,是 MFC 专栏。而 VS2010 和 VS2019,正是 MFC 学习与开发中,可以使用的两款软件。然而呢,如果你去学习 Windows API 知识的话,那么࿰…...
ElementUI的<el-image>组件引用网络图片加载失败
1. 验证图片 URL 是否有效 直接访问图片链接,确保 URL 正确且可公开访问 如果浏览器无法加载图片,可能是图片服务器限制了外链或已失效。 解决方法:更换为可用的图片 URL。 2. 检查浏览器开发者工具 打开浏览器开发者工具(F12…...
GitHub Pages + Jekyll 博客搭建指南(静态网站)
目录 🚀 静态网站及其生成工具指南🌍 什么是静态网站?📌 静态网站的优势⚖️ 静态网站 VS 动态网站 🚀 常见的静态网站生成器对比🛠️ 使用 GitHub Pages Jekyll 搭建个人博客📌 1. 创建 GitHu…...
idea项目列表不出现,展示loading
2025年02月08 11:23:36 星期六 发生在webstorm中,跟其他idea类似 原因是将 ignore 插件升级到 4.5.5 版本 https://github.com/JetBrains/idea-gitignore/pull/933 解决方案:将ignore版本将为 4.5.4 我是将 4.5.5 降低为 4.5.4 正常显示文件夹了。...
多智能体协作架构模式:驱动传统公司向AI智能公司转型
前言 在数字化浪潮的席卷下,传统公司的运营模式正面临着前所未有的挑战。随着市场竞争的日益激烈,客户需求的快速变化以及业务复杂度的不断攀升,传统公司在缺乏 AI 技术支撑的情况下,暴露出诸多痛点。在决策层面,由于…...
新增md、html压缩文档上传,开放接口访问密钥改为多个,zyplayer-doc 2.4.7 发布啦!
zyplayer-doc是一款适合企业和个人使用的WIKI知识库管理工具,支持在线编辑富文本、Markdown、表格、Office文档、API接口、思维导图、Drawio以及任意的文本文件,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,支持以内…...
w~Transformer~合集5
我自己的原文哦~ https://blog.51cto.com/whaosoft/12406495 #transformer~x1 太可怕了都到6了 太强~~ DeepMind 表示,他们提出的算法蒸馏(AD)是首个通过对具有模仿损失的离线数据进行顺序建模以展示上下文强化学习的方法。同时基于观察…...
Dubbo 3.x源码(29)—Dubbo Consumer服务调用源码(1)服务调用入口
基于Dubbo 3.1,详细介绍了Dubbo Consumer服务调用源码。 此前我们学习了Dubbo服务的导出和引入的源码,现在我们来学习Dubbo服务调用的源码。 此前的文章中我们讲过了最上层代理的调用逻辑(服务引用bean的获取以及懒加载原理):业务引入的接口…...
Linux内核同步机制:确保系统稳定与高效
在复杂而庞大的 Linux 系统世界中,内核就如同一位有条不紊的指挥官,协调着各种任务和资源的分配。而其中,内核同步机制则是确保整个系统稳定与高效运行的关键要素。想象一下,众多的进程和线程在 Linux 内核的舞台上同时登场&#…...
firebase简介
Firebase 是一个由 Google 提供的移动应用开发平台,旨在帮助开发者快速构建和管理应用程序。它提供了一系列强大的工具和服务,特别适合用于开发和管理 Web 和移动应用。以下是 Firebase 的一些核心功能: 实时数据库:Firebase 提供…...
利用Termux在安卓手机中安装 PostgreSQL
利用Termux在安卓手机中安装 PostgreSQL ⬇️Termux下载 点击下载 在 Termux 中安装 PostgreSQL 可以按照以下步骤进行: 1. 更新 Termux 包管理器 先更新软件包列表和已安装的软件包: pkg update && pkg upgrade -y2. 安装 PostgreSQL 使…...
windows安装WSL完整指南
本文首先介绍WSL,然后一步一步安装WSL及Ubuntu系统,最后讲解如何在两个系统之间访问和共享文件信息。通过学习该完整指南,能帮助你快速安装WSL,解决安装和使用过程中的常见问题。 理解WSL(Windows Subsystem for Linux…...
Windows Docker笔记-安装docker
安装环境 操作系统:Windows 11 家庭中文版 docker版本:Docker Desktop version: 4.36.0 (175267) 注意: Docker Desktop 支持以下Windows操作系统: 支持的版本:Windows 10(家庭版、专业版、企业版、教育…...
ReactNative进阶(五十九):存量 react-native 项目适配 HarmonyOS NEXT
文章目录 一、前言二、ohos_react_native2.1 Fabric2.2 TurboModule2.2.1 ArkTSTurboModule2.2.2 cxxTurboModule: 三、拓展阅读 一、前言 2024年10月22日19:00,华为在深圳举办“原生鸿蒙之夜暨华为全场景新品发布会”,主题为“星河璀璨&…...
[x86 ubuntu22.04]进入S4失败
目录 1 问题描述 2 解决过程 2.1 查看内核日志 2.2 新建一个交换分区 2.3 指定交换分区的位置 1 问题描述 CPU:G6900E OS:ubuntu22.04 Kernel:6.8.0-49-generic 使用“echo disk > /sys/power/state”命令进入 S4,但是无法…...