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

使用量子玻尔兹曼机推进机器学习:新范式

一、说明

        量子玻尔兹曼机(QBM)是量子物理学和机器学习的前沿融合。通过利用叠加和纠缠等量子特性的力量,QBM 可以同时探索多个解决方案,使其异常擅长解决复杂问题。它使用量子位(量子计算的构建模块)以传统计算机无法做到的方式处理信息。尽管仍处于早期阶段,QBM 在模拟量子系统、优化复杂场景和破译复杂数据模式等应用方面展现出了前景。尽管面临挑战,QBM 有潜力彻底改变计算并重塑我们处理复杂任务的方式。

二、玻尔兹曼机

        玻尔兹曼机是用于基于能量的机器学习的模型。这里显示的网络本质上是一个玻尔兹曼机,由隐藏节点和可见节点组成。隐藏节点充当潜在变量,在后台编码信息,而可见节点则确定模型的输出。在经典玻尔兹曼机中,这些节点可以是二进制的,表示 +1 或 -1 状态,类似于自旋变量。网络可以用能量函数来表示,其中节点之间的连接性反映在能量函数的加权项中。这适用于节点之间的连接和单个节点本身。为了将其与热力学联系起来,我们采用玻尔兹曼分布的概念。这些分布使我们能够根据可见节点相应的能量来计算其某些配置的概率。该概率是使用配分函数确定的,配分函数是所有可能的能量配置的总和,并确保我们具有有效的概率。

        玻尔兹曼机设置的目标是训练能量函数中的参数,以便生成的概率代表概率分布。这种分布由训练数据和/或标签决定,具体取决于所使用的学习工具。所讨论的损失函数是交叉熵损失函数,它涉及从我们的模型中取概率的对数,将其与训练数据中的概率相乘,然后对所有可能的实例进行平均。

        文本解释说,节点现在由信号表示,特别是作用于可见量子位的泡利算子(I、X、Y、Z)。模型输出由可见量子位的配置决定,并受到隐藏保利斯的影响。哈密​​顿量不是能量函数,而是基于网络连接性定义的。测量构型的概率是通过对量子吉布斯态的投影测量来确定的,由哈密顿量和配分函数编码。对于经典计算机来说,评估归一化因子可能具有挑战性。吉布斯状态对概率分布进行编码,并使用参数化量子电路进行近似。

        文中解释说,为了训练哈密顿量的参数,采样概率需要准确地表示可能的权重分布。定义损失函数有两种选择:经典损失函数,其中测量量子态,采样概率确定损失;以及量子损失函数,其中经典概率映射到一级量子态,目标是将完整的吉布斯态与该量子态相匹配。后一个选项允许更自由地匹配概率分布,但这取决于具体目标。本研究的重点是第一个损失函数,它足以匹配经典分布并避免不必要的自由度训练。

        这篇文章讨论了 VarQITE,这是量子虚时间演化的概念。它解释了如何使用基于加权泡利算子的 n 量子位哈密顿量,并探索了 Wick 旋转薛定谔方程。它提到算子缺少“I”并且需要归一化因子来维持量子态的 L2 归一化。这篇文章还描述了如何使用输入状态和参数化模拟将其合并到参数化量子电路中。使用变分原理来近似参数的演化。

        为了执行参数演化,麦克拉克伦的变分原理用于最小化威克旋转薛定谔方程左侧和右侧之间的差异。这是在变分子空间内完成的,其中状态由 ansatz 表示。求解所得线性方程可提供 ansatz 参数的时间导数,该导数可以使用任意 ODE 求解器进行传播。麦克劳林的变分原理允许使用恒定架构量子电路来模拟状态演化。线性方程的右侧代表系统的能量梯度,而左侧代表 Fubini 研究度量,它描述了 ansatz 的信息几何。

        A 的评估在 ansatz 中的参数数量上是二次方昂贵的,并且在哈密顿量中的参数数量上是线性的。为了评估 A,使用了一种电路结构,其中涉及额外的量子位、受控操作和测量。A_ij 和 C_i 的项可以使用此电路结构以类似的形式重写,从而可以评估定义演化 ODE 的线性方程组所需的所有组件。

        为了生成吉布斯状态,文本建议通过在子系统 B 上添加一个普通哈密顿量来扩展目标哈密顿量。初始状态以 n 个贝尔对给出,其中一部分在子系统 A 中,一部分在子系统 B 中。 out 子系统 B 给出子系统 A 的初始状态作为最大状态。然后使用 VarQITE 和哈密顿量 H_AB 来传播状态。再次追踪子系统 B 给出吉布斯状态的近似值。使用具有一个和两个量子位的简单示例在实际的量子计算机上测试了该方法。

        文本讨论了哈密顿量和吉布斯状态,并解释了 ansatz 用于近似这些吉布斯状态。目标是确定每个时间步长的这些近似值与实际吉布斯态的接近程度,这是使用保真度作为量子态接近程度的度量来测量的。

        文本描述了两个哈密顿量 H1 和 H2 的训练,左侧使用较小的哈密顿量,右侧使用两个量子位门。显示了 IBMQ Johannesburg 20 量子位机器上精确模拟和测试的保真度演变。经过 10 个时间步长后,小量子位的保真度非常好,双量子位门的保真度约为 59%。对于这项小规模研究来说,这被认为是一个有趣且令人满意的结果。

        本文研究了吉布斯状态的准备过程,随后重点介绍了量子玻尔兹曼机的教育。它提到了经典损失函数的使用以及使用吉布斯状态的概率计算。然而,计算损失函数的梯度并不容易。公式本身并不那么重要,重要的是绿色的正确项可以轻松有效地计算。如果某些交换关系不充分,则左侧红色项可能难以计算。以前的工作通常使用上限(例如 Golden-Thompson),而不是损失函数的实际梯度进行训练。

        现在,将 VarQITE 用于我们的 QBM 的一个很酷的事情是,我们实际上可以利用我们的电路参数及其演化取决于我们的哈密顿参数这一事实。反过来,这使我们能够以最终的差异化来评估这些梯度。我们可以利用链式法则。

        这篇文章讨论了操纵量子态时梯度的计算。它指出,计算与哈密顿参数相关的电路参数的梯度很简单,但找到与吉布斯状态相关的梯度则更加困难,因为它需要求解线性方程组。此项的时间导数可以通过吉布斯状态的准备来帮助扩展电路参数的梯度。这篇文章简要提到了颜色的使用,但没有提供额外的信息。

        该算法首先初始化哈密顿量和初始参数。然后,它使用 VarQITE 准备吉布斯状态并获取自动微分项。插入项并计算相对于吉布斯状态的梯度。这允许评估损失函数梯度,用于更新哈密顿参数。重复这个过程直到满足终止标准以学习一个好的模型。

        这篇文章描述了一个旨在获取贝尔状态采样概率知识的训练实例。它强调使用具有对角哈密顿量和有效 SE2 ansatz 的基本模型,该模型能够表示复杂的相。

        我们来分析一下训练结果。我们将参数(alpha、beta、gamma)初始化在 -1 到 1 的范围内。使用 VarQITE,我们通过 10 个步骤准备吉布斯状态并计算损失函数的梯度。这通过优化例程指导我们的模型训练。右侧显示损失函数的级数以及训练分布和期望分布之间的 L1 距离。每个图都附有标准差条,由 10 次不同随机状态运行的平均结果生成。值得注意的是,随着标准偏差的减小,我们看到了持续的改进。左侧的条形图说明了一个实例:蓝色条形是目标(贝尔状态采样),紫色条形代表最不有效的训练,粉红色条形是最好的。值得注意的是,即使是经过最好训练的结果也已经非常准确。

        总之,变分量子玻尔兹曼机使我们能够有效地探索哈密顿量构造的数据结构,从而形成更加专注的状态学习器。利用自动微分,量子玻尔兹曼机训练变得容易进行,这得益于 VarQITE 用于吉布斯状态准备的固有用法。值得注意的是,由于其一致的电路深度和架构,该技术与近期的量子计算机非常吻合。

