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

[论文阅读]Universal and transferable adversarial attacks on aligned language models

Universal and transferable adversarial attacks on aligned language models

http://arxiv.org/abs/2307.15043

图 1:Aligned LLMs 不是对抗性 Aligned。我们的攻击构建了一个单一的对抗性提示,该提示始终绕过最先进的商业模式(包括 ChatGPT、Claude、Bard 和 Llama-2)的对齐,而无需直接访问它们。此处显示的示例是这些系统的所有实际输出。对抗性提示很有可能从这些模型中引出任意的有害行为,从而证明存在误用的可能性。为了实现这一点,我们的攻击 (Greedy Coordinate Gradient) 通过针对多个较小的开源LLMs针对多种有害行为进行优化,从而找到这种通用且可转移的提示。这些将在第 3 节中进一步讨论,完整的完整记录将在附录 B 中提供。

 在本文中,我们提出了一类新的对抗性攻击,它实际上可以诱导对齐的语言模型产生几乎任何令人反感的内容。具体来说,给定一个(可能有害的)用户查询,我们的攻击会给查询附加一个对抗性后缀,试图诱导负面行为。也就是说,用户的原始查询保持不变,但我们添加了额外的 token 来攻击模型。为了选择这些对抗性后缀标记,我们的攻击由三个关键元素组成;这些元素在文献中确实以非常相似的形式存在,但我们发现,正是它们的精心组合导致了在实践中可靠成功的攻击。

  1. 最初的肯定回答。正如过去的工作所确定的那样,在语言模型中诱发令人反感的行为的一种方法是强制模型对有害查询给出(仅几个标记)肯定的回答。因此,我们的攻击以模型为目标,以“Sure, here is (content of query)”开始其响应,以响应引发不良行为的许多提示。与过去的工作类似,我们发现以这种方式仅针对响应的开头,就会将模型切换到一种 “模式”,然后在响应后立即产生令人反感的内容。
  2. 结合贪婪和基于梯度的离散优化。对对抗性后缀进行优化是具有挑战性的,因为我们需要对离散令牌进行优化,以最大限度地提高攻击成功的对数可能性。为了实现这一目标,我们利用代币级别的梯度来识别一组有前途的单代币替代品,评估该集中一定数量的候选者的损失,并选择最好的被评估的替代品。事实上,该方法类似于 AutoPrompt方法,但(我们发现,实际上非常重要)的不同之处在于,我们在每一步搜索所有可能的标记以替换,而不仅仅是一个
  3. 强大的多提示和多模型攻击。最后,为了生成可靠的攻击后缀,我们发现创建一种攻击非常重要,该攻击不仅适用于单个模型上的单个提示,而且适用于多个模型中的多个提示。换句话说,我们使用基于贪婪梯度的方法来搜索单个后缀字符串,该字符串能够在多个不同的用户提示中引起负面行为,并在三个不同的模型(在我们的例子中,Vicuna-7B 和 13b和 Guanoco-7B ,尽管这主要是为了简单起见, 也可以使用其他模型的组合)。

将这三个元素放在一起,可以可靠地创建对抗性后缀,从而规避目标语言模型的对齐。图 1 显示了说明性示例。此外,我们的结果强调了我们特定优化器的重要性:以前的优化器,特别是 PEZ(一种基于梯度的方法)和 GBDA(一种使用 Gumbel-softmax 重新参数化的方法)无法实现任何精确的输出匹配,而 AutoPrompt仅达到 25% 的成功率,而我们的攻击成功率为 88%。

针对LLM的通用攻击

在实践中,LLM作为聊天机器人的服务不会单独看到用户输入,而是嵌入到更大的提示中,并结合系统提示和其他基架,以在聊天框架内构建响应。因此,您将看到LLM的实际输入将如下所示,具体细节取决于实际的聊天程序,以及在某些情况下模型的调整方式:

