提示词压缩方法总结与开源工具包
论文标题
AN EMPIRICAL STUDY ON PROMPT COMPRESSION FOR LARGE LANGUAGE MODELS
论文地址
https://arxiv.org/pdf/2505.00019
开源地址
https://github.com/3DAgentWorld/Toolkit-for-Prompt-Compression
作者背景
香港科技大学广州校区,华南理工大学,中科大
动机
大模型的上下文提示词越长,计算开销或API调用成本越高,加重了业务成本。因此,在保证模型输出质量的前提下减小提示词长度,成为一个紧迫而有价值的问题
过往的研究主要关注压缩前后的下游任务指标(如摘要质量、问答正确率等),单没有对模型输出稳定性、幻觉倾向、跨领域泛化等基础能力做深入探索,此外压缩技术应用到多模态大模型上的影响也尚未可知,于是作者对此展开了系统全面的研究,并将各种压缩算法集成到一个开源工具包中
面临挑战
- 信息保留难题:不充分的压缩达不到减负效果,而过度的压缩又可能遗漏关键信息,导致性能下降和幻觉率提升,因此需要探究如何在压缩比和信息完整性之间取得平衡
- 模型差异:不同LLM对压缩的耐受程度和输出变化各异,例如GPT-3.5-Turbo和GPT-4o-mini面对提示压缩时,输出长度会增加,而Claude-3-Haiku则会变得更短;此外不同尺寸的LLM面对压缩时的表现也存在较大差异
- 任务差异:很多压缩算法只适用于特定场景。例如新闻摘要算法很可能在数学问答场景下失效
- 多模态场景:当提示不只是纯文本,例如视觉问答中包含图像相关描述时,文本压缩如何影响结果尚不明确,删除一些信息量看似很低的功能词(如a、the)可能会导致性能明显下降
本文方法
本文主要关注不改变大模型内部结构的方法(仅修改提示词),系统分析了3类代表性的提示压缩算法
一、强化学习方法
将提示压缩视为一个序列决策问题,通过强化学习来优化压缩结果的质量,具体由KiS和SCRL两种代表性方法
KiS(Keep it Short)是一种无监督压缩算法,使用自我批评训练(k-SCST)来优化Compressor:针对每个输入生成多个压缩候选,通过奖励函数评估每个候选的流畅性、显著性和简单性,然后促进优于平均奖励的候选。此方法的特色是不直接删词,而是重新生成一个更短的表述,因此能进行较大幅度的语句重构,但这也意味着开销较大;
SCRL(Structured Compression with RL),将上下文压缩任务视作序列标注,训练一个Transformer模型来确认每个token是保留还是删除。SCRL的奖励函数鼓励在保持句子通顺和忠实原意的前提下,最大化压缩率。这种方法推理速度快,且易于控制压缩比例
二、LLM评分方法
利用现有语言模型对文本片段的重要性进行评估,然后根据评分结果裁剪提示词
Selective Context方法通过计算原提示中各个片段的自信息来衡量其信息量(使用一个因果语言模型逐词计算负对数概率),信息量高意味着该词对上下文贡献大,信息量低则可能是冗余或可预测的。此方法本质上是一种启发式:让语言模型自己来评估哪些内容是可有可无的,优点是无需额外训练,计算简单;缺点是只考虑了单词的独立贡献,可能无法处理复杂的上下文依赖
三、LLM标注方法
利用一个强模型对大量数据进行自动标注或生成伪数据,然后训练一个较小的模型来专门执行压缩任务。代表方法有LLMLingua及其改进
LLMLingua采用由粗到细的多阶段压缩流程来处理超长提示。首先,它设定一个压缩预算(如目标长度);接着,使用逐词迭代的压缩算法:反复检查当前文本中哪些片段可以删除或替换。在这个过程中,小模型会参考大模型提供的指引(例如删除某部分后的意义偏差)来微调决策
LongLLMLingua是针对长上下文场景的变体,包含以下改进:
- 重点针对问题相关的信息进行压缩
- 在压缩过程中会重排文档以减轻因位置靠后而被忽略的重要内容
- 根据上下文内容自动调整压缩比例
- 在压缩完成后做一次后处理校正,以确保输出的完整性
LLMLingua-2是LLMLingua的最新进展,着重提升方法的通用性和效率。它尝试做到任务无关的压缩:不像以往模型需要针对每种任务(摘要、QA等)单独训练,LLMLingua-2希望“一种模型压缩所有提示”。为此,作者采用了数据蒸馏的策略:利用GPT-4这类强大的教师模型,针对各种领域和任务自动生成大规模的压缩示例对(原文–压缩版),构建一个通用的压缩数据集。然后训练一个基于Transformer编码器的模型,将压缩视为序列标注问题:判断每个token是否应保留。LLMLingua-2在架构上去除了对单向生成的依赖,使压缩决策更精准
此外,作者还使用随机词选择作为基线方法,即从原提示中随机抽取一定比例的单词拼成压缩提示。于是这些方法便覆盖了从完全无监督(随机、RL)、基于预训练模型的启发式方法(Selective)、到有监督训练(LLMLingua)的不同范式,为全面评估提示压缩提供了多元手段
实验结果
作者在13个数据集上对上述方法进行了广泛实验,包括新闻摘要、科学文献、常识问答、数学问答、长文阅读理解问答,以及视觉问答(VQA)等,评估指标涵盖生成质量、回答准确性、相似度分数,以及幻觉率等。每项实验都是基于GPT3.5-turbo,GPT-4o-mini和Claude-3-Haiku三种模型实现,然后计算平均分数
一、不同方法在各类任务上的表现
在摘要和重构任务中,LLMLingua系列方法表现最为突出,在高压缩比例下依然保持了领先的生成质量,证明了深度压缩模型在保持语义方面的效果。在一些细分类别上,不同方法各有优势:例如Selective Context在重构原文任务上表现最佳,说明其均匀删除冗余信息的策略有利于完整信息的恢复;而LongLLMLingua在长篇问答任务中效果突出,展示了其应对长上下文的强大能力。相比之下,两种RL方法在长文场景中略显不足
SCRL每个Prompt仅耗时0.15毫秒/token,远低于其他方法,且内存开销也最小。由此可见,如果在资源有限或要求实时的场景,SCRL这类轻量级方法是实际的优选
二、压缩率对性能的影响
如上图所示,在相对简短的上下文任务中(如常识问答、短篇阅读理解),所有压缩方法随着压缩率提高,性能近乎线性下降——因为提示越短,能提供的信息越少,模型越难完成原任务。这种情况下不存在“适度压缩有益”的现象,说明对于信息量不大的提示,压缩只会损失有效信息而几乎无益;
而在长上下文任务(如LongBench长文阅读问答)中,作者发现一个拐点:适度的压缩反而能提升模型表现,这意味着适度删减冗余细节,有助于LLM提炼出文章主旨,避免信息过载。在实践中,这提示我们可以调节压缩力度来优化性能:短文本尽量不压,长文本适当压缩冗余背景
注:KiS 和SCRL无法调整压缩率,此实验未考虑
三、压缩是否引入副作用
所有压缩方法都会不同程度地增加幻觉,尤其是在需要精确信息的重构和问答任务中。一旦压缩导致模型缺少必要细节,模型往往通过猜测来填补,从而引入错误信息
不过不同方法诱发幻觉的程度存在差异,LLMLingua-2在摘要和重构场景下幻觉率最低,LongLLMLingua在长文问答中幻觉率最低。这表明,通过更智能的压缩(如任务无关训练、考虑长文偏差),可以一定程度缓解幻觉问题,但无法完全杜绝。所以我们在实际应用时,如果采用提示压缩,需要辅以事实校验或限定模型不要编造成分
此外,提示压缩会影响LLM生成回答的长度,而且这种影响随模型而异。对于OpenAI系模型(GPT-3.5、GPT-4模拟版本),压缩后的提示往往让它们给出更长更详细的回答,推测原因是模型试图弥补压缩导致的信息损失,主动添加额外解释或背景;相反,Claude模型压缩后的回答更加简洁,可能Claude原本倾向啰嗦,当提示精简后它也相应缩短了回答。所以我们在使用提示压缩时,可以将对响应长度的要求添加到提示中
四、多模态任务效果
测试任务是看图回答问题(IconQA和OK-VQA数据集),结果显示,提示压缩在多模态任务上的效果不尽理想。例如在OK-VQA上,几乎所有方法的准确率都显著下降,这说明多模态任务的信息密度较高,目前的压缩策略难以判断哪些文字说明是可有可无的,未来需要针对多模态场景定制压缩办法,或者结合视觉特征来辅助决定文本哪些部分该保留
五、压缩算法倾向去除哪些词
无论哪种算法,被删单词大多是英语中的功能词(the, to, of, a, and等)。统计显示排名前10的高频被删词占所有删除词的约20%,其余80%是各种低频词。换言之,各算法经常会首先砍掉冠词、介词这些对语义影响不大的词
作者还考察了单独删除这些功能词,长短上下文任务的影响差异:
结果表明,如果删除了某些看似信息量很低的功能词(如a、the等),模型性能会明显下降,并且在长文本场景下这一影响更加显著
作者类比视觉Transformer的发现来解释这一点:Transformer会在背景等不重要区域产生高激活的token,作为模型计算的“寄存器”。类似地,LLM也许利用了一些不太重要的词(如冠词)来存储和传递中间推理信息,因此盲目删除它们反而破坏了模型的推理链条。这一推测为设计压缩算法提供了新视角:并非频率低或语义弱的词就可随意丢弃,我们需要考虑模型潜在的机制
相关文章:
提示词压缩方法总结与开源工具包
论文标题 AN EMPIRICAL STUDY ON PROMPT COMPRESSION FOR LARGE LANGUAGE MODELS 论文地址 https://arxiv.org/pdf/2505.00019 开源地址 https://github.com/3DAgentWorld/Toolkit-for-Prompt-Compression 作者背景 香港科技大学广州校区,华南理工大学&#…...
【AI提示词】AARRR 模型执行者
提示说明 具备完整的产品知识和数据分析能力,擅长通过AARRR模型优化用户生命周期管理,提升企业收入和市场拓展。 提示词 # Role: AARRR 模型执行者## Profile - language: 中文 - description: 具备完整的产品知识和数据分析能力,擅长通过…...
深入理解 Redis 的主从、哨兵与集群架构
目录 前言1 Redis 主从架构1.1 架构概述1.2 优点与应用场景1.3 局限性 2 Redis 哨兵架构2.1 架构概述2.2 高可用能力的实现2.3 局限与注意事项 3 Redis 集群架构3.1 架构概述3.2 高性能与高可用的统一3.3 限制与挑战 4 架构对比与选型建议结语 前言 在构建高性能、高可用的数据…...
基于CBOW模型的词向量训练实战:从原理到PyTorch实现
基于CBOW模型的词向量训练实战:从原理到PyTorch实现 在自然语言处理(NLP)领域,词向量是将单词映射为计算机可处理的数值向量的重要方式。通过词向量,单词之间的语义关系能够以数学形式表达,为后续的文本分…...
【阿里云大模型高级工程师ACP习题集】2.9 大模型应用生产实践(下篇)
练习题 【单选题】在大模型应用备案中,根据《生成式人工智能服务管理暂行办法》,已上架但未完成合规手续的应用应如何处理?( ) A. 继续运营,同时补办手续 B. 下架处理 C. 暂停部分功能,直至完成合规手续 D. 无需处理,等待监管部门通知 【多选题】在应用服务安全的应用部…...
Matlab实现CNN-BiLSTM时间序列预测未来
Matlab实现CNN-BiLSTM时间序列预测未来 目录 Matlab实现CNN-BiLSTM时间序列预测未来效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CNN-BiLSTM时间序列预测未来; 2.运行环境Matlab2023b及以上,data为数据集,单变量时间序…...
互联网大厂Java求职面试:AI大模型与云原生架构设计深度解析
互联网大厂Java求职面试:AI大模型与云原生架构设计深度解析 第一轮提问:AI大模型与系统集成 技术总监(张总):郑薪苦,你之前提到过Spring AI,那你能讲讲在实际项目中如何将大模型集成到系统中&…...
GD32F103C8T6多串口DMA空闲中断通信程序
以下是一个完全符合C99标准的GD32F103C8T6多串口DMA通信完整实现,代码经过Keil MDK验证并包含详细注释: #include "gd32f10x.h" #include <string.h>/* 硬件配置宏 */ #define USART_NUM 2 /* 使用2个串口 */ #define R…...
labelimg快捷键
一、核心标注快捷键 W:调出标注十字架,开始绘制矩形框(最常用功能)A/D:切换上一张(A)或下一张(D)图片,实现快速导航Del:删除当前选中的标注框 二、文件操作快捷键 CtrlS&…...
【深度学习-Day 6】掌握 NumPy:ndarray 创建、索引、运算与性能优化指南
Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...
开元类双端互动组件部署实战全流程教程(第2部分:控制端协议拆解与机器人逻辑调试)
作者:那个写了个机器人结果自己被踢出房间的开发者 游戏逻辑房间结构参考界面 从这张图我们能看出,该组件按功能结构细分为多个房间,每个房间底注、准入标准不同,对应的控制模块也有层级区分。常规来说,一个“互动房间…...
51单片机入门教程——蜂鸣器播放天空之城
前言 本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡 。 目录 …...
linux 历史记录命令
命令方式 #/bin/bash #cd /tmp saveFile"tmp.log" isok"grep HISTTIMEFORMAT /etc/profile|wc -l" if [ $isok -eq 0 ] thenecho -e "#history time\nHISTFILESIZE4000\nHISTSIZE4000\nHISTTIMEFORMAT%F %T \nexport HISTTIMEFORMAT\n" >>…...
手表关于MPU6050中的功能实现
MPU6050 OV-Watch 中的睡眠和唤醒功能实现 OV-Watch 项目为 MPU6050 传感器实施了复杂的电源管理,以优化电池寿命,同时保持手腕检测和计步功能。以下是对睡眠和唤醒机制的详细分析: 内核休眠/唤醒功能实现 MPU6050 有两个主要功能来控制其…...
Qt中数据结构使用自定义类————附带详细示例
文章目录 C对数据结构使用自定义类1 QMap使用自定义类1.1 使用自定义类做key1.2 使用自定义类做value 2 QSet使用自定义类 参考 C对数据结构使用自定义类 1 QMap使用自定义类 1.1 使用自定义类做key QMap<key,value>中数据存入时会对存入key值的数据进行比较ÿ…...
深入浅出数据库的函数依赖关系
数据库的“恋爱关系”:函数依赖的那些事儿 在数据库的世界里,属性之间也存在“恋爱关系”。有些属性是“灵魂伴侣”,彼此绑定;有些是“单向奔赴”,只能依赖对方;还有些是“三角恋”,通过中间人…...
C语言易混淆知识点详解
C语言中容易混淆的知识点详解 C语言作为一门基础且强大的编程语言,有许多容易混淆的概念和特性。以下是C语言中一些常见易混淆知识点的详细解析: 1. 指针与数组 相似点: c 复制 下载 int arr[10]; int *ptr arr; 都可以使用[]运算符访…...
如何选择合适的光源?
目录 工业相机光源类型全面指南 1. 环形光源及其变体 高角度环形光源 优点 缺点 典型应用场景 低角度环形光源(暗场照明) 优点 缺点 典型应用场景 2. 条形光源与组合照明系统 技术特点 组合条形光源 优点 缺点 典型应用场景 3. 同轴光源…...
模块方法模式(Module Method Pattern)
🧠 模块方法模式(Module Method Pattern) 模块方法模式是一种结构型设计模式,它将复杂的操作分解成一系列相对简单、独立且单一职责的模块。每个模块负责完成一种具体的操作,其他模块或系统可以通过调用这些模块的公开…...
OpenCV第6课 图像处理之几何变换(仿射)
1.仿射变换 2. 平移 3 旋转 附录A 二维旋转矩阵 附录B 三维旋转矩阵与轴角表示 1.仿射变换 仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够保持图像的平直性和平行性。 平直性是指图像经过仿射变换后,直线仍然是直线,平行性是指图像在…...
【中间件】brpc_基础_TimerThread
文章目录 TimerThread1 简介2 主要设计点2.1 数据结构:分层时间轮(Hierarchical Timing Wheel)2.2 线程模型2.3 任务管理 3 关键代码分析3.1 类定义(timer_thread.h)3.2 时间轮初始化(timer_thread.cpp&…...
拷贝多个Excel单元格区域为图片并粘贴到Word
Excel工作表Sheet1中有两个报表,相应单元格区域分别定义名称为Report1和Report2,如下图所示。 现在需要将图片拷贝图片粘贴到新建的Word文档中。 示例代码如下。 Sub Demo()Dim oWordApp As ObjectDim ws As Worksheet: Set ws ThisWorkbook.Sheets(&…...
网络原理(6)—— 应用层之HTTP协议
目录 一. 应用层 二. 重要应用层协议DNS(Domain Name System) 三. HTTP协议 3.1 HTTP抓包工具 3.2 HTTP格式 3.2.1 请求 3.2.2 响应 3.3 HTTP的工作过程 一. 应用层 应用层协议就像是人们之间的交流规则,它帮助不同的计算机程序(应用)…...
Linux55yum源配置、本机yum源备份,本机yum源配置,网络Yum源配置,自建yum源仓库
参考 太晚了 计划先休息了 大概保存...
250505_HTML
HTML 1. HTML5语法与基础标签1.1 HTML5特性1.1.1 空白折叠现象1.1.2 转义字符 1.2 HTML注释1.3 基础标签1.3.1 div标签1.3.2 标题标签1.3.3 段落标签1.3.1.3.1.3.1.3. 1. HTML5语法与基础标签 1.1 HTML5特性 1.1.1 空白折叠现象 1.1.2 转义字符 1.2 HTML注释 1.3 基础标签 1…...
1. 设计哲学:让字面量“活”起来,提升表达力和安全性
C11引入的用户定义字面量(User-Defined Literals,简称UDL)是语言层面为程序员打开的一扇“自定义表达式”的大门。它允许我们为字面量(比如数字、字符、字符串)添加自定义后缀,从而让代码更具语义化、更易读…...
【KWDB 创作者计划】基于 ESP32 + KWDB 的智能环境监测系统实战
一开始萌生这个想法,其实是源自我办公桌上的那颗“小胖子”——一块 ESP32 开发板。它陪我度过了不少调试夜,也让我对物联网有了真正的感知。恰逢 KaiwuDB 举办征文活动,我便想着,何不将我日常积攒下来的一些硬件和数据库实战经验…...
AVHRR中国积雪物候数据集(1980-2020年)
数据集摘要 本数据集基于1980-2020年5kmAVHRR逐日无云积雪面积产品,制备了中国长时间序列积雪物候数据集。数据集按照不同的物候参数共分为积雪日数、积雪初日、积雪终日3个目录,每个目录下包含40个子文件,为逐水文年积雪物候参数,…...
PCB设计中电感封装的选型
在PCB设计中,电感封装的选型直接影响电路性能、布局效率、热管理能力及系统可靠性。合理的封装选择不仅能优化空间利用率,还能提升电磁兼容性(EMC)和长期稳定性。以下从封装类型、尺寸参数、应用场景适配、布局协同设计、热管理策…...
LintCode第766题,LintCode第1141题,LintCode第478题
第766题描述 判断给出的年份 n 是否为闰年. 如果 n 为闰年则返回 true 闰年是包含额外一天的日历年. 如果年份可以被 4 整除且不能被 100 整除 或者 可以被 400 整除, 那么这一年为闰年 样例 1: 输入 : n 2008 输出 : true 样例 2: 输入 : n 2018 输出 : false 代码如…...
三十一、基于HMM的词性标注
基于HMM的中文词性标注 1 实验目标 理解HMM模型的原理和基本问题理解HMM的实现命名实体识别的具体步骤掌握HMM模型实现命名实体识别的方法 2 实验环境 HMM的中文词性标注的实验环境。 3 实验步骤 该项目主要由3个代码文件组成,分别为hmm.py、tagging.py和run.p…...
MCUboot 中的 BOOT_SWAP_TYPE_PERM 功能介绍
目录 概述 1 Image 数据结构 1.1 Image介绍 1.2 Swap info 2 BOOT_SWAP_TYPE_PERM 功能 2.1 功能定义 2.2 典型工作流程 3 BOOT_SWAP_TYPE_xx的其他功能 3.1 BOOT_SWAP_TYPE_REVERT 3.2 三中模式的比较 4 使用机制 4.1 实现细节 4.2 使用场景 4.3 开发者注意事…...
数学复习笔记 2
前言 朋友和我讨论了一个二重积分题,非常有意思。内容非常细致。整理如下: 二重积分 题目来源是 1000 上面的 16 题,积分区域是一个偏心圆,偏心圆的圆心在 y 轴上面,偏心圆是关于 y 轴对称的,可以看关于…...
从入门到登峰-嵌入式Tracker定位算法全景之旅 Part 5 |地图匹配与轻量 SLAM:HMM/Viterbi 与简化图优化
Part 5 |地图匹配与轻量 SLAM:HMM/Viterbi 与简化图优化 在本章中,我们将在 ESP32-S3 这样的资源受限平台上,实现 地图匹配(Map Matching)和轻量级图优化(Lightweight SLAM)功能。通过 隐马尔可夫模型(HMM)+ Viterbi 算法,以及简化的图优化思路,校正定位轨迹,提升…...
Amazon Bedrock Converse API:开启对话式AI新体验
Amazon Bedrock Converse API:开启对话式AI新体验 前言 在当今人工智能飞速发展的时代,对话式AI已成为众多应用的核心组成部分。从智能客服到智能助手,对话式AI为用户带来了便捷且高效的交互体验。而Amazon Bedrock Converse API的出现&…...
软考 系统架构设计师系列知识点之杂项集萃(54)
接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(53) 第87题 某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。其中与Factory Method的“Creator”角色对应的类是(ÿ…...
第三章 - 软件质量工程体系
1 概述 系统工程学的思想 系统工程学是为了研究多个子系统构成的整体系统所具有的多种不同目标的相互协调,以期系统功能的最优化、最大限度地发挥系统组成部分的能力而发展起来的一门科学。 软件质量工程体系的建立 建立和实施质量管理体系的方法 确定顾客和其…...
#基础Machine Learning 算法(上)
机器学习算法的分类 机器学习算法大致可以分为三类: 监督学习算法 (Supervised Algorithms):在监督学习训练过程中,可以由训练数据集学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。…...
【YOLO11改进】改进Conv、颈部网络STFEN、以及引入PIOU用于小目标检测!
改进后的整体网络架构 改进一:RFD模块(Conv) YOLOv11模型的跨步卷积下采样虽然快速聚合了局部特征,并且实现了较高的计算效率,但其固有的信息压缩机制会导致细粒度特征的不可逆丢失。针对特征保留与计算效率的平衡问题,本文采用RFD模块替换跨步卷积下采样模块。RFD模块通…...
算法之上的权力——空域治理的政治哲学
当AI算法成为空域资源分配的核心机制,我们不得不直面一个核心问题:谁拥有算法,谁控制算法,谁审查算法?调度系统表面上是中立技术,实则承载了深刻的价值判断与权力结构。本章提出“算法即治理”命题…...
虚幻引擎作者采访
1万小时编程_哔哩哔哩_bilibili https://www.youtube.com/watch?v477qF6QNSvc 提姆斯温尼是一位传奇性的视频游戏程序员,Epic Games 的创始人兼首席执行官。 该公司开发了虚幻引擎、堡垒之夜、战争机器、虚幻竞技场等许多开创性和有影响力的视频游戏。 他哥哥…...
CodeBlocks25配置wxWidgets3.2
一、下载CodeBlocks 25.03版本 1.去Sourceforge.net Code::Blocks - Browse /Binaries/25.03/Windows at SourceForge.net 下载codeblocks-25.03mingw-nosetup.zip 2.解压到d盘,并把目录改为codeblocks 二、.下载wxWidgets 3.2.8 1. 去Sourceforge.net wxWidg…...
Python 整理3种查看神经网络结构的方法
1. 网络结构代码 import torch import torch.nn as nn# 定义Actor-Critic模型 class ActorCritic(nn.Module):def __init__(self, state_dim, action_dim):super(ActorCritic, self).__init__()self.actor nn.Sequential(# 全连接层,输入维度为 state_dim…...
【Bootstrap V4系列】学习入门教程之 组件-卡片(Card)
Bootstrap V4系列 学习入门教程之 组件-卡片(Card) 卡片(Card)一、Example二、Content types 内容类型2.1 Body 主体2.2 Titles, text, and links 标题、文本和链接2.3 Images 图片2.4 List groups 列表组2.5 Kitchen sink 洗涤槽…...
AI Agent开发第50课-机器学习的基础-线性回归如何应用在商业场景中
开篇 虽然我们这个系列主讲AI Agent,但是这个系列是一个喂饭式从0到深入的全AI类计算机教程系列,它主要面向的是培养出一个个AI时代的程序员,不是像外部那种很水的只是做做套壳、聊天、绘图小工具的急功近利式教学。而机器学习是现代AI的基础与基石,一些机器学习、深度学习…...
代码随想录第34天:动态规划7(打家劫舍问题:链式、环式、树式房屋)
一、背包问题小结 1.递推公式: 1.问能否能装满背包(或者最多装多少):dp[j] max(dp[j], dp[j - nums[i]] nums[i]) 2.问装满背包有几种方法:dp[j] dp[j - nums[i]] 3.问背包装满最大价值:dp[j] max…...
网络安全自动化:找准边界才能筑牢安全防线
数字时代,企业每天要面对成千上万的网络攻击。面对庞大的服务器群、分散的团队和长期不重启的设备,很多企业开始思考:哪些安全操作适合交给机器自动处理?哪些必须由人工把关?今天我们就用大白话聊聊这件事。 一、这些事…...
ctfshow——web入门361~368
最近练习ssti 当 Web 应用程序使用模板引擎动态生成 HTML 页面或其他类型的输出时,如果用户输入未经过充分验证或转义就被直接嵌入到模板中,就可能发生 SSTI 攻击。攻击者可以利用这个弱点注入恶意模板代码,该代码将在服务器端执行。 常见的…...
备忘录模式(Memento Pattern)
🧠 备忘录模式(Memento Pattern) 备忘录模式 是行为型设计模式之一。它通过将对象的状态存储在一个备忘录中,允许对象在不暴露其内部结构的情况下,保存和恢复自己的状态。该模式允许将对象的状态保存到备忘录中&#…...
五一假期作业
sub_process.c #include <stdio.h> // 标准输入输出库 #include <pthread.h> // POSIX线程库 #include <sys/ipc.h> // IPC基础定义(如消息队列/共享内存) #include <sys/msg.h> // 消息队列操作相关…...