三、结论

        总之,量子玻尔兹曼机代表了量子物理和机器学习十字路口的一个令人着迷且有前途的前沿领域。它对量子特性的利用引入了计算范式的转变,提供了彻底改变问题解决和数据分析的潜力。通过利用叠加和纠缠,QBM 并行处理信息的能力可能会在优化、模式识别和量子系统模拟等领域带来突破。尽管面临着新兴技术的典型挑战,包括纠错和降噪,但 QBM 的发展有可能重新定义计算的边界,为科学、技术和人工智能的新可能性打开大门。随着研究人员和工程师不断提升其能力,量子玻尔兹曼机最终可能会重新定义我们对计算的理解,并推动我们进入量子增强智能的新时代。

相关文章:

使用量子玻尔兹曼机推进机器学习:新范式

一、说明 量子玻尔兹曼机(QBM)是量子物理学和机器学习的前沿融合。通过利用叠加和纠缠等量子特性的力量,QBM 可以同时探索多个解决方案,使其异常擅长解决复杂问题。它使用量子位(量子计算的构建模块)以传统…...

优化|优化求解器自动调参

原文信息:MindOpt Tuner: Boost the Performance of Numerical Software by Automatic Parameter Tuning 作者:王孟昌 (达摩院决策智能实验室MindOpt团队成员) 一个算法开发者,可能会幻想进入这样的境界:算…...