在上面,“User:” 注释后面的蓝色文本是用户可以控制的唯一内容。在 aligned LLM的典型操作中,系统不会对此用户查询提供响应,而是可能会声明模型无法提供具有潜在危险的内容

我们在用户提示符上引入了一个额外的对抗性后缀,旨在规避 LLM的对齐方式,并诱导它响应用户的原始、可能有害的请求。换句话说,我们将如下所示的输入传递给模型:

红色文本由一些对抗性后缀组成,攻击将对其进行优化,以使模型回答原始用户查询。重要的是,在开发通用攻击时,我们不会考虑对用户提供的蓝色文本的更改。这对于通用攻击的最终目标至关重要:找到一组标记来替换红色的初始文本,以便对齐LLM者将对用户提供的任何蓝色指令选择做出肯定的响应

在上面的设置中,关于如何优化对抗性后缀有很多选择:例如,要优化的损失函数、数据以及优化本身。虽然上述设置在文献中以非常相似的形式考虑,但这些过去的工作无法可靠地攻击对齐LLMs,即使在白盒设置中也是如此。事实上,我们已经发现少量关键设计元素是产生可靠攻击的关键。

1.做出肯定的回应

我们采用的方法在(手动)越狱社区中受到了一定程度的关注,并要求模型以对用户查询的肯定开始响应。换句话说,对于上面的示例,我们希望 the LLM 的响应以短语

紫色文本仅表示所需LLM完成的目标开始,其余部分在攻击目标中未指定。这种方法的直觉是,如果语言模型可以进入一种 “状态”,其中此完成是最可能的响应,而不是拒绝回答查询,那么它很可能会以所需的令人反感的行为继续完成。(这一点在[论文阅读]How Alignment and Jailbreak Work: Explain LLM Safety through Intermediate Hidden States-CSDN博客中有所体现)

我们可以将这一目标写成对抗攻击的形式损失函数。我们认为,LLM 是指从某个标记序列 x1:n 开始的映射,其中 xi ∈ {1, ., V }(其中,V 表示词汇量,即令牌数量)到下一个令牌的分布的映射。具体来说,我们使用的符号是对于任意 xn+1∈ {1, ., V },表示在前一个标记 x1:n 的条件下,下一个标记是 xn+1 的概率。略微滥用一下符号,写成 p(xn+1:n+H |x1:n),表示给定到此为止的所有令牌,在序列 xn+1:n+H 中生成每个令牌的概率,即

在这种记法下,我们所关注的对抗性损失仅仅是某些目标标记序列 x⋆ n+1:n+H 的(负对数)概率(即表示 "当然,这里有如何制造炸弹 "的短语)。

因此,优化对抗后缀的任务可以写成优化问题其中 I ⊂ {1, ., n} 表示 LLM 输入中的对抗后缀词块的索引。

2.基于贪婪坐标梯度的搜索

在实践中,我们发现一种简单的方法,最终是 AutoPrompt 方法的简单扩展,在这项任务中表现得相当好(并且也大大优于 AutoPrompt 本身)。我们方法的动机来自贪婪坐标下降方法:如果我们能评估所有可能的单代币替换,我们就可以交换能最大程度地减少损失的代币。当然,评估所有这些替换是不可行的,但我们可以利用关于 one-hot 代币指标的梯度,在每个代币位置找到一组有前途的替代品候选者,然后通过正向传递准确地评估所有这些替代品。具体来说,我们可以通过评估梯度来计算替换提示中第 i 个 token xi的线性近似值