vite vue3配置eslint和prettier以及sass

准备 教程 安装eslint 官网 vue-eslint ts-eslint 安装eslint yarn add eslint -D生成配置文件 npx eslint --init安装其他插件 yarn add -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin…...

C语言第入门——第十六课

目录 一、分治策略与递归 二、递归 1.求解n的阶乘 2.输入整数、倒序输出 3.输入整数、正序输出 4.计算第n位Fibonacci数列 ​编辑5.无序整数数组打印 6.找到对应数组下标 一、分治策略与递归 在我们遇到大问题的时候,我们的正确做法是将它分解成小问题&a…...

IntelliJ IDEA 快捷键 Windows 版本

前言:常用快捷键 IntelliJ IDEA编辑器大受欢迎的原因之一是它的智能提示和丰富的快捷键,在日常开发中熟练的使用快捷键会大大提升开发的效率,本篇文章就笔者日常开发中的总结,把常用的、好用的快捷键做一个列表,方便…...

重生之我必去大厂java开发

JavaDreamer 重生之我必去大厂java开发。主线任务进入大厂java开发。 author :developer_zxh GitHub | Gitee 本项目记录了本人从中国科学院大学硕士研究生开始,如何进入大工 java 开发岗位的学习记录(目前在校未求职,加入后此状…...

2023年中职“网络安全“—Web 渗透测试②

2023年中职“网络安全“—Web 渗透测试② Web 渗透测试任务环境说明:1.访问http://靶机IP/web1/,获取flag值,Flag格式为flag{xxx};2.访问http://靶机IP/web2/,获取flag值,Flag格式为flag{xxx};3.访问http://靶机IP/web…...

【整顿C盘】pycharm、chrome等软件,缓存移动

C盘爆了,特来找一下巨大的软件缓存,特此记录,跟随的各大教程,和自己的体会 一、爆炸家族JetBrains 这个适用于pycharm、idea、webstorm等等,只要是JetBrains家的,2020版本以上,都是一样的方法 p…...

C# using语句使用介绍

在C#中,using语句有两种主要用途:一是引入命名空间,二是提供一种简便的方式来处理资源的清理(主要用于实现了 IDisposable 接口的对象)。 引入命名空间:using 语句用于引入命名空间,从而可以在代…...

leetcode (力扣) 201. 数字范围按位与 (位运算)

文章目录 题目描述思路分析完整代码 题目描述 给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。 示例 1: 输入:left 5, right 7 输出…...

Flutter笔记: 在Flutter应用中使用SQLite数据库

Flutter笔记 在Flutter应用中使用SQLite数据库(基于sqflite) 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/q…...

OpenAI GPT5计划泄露

OpenAI的首席执行官萨姆奥特曼在最近接受《金融时报》的专访时,分享了OpenAI未来发展的一些新动向。此外,他还透露了关于即将到来的GPT-5模型以及公司对AGI的长期目标的一些细节。 奥特曼指出: 1.OpenAI正在开发GPT-5,一种更先进的…...

【面试经典150 | 数学】Pow(x, n)

文章目录 写在前面Tag题目来源题目解读解题思路方法一:快速幂-递归方法二:快速幂-迭代 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主…...

封装比较好的登录页面

封装比较好的登录页面 只在setup()函数中写流程&#xff0c;将逻辑代码抽离出来 <template><div class"wrapper"><img class"wrapper__img" srchttp://www.dell-lee.com/imgs/vue3/user.png /><div class"wrapper__input"&…...

如何使用Flask request对象处理请求

在 Flask 中&#xff0c;request 对象是处理 HTTP 请求的重要工具之一。它提供了许多属性和方法&#xff0c;可以帮助我们获取请求的相关信息和数据。本文将向你介绍 request 对象的常用方法以及如何在 Flask 应用程序中使用它。 1. 获取请求方法 首先&#xff0c;让我们看一…...

快速搜索多个word、excel等文件中内容

如何快速搜索多个word、excel等文件中内容 操作方法 以win11系统为介绍对象。 首先我们打开“我的电脑”-->“文件夹选项”-->“搜索”标签页,在“搜索内容”下方选择&#xff1a;"始终搜索文件名和内容&#xff08;此过程可能需要几分钟&#xff09;"。然后…...

Minio安装

环境 centos8&#xff0c;关闭防火墙 minio-20231101183725版本 参考官网&#xff1a;部署 MinIO&#xff1a;单节点单硬盘 — 适用于 Linux 的 MinIO 对象存储 单例 下载rpm&#xff0c;用中国镜像 wget https://dl.minio.org.cn/server/minio/release/linux-amd64/arch…...

Spring初识

未来的几周时间&#xff0c;大概率我会更新一下Spring家族的一些简单知识。而什么是Spring家族&#xff0c;好多同学还不是很清楚&#xff0c;我先来简单介绍一下吧&#xff1a; 所谓Spring家族&#xff0c;它其实就是一个框架&#xff0c;是基于Servlet再次进行封装的内容。为…...

2023全新付费进群系统源码 带定位完整版 附教程

这源码是我付费花钱买的分享给大家&#xff0c;功能完整。 搭建教程 Nginx1.2 PHP5.6-7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库&#xff08;58soho.cn.sql&#xff09; 第三步修改/config/database.php里面的数据库地址 第四步修改/conf…...

C# LINQ使用介绍

LINQ&#xff08;Language-Integrated Query&#xff09;是C#语言的一个强大特性&#xff0c;它允许开发者用声明性的方式查询和操作数据。LINQ提供了一致的查询体验&#xff0c;无论是操作内存中的对象&#xff08;如数组或集合&#xff09;&#xff0c;还是操作外部数据源&am…...

【c++】——类和对象(中)——实现完整的日期类(优化)万字详细解疑答惑

作者:chlorine 专栏:c专栏 赋值运算符重载()()():实现完整的日期类(上) 我走的很慢&#xff0c;但我从不后退。 【学习目标】 日期(- - --)天数重载运算符 日期-日期 返回天数 对日期类函数进行优化(不符合常理的日期&#xff0c;负数&#xff0c;const成员)c中重载输入cin和输…...

开源与闭源:大模型时代的技术交融与商业平衡

一、开源和闭源的优劣势比较 1.1 开源 优势&#xff1a; 1.技术共享与吸引人才&#xff1a; 开源促进了技术共享&#xff0c;吸引了全球范围内的人才参与大模型的发展&#xff0c;形成了庞大的开发者社区。 2.推动创新&#xff1a; 开源模式鼓励开发者共同参与&#xff0c;推动…...

C#开发的OpenRA游戏之属性BodyOrientation(6)

C#开发的OpenRA游戏之属性BodyOrientation(6) 在顶层定义里会发现这个属性: ^SpriteActor: BodyOrientation: QuantizeFacingsFromSequence: RenderSprites: SpriteActor是用来定义角色的基本属性,它的第一个属性就是BodyOrientation,这个属性主要用来描述角色的身体的…...

Linux shell编程学习笔记27:tputs

除了stty命令&#xff0c;我们还可以使用tput命令来更改终端的参数和功能。 1 tput 命令的功能 tput 命令的主要功能有&#xff1a;移动更改光标、更改文本显示属性&#xff08;如颜色、下划线、粗体&#xff09;&#xff0c;清除屏幕特定区域等。 2 tput 命令格式 tput [选…...

【计算机网络笔记】IPv6简介

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…...

c语言-数据结构-堆

目录 一、二叉树 1、二叉树的概念 2、完全二叉树和满二叉树 3、完全二叉树的顺序存储 二、堆 2、堆的概念与结构 3、堆的创建及初始化 4、堆的插入&#xff08;小堆&#xff09; 5、堆的删除 6、显示堆顶元素 7、显示堆里的元素个数 8、测试堆的各个功能 9、 实现堆…...

ROS基础—关于参数服务器的操作

1、rosparam list 获取参数服务器的所有参数。 2、rosparam get /run_id 获取参数的值...

Sql Server 2017主从配置之:事务日志传送

使用事务日志传送模式搭建Sql Server 2017主从同步&#xff0c;该模式有一定的延迟&#xff0c;是通过3个不同的定时任务&#xff0c;将主库的日志同步到从库进行恢复来实现数据库同步操作。 环境准备 两台服务器&#xff0c;配置都是8g2核&#xff0c;50g硬盘&#xff0c;操…...

每日OJ题_算法_双指针_力扣283. 移动零+力扣1089. 复写零

力扣283. 移动零 283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 难度 简单 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例…...

WebGl-Blender:建模 / 想象成形 / Blender概念词汇表 / 快捷键

一、理解Blender 欢迎来到Blender&#xff01;Blender是一款免费开源的3D创作套件。 使用Blender&#xff0c;您可以创建3D可视化效果&#xff0c;例如建模、静态图像&#xff0c;3D动画&#xff0c;VFX&#xff08;视觉特效&#xff09;快照和视频编辑。它非常适合那些受益于…...

【C++】【Opencv】cv::warpAffine()仿射变换函数详解,实现平移、缩放和旋转等功能

仿射变换是一种二维变换&#xff0c;它可以将一个二维图形映射到另一个二维图形上&#xff0c;保持了图形的“形状”和“大小”不变&#xff0c;但可能会改变图形的方向和位置。仿射变换可以用一个线性变换矩阵来表示&#xff0c;该矩阵包含了六个参数&#xff0c;可以进行平移…...

WPF实现右键菜单

在WPF中&#xff0c;创建上下文菜单&#xff08;通常称为“右键菜单”&#xff09;是通过使用ContextMenu控件来实现的。你可以在XAML中声明上下文菜单&#xff0c;并将其关联到任何FrameworkElement。以下是如何在WPF中实现上下文菜单的基本步骤&#xff1a; 1. 在XAML中定义…...

Java智慧工地SaaS管理平台源码:AI/云计算/物联网

智慧工地是指运用信息化手段&#xff0c;围绕施工过程管理&#xff0c;建立互联协同、智能生产、科学管理的施工项目信息化生态圈&#xff0c;并将此数据在虚拟现实环境下与物联网采集到的工程信息进行数据挖掘分析&#xff0c;提供过程趋势预测及专家预案&#xff0c;实现工程…...

【漏洞复现】通达oa 前台sql注入

漏洞描述 通达OA(Office Automation)是一款企业级协同办公软件,旨在为企业提供高效、便捷、安全、可控的办公环境。它涵盖了企业日常办公所需的各项功能,包括人事管理、财务管理、采购管理、销售管理、库存管理、生产管理、办公自动化等。通达OA支持PC端和移动端使用,可以…...

机器学习笔记 - Ocr识别中的文本检测EAST网络概述

一、文本检测 文本检测简单来说就是找到图像中可以出现文本的区域。例如,请参见下图,其中在检测到的文本周围绘制了绿色边框。 在进行文本检测时,你可能会遇到两种情况 具有结构化文本的图像:这是指具有干净/均匀背景和常规字体的图像。文本大多密集,行结构正确,…...

【SQL server】数据库、数据表的创建

创建数据库 --如果存在就删除 --所有的数据库都存在sys.databases当中 if exists(select * from sys.databases where name DBTEST)drop database DBTEST--创建数据库 else create database DBTEST on --数据文件 (nameDBTEST,--逻辑名称 字符串用单引号filenameD:\DATA\DBT…...

vue的生命周期分别是什么?

Vue的生命周期分为8个阶段&#xff0c;分别是&#xff1a; beforeCreate&#xff1a;实例初始化之后&#xff0c;数据观测 (data observer) 和 event/watcher 事件配置之前被调用。 created&#xff1a;实例已经创建完成后被调用&#xff0c;这时候实例已完成以下的配置&#…...

Java拼图游戏

运行出的游戏界面如下&#xff1a; 按住A不松开&#xff0c;显示完整图片&#xff1b;松开A显示随机打乱的图片。 User类 package domain;/*** ClassName: User* Author: Kox* Data: 2023/2/2* Sketch:*/ public class User {private String username;private String password…...

Vue框架的element组件table文字居中

1.直接上代码 <el-table max-height"500px" :data"datas.roles" style"width: 100%" border :header-cell-style"{textAlign: center}" :cell-style"{ textAlign: center }"><el-table-column prop"id" …...

科技创新 共铸典范 | 江西卫健办邓敏、飞图影像董事长洪诗诗一行到访拓世科技集团,提振公共卫生事业发展

2023年11月15日&#xff0c;拓世科技集团总部迎来了江西省卫健项目办项目负责人邓敏、江西飞图影像科技有限公司董事长洪诗诗一行的考察参观&#xff0c;集团董事长李火亮、集团高级副总裁方高强进行热情接待。此次多方交流&#xff0c;旨在共同探讨携手合作&#xff0c;激发科…...

Linux安装OpenCV并配置VSCode环境

Linux安装OpenCV并配置VSCode环境 安装OpenCV环境安装必需工具下载并解压OpenCV库&#xff08;Opencv Core Modules和opencv_contrib&#xff09;创建构建目录&#xff0c;进行构建验证构建结果安装验证安装结果 配置VSCode环境创建项目文件修改配置信息执行程序 安装环境 Ubun…...

Django(ORM事务操作|ORM常见字段类型|ORM常见字段参数|关系字段|Meta元信息)

文章目录 ORM事务操作什么是事务&#xff1f;事务的产生事务的四大特征ORM中如何使用事务 ORM字段类型常用字段与不常用字段类型ORM还支持用户自定义字段类型 ORM字段参数关系字段ForeignKey外键on_delete参数设置的值 OneToOneField与ForeignKey的区别多对多关系建立的方式ORM…...

【mujoco】Ubuntu20.04配置mujoco210

【mujoco】Ubuntu20.04配置mujoco210 文章目录 【mujoco】Ubuntu20.04配置mujoco2101. 安装mujoco2102. 安装mujoco-py3.使用render时报错Reference 本文简要介绍一下如何在ubuntu20.04系统中配置mujoco210&#xff0c;用于强化学习。 1. 安装mujoco210 在官方资源里找到http…...

【洛谷 P3853】[TJOI2007] 路标设置 题解(二分答案+循环)

[TJOI2007] 路标设置 题目背景 B 市和 T 市之间有一条长长的高速公路&#xff0c;这条公路的某些地方设有路标&#xff0c;但是大家都感觉路标设得太少了&#xff0c;相邻两个路标之间往往隔着相当长的一段距离。为了便于研究这个问题&#xff0c;我们把公路上相邻路标的最大…...

蓝桥杯 vector

vector的定义和特性 注意&#xff1a;vector需要开C11标准 vector的常用函数 push_back():将元素添加到vector末尾 pop_back():删除vector末尾的元素 begin()和end():返回指向vector第一个元素和最后一个元素之后一个位置的迭代器。 示例 vector<int> vec{10,20,30};f…...

ai绘画部署教程

在部署AI绘画Web环境的过程中&#xff0c;你提供了一些关键步骤。以下是一些详细说明&#xff1a; 1. 克隆webui 首先&#xff0c;通过以下命令从GitHub上克隆webui的代码&#xff1a; git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui 这将下载webui的源…...

策略模式的应用——应对频繁的需求变更

秋招结束后&#xff0c;间接性堕落了一段时间&#xff0c;学习几乎停止下来了。内心甚是焦灼&#xff0c;感觉生活很无趣&#xff01;为了在参加工作后能够快速上手和成为一名优秀的中级开发者&#xff0c;从这篇文章开始将不断学习优秀的编码经验&#xff0c;学习是永无止境的…...

qt-C++笔记之treeWidget初次使用

qt-C笔记之treeWidget初次使用 code review! 文章目录 qt-C笔记之treeWidget初次使用1.运行2.文件结构3.main.cpp4.widget.h5.widget.cpp6.widget.ui7.main.qrc8.qt_widget_test.pro9.options.png 1.运行 2.文件结构 3.main.cpp 代码 #include "widget.h"#include…...

SQL零基础入门教程,贼拉详细!贼拉简单! 速通数据库期末考!(八)

FULL OUTER JOIN 除了前面讲到的 INNER JOIN&#xff08;内连接&#xff09;、LEFT JOIN&#xff08;左连接&#xff09;、RIGHT JOIN&#xff08;右连接&#xff09;&#xff0c;还有另外一种关联方式&#xff0c;即 FULL OUTER JOIN&#xff08;全外连接&#xff09; FULL O…...

C语言编程陷阱(八)

陷阱36:不要使用指针作为函数的返回值 有时候,我们可能想要用一个函数来返回一个指针,比如返回一个动态分配的内存,或者返回一个数组的某个元素的地址。但是,如果我们不小心,我们可能会犯一个很常见的错误,就是返回一个局部变量的地址。例如,看看下面的代码: #inclu…...