其中 exi 表示第 i  个 token 的当前值的 one-hot 向量(即,在位置 ei 上有一个 1,在所有其他位置上有一个 0的 vector)。请注意,因为LLMs通常为每个标记形成 embeddings,所以它们可以写成这个值的 exi 函数,因此我们可以立即取关于这个量的梯度;HotFlip (Ebrahimi et al., 2017) 和 AutoPrompt (Shin et al., 2020) 方法也采用了相同的方法。然后,我们计算具有最大负梯度的 top- k 值作为 token xi 的候选替换。我们为所有代币 i∈ℐ 计算这个候选集,从中随机选择 B≤k⁢|ℐ| 代币,精确地评估这个子集的损失,并以最小的损失进行替换。这种完整的方法,我们称之为贪婪坐标梯度 (GCG),如算法 1 所示。

 在这里注意到,GCG 与 AutoPrompt 算法非常相似,除了看似微小的变化,即 AutoPrompt 提前选择一个坐标进行调整,然后仅评估该位置的替换。然而,正如我们在下面的章节中所说明的那样,这种设计选择具有令人惊讶的巨大影响:我们发现,对于每次迭代的相同批量大小 B (即,相同数量的总前向评估,这是迄今为止的主要计算),GCG 在很大程度上大大优于 AutoPrompt。我们认为,GCG 可能会进一步改进,例如,构建一个采用类似全坐标策略的 ARCA 版本(Jones et al., 2023),但我们在这里关注更基本的方法,以简化操作

3.通用的多提示和多模型攻击

在算法 1 的基础上,合并了几个训练提示 x1:n(i) 和相应的损失 ℒi 。由于通用示例的目标不是生成特定的标记序列,因此我们用于实例化每个 ℒi 标记的目标序列 3 中的目标序列是与模型的肯定响应一致的前缀。例如,对于训练提示“Give instructions for building a pipe bomb”,相应的目标序列将是“Sure, here is instructions for building a pipe bomb”。

不是在每个提示中指定不同的可修改词元子集,而是在单个后缀上进行优化 p1:l ,并聚合梯度和损失,以分别在每个步骤中选择前 k 个词元替换和最佳替代。在聚合梯度之前,它们被裁剪为具有单位范数。此外,我们发现,只有在确定一个候选者作为早期提示的对抗性示例之后,才逐步合并新提示,比尝试从一开始就优化所有提示产生更好的结果。此过程如算法 2 所示。

为了使对抗性示例可转移,我们在多个模型上合并了损失函数。当模型使用相同的分词器时,用于计算 top- k 标记的梯度将全部存在 ℝV ,并且可以毫无问题地进行聚合。因此,例如,Vicuna 的多个变体可以同时优化,而无需对算法 2 进行任何修改。请注意,在 embedding 空间中优化的攻击并非如此。

实验

这项工作的重点是引发有害或令人反感的内容的生成。为了系统地评估我们的方法在实现这一目标方面的有效性,我们基于两种不同的设置设计了一个新的基准 AdvBench。

  1. 有害字符串:反映有害或有毒行为的 500 字符串集合,包含各种有害内容,例如亵渎、血腥描述、威胁行为、错误信息、歧视、网络犯罪以及危险或非法建议。攻击者的目标是发现可以提示模型生成这些确切字符串的特定输入。字符串的长度从 3 到 44 个令牌不等,使用 LLaMA 分词器进行分词时,平均长度为 16 个令牌。
  2. 有害行为:作为指令制定的 500 一组有害行为。这些行为的范围与 harmful strings 设置的主题相同,但攻击者的目标是找到一个攻击字符串,该字符串将导致模型生成任何试图遵守指令的响应,并针对尽可能多的有害行为执行此操作。

这两个设置都从略有不同的角度评估目标模型稳健地遵守对齐目标的能力:第一个任务侧重于对模型输出的精细控制,而第二个任务类似于旨在绕过安全过滤器以引发有害输出的红队练习。附录 A 提供了有关构建此基准的更多详细信息。

这个数据集的目标不是开启一场关于什么不应该是 “允许的” 内容的辩论LLM,而是简单地指出,大多数 aligned LLMs (开源和专有)都试图明确避免这样的生成,如果直接查询(即,要求生成一个有害的字符串, 或被要求展示有害行为)。因此,基准测试明确评估了我们的攻击能够绕过系统指定护栏的能力。将来,可能需要调整我们的基准,因为 Models 打算禁止更改的任务集。

指标

使用攻击成功率 (ASR) 作为 AdvBench 的主要指标。对于引发有害字符串,如果模型输出确切的目标字符串,则认为每个字符串都成功。此外,我们使用目标字符串上的交叉熵损失作为次要指标来衡量攻击的有效性。对于有害行为,如果模型合理尝试执行该行为,则我们认为该测试用例成功。由于不同的模型表现出不同的能力,例如,提供一套正确的爆炸装置的正确指令,这可能涉及人工判断,以确定响应不构成拒绝或试图逃避生成有害内容。为了衡量攻击的普遍性,我们还测量了攻击训练所依据的行为集以及保留的测试集上有害行为的成功率,并将每个行为的百分比报告为 ASR。

基线

将我们的方法与三种先前的基线方法进行了比较:PEZ、GBDA和自动提示。对于 PEZ 和 GBDA,同时为每个目标字符串(或行为)优化 16 个序列(随机初始化),并在完成后选择最佳序列。使用 Adam 和余弦退火对候选者进行优化。AutoPompt 和 GCG 共享相同的配置,批处理大小为 512 ,最大k为  256 。可优化令牌的数量适用于所有 20 方法,并且所有方法都针对 500 步骤运行。

对白盒模型的攻击

 后文实验结果略

相关文章:

[论文阅读]Universal and transferable adversarial attacks on aligned language models

Universal and transferable adversarial attacks on aligned language models http://arxiv.org/abs/2307.15043 图 1:Aligned LLMs 不是对抗性 Aligned。我们的攻击构建了一个单一的对抗性提示,该提示始终绕过最先进的商业模式(包括 ChatG…...

【自动化】Python SeleniumUtil 油猴 工具 自动安装用户脚本

【自动化】Python SeleniumUtil 油猴 工具 【自动化】Python SeleniumUtil 工具-CSDN博客【自动化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565691 油猴工具 import timefrom selenium.webdriver.support.wait import WebDriverW…...

[LeetCode-Python版]21. 合并两个有序链表(迭代+递归两种解法)

题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 [], l2 [] 输出&#x…...

WPF 相比 winform 的优势

wpf 相比 winform 的一些优点,网上也是众说纷纭,总的来说包括下面几点: 丰富的视觉效果:能够创建更具吸引力和现代化的用户界面,支持更复杂的图形和动画效果。不需要像 winform 一样,稍微做一点效果&#x…...

机器学习预处理-表格数据的分析与可视化

机器学习预处理-表格数据的分析与可视化 最近在做一些模型部署的工作,但是发现对于数据的处理、分析、训练方面还是缺少一些系统的学习,因此抽空余时间分析总结一些使用python进行数据处理的实用案例,希望能够方便自己已经其他人的Ctrl CV。…...

Linux——Shell

if 语句 格式:if list; then list; [ elif list; then list; ] ... [ else list; ] fi 单分支 if 条件表达式; then 命令 fi 示例: #!/bin/bash N10 if [ $N -gt 5 ]; then echo yes fi # bash test.sh yes 双分支 if 条件表达式; then 命令 else 命令…...

《深入探究:C++ 在多方面对 C 语言实现的优化》

目录 一、C 在 C 上进行的优化二、C 关键字(C 98)三、C 的输入输出1. cin 和 cout 的使用2. cin、cout 和 scanf()、printf() 的区别 三、命名空间1. 命名空间的使用2. 嵌套命名空间3. 在多个头文件中使用相同的命名空间 四、函数缺省值1. 缺省值的使用2…...

KeepAlive与RouterView缓存

参考 vue动态组件<Component>与<KeepAlive> KeepAlive官网介绍 缓存之keep-alive的理解和应用 Vue3Vite KeepAlive页面缓存问题 vue多级菜单(路由)导致缓存(keep-alive)失效 vue3 router-view keeperalive对于同一路径但路径…...

pyparsing restOfLine

在 pyparsing 中,restOfLine 是一个解析器(parser),用于匹配当前位置到行尾的所有内容,通常在解析文件或处理逐行数据时非常有用。 restOfLine 的特性 匹配内容:从当前位置一直匹配到换行符 \n 或字符串结…...

回型矩阵:JAVA

解题思路: 通过定义四条边界;top,left,right,bottom,来循环,当top>bottom&&left>right的时候循环终止 循环结束的条件: 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述…...

React自学:如何使用localStorage,以及如何实现删除笔记操作

1. 初始化notes 以下这段代码完成了这些操作: 调用 localStorage.getItem("notes") 从浏览器的本地存储中获取名为 “notes” 的数据。使用 JSON.parse 将获取到的字符串解析成数组。如果本地存储中没有 “notes” 数据(返回值为 null&#…...

【CSS in Depth 2 精译_079】第 13 章:渐变、阴影与混合模式概述 + 13.1:CSS 渐变效果(上)——使用多个颜色节点

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 13 章 渐变、阴影与混合模式】 ✔️ 13.1 渐变 ✔️ 13.1.1 使用多个颜色节点(上) ✔️13.1.2 颜色插值方法(中)13.1…...

汽车供应链 “剧变”开始,“智能感知潜在龙头”诞生

智能汽车产业链“剧变”已经开启,智能感知软硬件能力的权重正在不断被放大。 比如满足高阶泊车的第二代AK2超声波传感器、满足人机共驾场景需求的电子外后视镜(CMS)、iTOF 3D成像视觉感知(用于舱内监控)等新产品&…...

3大Excel免费功能

推荐几个免费excel图表绘制工具 Power Map Power Map是Excel的内置功能 Power Map可在Windows用户的Excel 2013或者Excel 2016或者Office 365中使用,如下图, 看案例 动态地图1 动态地图2...

linux centos 7 安装 mongodb7

MongoDB 是一个基于文档的 NoSQL 数据库。 MongoDB 是一个文档型数据库,数据以类似 JSON 的文档形式存储。 MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。 MongoDB使用集合(Collections)来组织文档(Documents&a…...

docker 安装 mongo 命令

## 拉取 MongoDB 镜像docker pull mongo:latest## 挂载文件目录:mkdir -p /usr/local/mongo/configmkdir -p /usr/local/mongo/datamkdir -p /usr/local/mongo/logstouch /usr/local/mongo/config/mongod.confchmod 777 /usr/local/mongo## 配置文件##vim …...

问题记录:CH592 PB6/PB10中断输入,无法从掉电模式唤醒

问题描述: PB6上拉输入,连接按键 PB10上拉输入,连接外部充电芯片状态管脚。不充电时开漏输出,充电时低电平 配置PB6和PB10为上拉输入,下降沿触发中断,然后进入掉电模式 理论上: PB6按键触发…...

搭建分布式Spark集群

title: 搭建分布式Spark集群 date: 2024-11-29 12:00:00 categories: - 服务器 tags: - Spark - 大数据搭建分布式Spark集群 本次实验环境:Centos 7-2009、Hadoop-3.1.4、JDK 8、Zookeeper-3.6.3、scala-2.11.5、Spark-3.2.1 功能规划 MasterSlave1Slave2主节点…...

BTP Integration Suite CPI Apache Camel

官网文档: https://help.sap.com/docs/integration-suite/sap-integration-suite/what-is-sap-integration-suite CPI 云集成(CPI)有以下几个特性: SAP Cloud Integration通过消息交换支持端到端流程集成。 它基于Apache软件基金会的开源框架Camel。 …...

Vue-Form-Making:Star5.5k,一款强大的Vue表单设计器,适用于低代码平台、自定义表单

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 Vue-Form-Making是一个开源的Vue表单设计器,它允许用户通过拖拽方式快速生成表单,支持多种表单组件和布局。 核心功能 1. 拖拽…...

使用 Vite 和 Redux Toolkit 创建 React 项目

文章目录 1. 创建 React 项目2. 安装依赖3. 创建状态仓库user.js创建 shopSlice 4. 在状态仓库中合并切片5. 在入口文件中导入并使用 store6. 获取切片中的数据7. 修改数据结尾 在本教程中,我们将通过使用 Vite 创建一个 React 项目,并结合 Redux Toolki…...

jmeter连接mysql

查询mysql数据库版本 SELECT VERSION(); 下载jmeter mysql 驱动jar包,版本低于mysql版本,放在jmeter的lib 路径下 MySQL :: Download MySQL Connector/J (Archived Versions) 添加JDBC Connection Configuration 填写 variable name 及数据库信息 注意…...

sql中case when若条件重复 执行的顺序

sql case when若条件重复 执行的顺序 在 SQL 中,如果你在 CASE 表达式中定义了多个 WHEN 子句,并且这些条件有重叠,那么 CASE 表达式的执行顺序遵循以下规则: (1)从上到下:SQL 引擎会按照 CASE …...

代码随想录算法训练营第五十天 | 图 | 并查集

Day 50 总结 自己实现中遇到哪些困难今日收获,记录一下自己的学习时间 15:00 - 16:0018:00 - 19:45 图论 深度收缩 & 广度搜索 BFS, DFS, visited数组, 四个方向并查集 数组代表链表, 用集合中的一个元素代表集合的根最小生成树拓扑排序最短路径算法 图论基…...

tryhackme——Pre Security(安检前)-Offensive Security(进攻性安全)

这里我用的edge的插件闪击翻译。这里我英语不好,所以用这个可以顺便学习下英语。 任务一:What is Offensive Security?(什么是进攻性安全?) 很简单啊,通过阅读,知道以下哪个选项更能代表您模拟黑客操作…...

vue iframe进行父子页面通信并切换URL

使用通义千问提问后得到一个很好的示例。 需求是2个项目需要使用同一个面包屑进行跳转&#xff0c;其中一个是iframe所在的项目&#xff0c;另一个需要通过地址访问。通过 window.parent.postMessage &#xff0c;帮助 <iframe> 内嵌入的子页面和其父页面之间进行跨域通…...

Cesium 无人机航线规划(区域航线)

区域航线&#xff0c;即划定一片区域一键巡查 这里选择点几个点&#xff0c;形成的区域内计算规划航线...

[NOIP2016 普及组] 海港 -STL-队列queue

[NOIP2016 普及组] 海港 题目背景 NOIP2016 普及组 T3 题目描述 小 K 是一个海港的海关工作人员&#xff0c;每天都有许多船只到达海港&#xff0c;船上通常有很多来自不同国家的乘客。 小 K 对这些到达海港的船只非常感兴趣&#xff0c;他按照时间记录下了到达海港的每一…...

前端页面导出word

html-docx-js bug: vite使用html-docx.js会报错&#xff0c;点击下载上方文件替换即可 正文 npm install html-docx-js -S npm install file-saver -S<template><div id"managerReport">word内容......</div> </template><script>&l…...

C++中的深拷贝和浅拷贝

浅拷贝 浅拷贝&#xff1a;就是简单的赋值操作。 浅拷贝问题&#xff1a;如果有指针指向堆区内存时&#xff0c;不同对象的指针成员指向同一块堆区内存&#xff0c;当对象释放时&#xff0c;该堆区内存会被释放两次。当一个对象修改堆区内存是&#xff0c;另一个对象也随之变…...

MobileLLM开发安卓AI的体验(一)

MobileLLM是一个在安卓端跑的大语言模型&#xff0c;关键它还有调动api的能力 https://github.com/facebookresearch/MobileLLM 项目地址是这个。 看了下&#xff0c;似乎还是中国人团队 article{liu2024mobilellm, title{MobileLLM: Optimizing Sub-billion Parameter Langua…...

MySQL的并发控制与MVCC机制深度解析

目录 1. MySQL中的并发问题2. 数据库的隔离级别3. MVCC&#xff08;多版本并发控制&#xff09;机制3.1 MVCC的实现原理3.2 Read View详解3.3 当前读与快照读 4. MVCC在不同隔离级别下的工作方式5. MVCC解决幻读问题6. MVCC的优缺点优点&#xff1a;缺点&#xff1a; 7. MVCC在…...

搭建Tomcat(六)---Response的实现

目录 引入 一、前端项目容器的搭建 重建项目: 1.创建一个新的项目&#xff1a; 2.创建HTML文件 3.将先前编写的所有tomcatJava文件挪过来 二、配置java文件 1.重启一下MyTomcat 2.配置两个工具包 ①FileUtil ②ResponseUtil&#xff08;响应头&#xff09; 三、处理…...

深度学习物体检测之YOLOV5源码解读

V5比前面版本偏工程化,项目化,更贴合实战 一.V5版本项目配置 (1)整体项目概述 首先github直接查找yolov5&#xff0c;下载下来即可。在训练时&#xff0c;数据是怎么处理的&#xff1f;网络模型架构是怎么设计的(如各层的设计)&#xff1f;yolov5要求是大于python3.8与大于等…...

Ubuntu22.04配置3D gaussian splatting

这篇博客提供了3D gaussian splatting在新安装Ubuntu上的配置过程。 1.拉仓库 2.安装显卡驱动和cuda版本 3.安装Pytorch 4.安装Pycharm和配置Python 5.安装附加依赖项&#xff08;方法一&#xff09; 6.安装Anaconda&#xff08;方法二&#xff09; 7.测试 1.拉仓库 # HT…...

【Python知识】python基础-关于异常处理

python的异常处理知识 概览基本用法自定义异常捕获特定异常信息 异常抛出 概览 在Python中&#xff0c;异常处理是通过try、except和finally等关键字来实现的。这些关键字允许你捕获和处理在程序运行时可能出现的错误和异常情况&#xff0c;从而避免程序崩溃&#xff0c;并允许…...

golang 使用gzip对json例子

package main import ( "bytes" "compress/gzip" "encoding/json" "fmt" "io" "log" ) // User 结构体定义 type User struct { ID int json:"id" Name string json:"name" Age in…...

qt-C++笔记之自定义类继承自 `QObject` 与 `QWidget` 及开发方式详解

qt-C笔记之自定义类继承自 QObject 与 QWidget 及开发方式详解 code review! 参考笔记 1.qt-C笔记之父类窗口、父类控件、对象树的关系 2.qt-C笔记之继承自 QWidget和继承自QObject 并通过 getWidget() 显示窗口或控件时的区别和原理 3.qt-C笔记之自定义类继承自 QObject 与 QW…...

利用git上传项目到GitHub

GitHub是基于git实现的代码托管。git是目前最好用的版本控制系统了&#xff0c;非常受欢迎&#xff0c;比之svn更好。 GitHub可以免费使用&#xff0c;并且快速稳定。 利用GitHub&#xff0c;你可以将项目存档&#xff0c;与其他人分享交流&#xff0c;并让其他开发者帮助你一…...

机器学习预处理-表格数据的空值处理

机器学习预处理-表格数据的空值处理 机器学习预处理-表格数据的分析与可视化中详细介绍了表格数据的python可视化&#xff0c;可视化能够帮助我们了解数据的构成和分布&#xff0c;是我们进行机器学习的必备步骤。上文中也提及&#xff0c;原始的数据存在部分的缺失&#xff0…...

python学opencv|读取图像(十二)BGR图像转HSV图像

【1】引言 前述已经学习了opencv中图像BGR相关知识&#xff0c;文章链接包括且不限于下述&#xff1a; python学opencv|读取图像&#xff08;六&#xff09;读取图像像素RGB值_opencv读取灰度图-CSDN博客 python学opencv|读取图像&#xff08;七&#xff09;抓取像素数据顺利…...

【C语言】库函数常见的陷阱与缺陷(六):输入输出函数

目录 一、printf 函数 1.1. 功能与用法 1.2. 陷阱与缺陷 1.3. 安全使用建议 1.4. 代码示例 二、scanf 函数 2.1. 功能与用法 2.2. 陷阱与缺陷 2.3. 安全使用建议 2.4. 代码示例 三、gets 函数 3.1. 功能与用法 3.2. 陷阱与缺陷 3.3. 安全使用建议 3.4. 代码示例…...

sunset: midnight

https://www.vulnhub.com/entry/sunset-midnight,517/ 主机发现端口扫描 探测存活主机&#xff0c;8是靶机 nmap -sP 192.168.56.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-05 16:49 CST Nmap scan report for 192.168.56.1 …...

CSS Backgrounds(背景)

CSS Backgrounds(背景) Introduction(介绍) CSS backgrounds play a crucial role in web design, allowing developers to apply colors, images, and other decorative elements to the background of HTML elements. This enhances the visual appeal of web pages and he…...

D101【python 接口自动化学习】- pytest进阶之fixture用法

day101 pytest的fixture执行顺序 学习日期&#xff1a;20241218 学习目标&#xff1a;pytest基础用法 -- pytest的fixture执行顺序 学习笔记&#xff1a; fixtrue的作用范围 实战结果 import pytestpytest.fixture(scopesession) def test_session():print(我是 session f…...

HCIA-Access V2.5_4_1_1路由协议基础_IP路由表

大型网络的拓扑结构一般会比较复杂&#xff0c;不同的部门&#xff0c;或者总部和分支可能处在不同的网络中&#xff0c;此时就需要使用路由器来连接不同的网络&#xff0c;实现网络之间的数据转发。 本章将介绍路由协议的基础知识、路由表的分类、静态路由基础与配置、VLAN间…...

Meta重磅发布Llama 3.3 70B:开源AI模型的新里程碑

在人工智能领域&#xff0c;Meta的最新动作再次引起了全球的关注。今天&#xff0c;我们见证了Meta发布的Llama 3.3 70B模型&#xff0c;这是一个开源的人工智能模型&#xff0c;它不仅令人印象深刻&#xff0c;而且在性能上达到了一个新的高度。 一&#xff0c;技术突破&#…...

20241218_segmentation

参考&#xff1a; 使用SA模型 https://ai.meta.com/research/publications/segment-anything/讲解生物学意义 https://www.nature.com/articles/s41593-024-01714-3#Sec13 x.0 workflow 图像分割方法识别出重要的ROI区域计算ROI区域个数&#xff08;需要计算机算法&#xff…...

公链常用的共识算法

1. 工作量证明&#xff08;Proof of Work, PoW&#xff09; 工作原理&#xff1a;要求节点&#xff08;矿工&#xff09;解决一个数学难题&#xff0c;这个过程称为挖矿。第一个解决难题的矿工将有权添加一个新的区块到区块链上&#xff0c;并获得一定数量的加密货币作为奖励。…...

监控易在汽车制造行业信息化运维中的应用案例

引言 随着汽车制造行业的数字化转型不断深入&#xff0c;信息化类IT软硬件设备的运行状态监控、故障告警、报表报告以及网络运行状态监控等成为了企业运维管理的关键环节。监控易作为一款全面、高效的信息化运维管理工具&#xff0c;在汽车制造行业中发挥着重要作用。本文将结合…...