GAN对抗生成网络(一)——基本原理及数学推导
1 背景
GAN(Generative Adversarial Networks)对抗生成网络是一个很巧妙的模型,它可以用于文字、图像或视频的生成。
例如,以下就是GAN所生成的人脸图像。
2 算法思想
假如你是《古董局中局》的文物造假者(Generator,生成器),希望生产出足以媲美王羲之真迹的假字画。GAN的思想是除了造假者再引入一位鉴宝者(Discriminator,判别器)。造假者的目标是“以假乱真”——精进手艺,从而骗过鉴宝者;鉴宝者的目标是“火眼金睛”——明察秋毫,区别出真字画和假字画。
造假者刚开始不掌握造假知识,只能天马行空地乱写一通,但收到鉴宝者的反馈,调整制作手段,逐步训练出了能够骗过鉴宝者的技艺。
鉴宝者刚开始不掌握鉴宝知识,但造假者的成果源源不断地输送过来,这也成为鉴宝者的学习材料,鉴宝者逐渐提高了鉴定能力。
GAN的全称是Generative Adversarial Networks。从名字也可以了解GAN的特性。
所谓Generative是指GAN是一种生成模型,即产生新的数据,并尽量与真实数据相似。生成模型是与判别模型相对的。
顾名思义,判别模型是为了做判断。训练好的判别模型在给定观测值后,预测标签。如果放到文物造假的例子,判别模型的做法就是找到一批真的文物和一批假的文物,提取出这些文物的特征(比如质地、颜色),学习这些特征如何导致了真或假的结果。这样给定新的文物,就可以根据特征判定文物是真还是假(比如质地为新则为假,质地为旧则为真)。
其实从上文描述可以看出,GAN中的discriminator就是判别模型,但GAN终极目的是为了生成新样本,所以才把GAN归为生成模型,其中的判别模型只是服务于生成模型,属于陪衬。
所谓Adversarial是指GAN是一种对抗模型,要训练出Generator和Discriminator二者相互对抗,你追我赶。
所谓Networks是指GAN是一种神经网络模型,无论是Generator还是Discriminator,他们都需要有足够复杂的表达式,才能实现图片甚至视频的生成,因此需要使用神经网络拟合复杂的运算。
3 数学推导
3.1 符号定义
符号 | 含义 | 文物例子中的对应概念 |
样本,例如GAN的目标是生成图片,则此处泛指图像 | 字画 | |
真实数据概率分布 | 真字画的技艺 | |
Generator,本质是一个神经网络,输入概率分布中的随机噪声,输出为x | 造假者 | |
最优的Generator | 训练好的造假者 | |
Generator对应的概率分布 | 造假者的技艺 | |
概率分布中的噪音,例如高斯分布抽样出的样本 | 造假者的输入,可理解为当时模具的状态、制作哪幅字画的决定。一般是一个向量,其中每个维度可能对应生成的结果某些特征 | |
两个分布之间的距离 | 真实制作工艺和造假制作工艺的区别 | |
Discriminator,本质是一个神经网络,输入一个样本x,输出为1或0,代表x是真实的概率 | 鉴宝者 | |
最优的Discriminator | 训练好的鉴宝者 | |
优化目标,越大越好 | 真品和赝品的相似程度,或者赝品能卖出的价钱 | |
Generator的参数 | ||
Discriminator的参数 | 鉴宝者鉴宝所遵从的规则参数,比如质地有“多旧”才会认为是真品 | |
误差反向传播时神经网络的学习率 | 造假者或鉴宝者更新自己造假技艺和更新技艺时调整的幅度 |
3.2 解析
以上的例子中造假者的目标是学习出一套接近真实的技艺,但技艺太抽象了,需要用数学的语言表示,这里使用“概率分布”表示技艺。可能不好理解,解释如下。
第一,这里的一张字画可比作训练的样本,那么生产字画的技艺自然就可以比作产生样本的概率分布。
第二,无论是生成图片还是生成字画的过程,本质上就是从概率分布中抽样的过程。
例如我们要生成一个足球图片,每个像素点是否应该为空,应该呈现什么颜色,都是有概率的。我们应该学习到这么一种概率分布:在一个画布上,产生圆形的概率最高,这一点毋庸置疑;产生椭圆形的概率次高,可能有时存在镜头畸变现象,或者画面想表现出足球快速向前运动(参考下图中的热血足球);产生正方形的概率几乎为0。此外,颜色也是用概率分布产生的,黑色和白色概率最高,但不排除有其他颜色的情况。
可能会有读者问,在生成字画的例子中,不同文章的字完全不一样,怎么能用一种概率分布来表示呢?这里的概率分布可能是非常复杂的分布,例如分解成先用均匀分布选择画哪幅字,然后用条件概率再决定画布每个字颜色、落笔力度、方向等。
再举一个更简单的例子,比如给猴子一台有26个英文字母的打字机,它任意地敲击100个字符,那么概率分布空间就有种,属于一维均匀分布。猴子每次敲击出的文章就是从这个概率分布中抽样一次。在这个例子中,打字机的规则十分清晰,即英文字母按顺序排列,因此比创作字画这种高维分布简单得多。
第三,只有引入概率分布才能生成大量样本。这也对应开篇所说的造假者目标,是学习一种技艺,而不是学习单一的某张字画。
如果理解了概率分布,那么也就明白了“符号定义”中的。它代表了造假者的输入,例如要决定画哪幅字画,当时画笔的状态等等随机的因素。
一般是高斯分布,经过
的转换得到
,服从更复杂的分布,这种分布就代表技艺。
3.3 推导
3.3.1 Discriminator
先说结论,推导后的最优解等价于JS散度最大。JS散度表示2个分布之间的距离,越大表示2个分布的差异越明显。这也符合Discriminator的目标,就是要让真品和赝品的区别最明显。
推导过程如下,不感兴趣的读者可略过。
对于而言,优化目标是下式最大化。
左侧代表样本来自于真实数据时,D预测为真实的概率,此值越大越好;右侧表示当样本来自于假数据时,D预测为真实的概率,此值越小越好。取对数不影响单调性。
将此式的期望转换为积分的形式
现在引入一个强假设——可以是任意的函数。意思是对于每一个
,
足够复杂,可以想象成
是一个分段函数,使得每个
上式中的积分项里的内容都最大。因此问题转化为积分项内的式子最大。因为
本质上是神经网络,足够复杂,所以是合理的。
为了方便说明,记,
,
,
中的每一个积分项都是
。注意当优化D时,G是给定的,因此可看作常量。
上式转化为
为了求f的最大值,求上式微分等于0时的D(二阶微分小于0,因此可断定f为最大值而非最小值)
可得. 代入
,得
在对数式分子和分母同时乘以1/2,并将分子的1/2提出来,得到
将中括号内的求和拆成2项,每一项都是KL散度,合起来就是JS散度
GAN神奇的地方在于,在我们不清楚真实分布参数的情况下,
也能够用抽样的方式判断分布之间的距离,从而使得
趋近这个分布。
3.3.2 Generator
对于而言,要找出最佳的
,使得
和
越接近越好,即
根据上文所述,这里就是
,即
。这就转化成
在知道
会选择让真实分布和生成分布距离最大时,应该做出什么样的决策,使得两个分布的距离最小。
这里借用李宏毅老师的例子并做了些修改:只有2种选择,
和
,那么
应该选择哪一种呢?对应下图,左右分别是2种选择,横轴代表
的决策空间,纵轴代表真实分布和生成分布的距离。
如果选择第一种,一定会选择让V最大的参数
,此时V的值对应左图红点的纵坐标。同理,如果选择第二种,则V的值对应右图红点的纵坐标。由于左图的红点纵坐标比右图高,所以
选择第二个。
从另一个角度理解,仔细观察下图,左图的蓝色线整体比较低,只有一处尖峰位置较高;右图的蓝色线整体比较高。还是回到文物造假的例子,造假者有2种造假手段,第一种造出的赝品整体和真品差距不大,但是有一处非常容易露馅(比如整体的字都和王羲之的字很像,但只有某一个字的某一个笔画和王羲之相去甚远);第二种造出的赝品和真品的差距不大不小,没有明显的破绽。造假者和鉴宝者博弈,知道鉴宝者会揪住很小的破绽不放,因此选择了更稳妥的第二种造假手段。
下一篇笔者介绍GAN的具体算法和Python实现代码。
参考资料
李宏毅对抗生成网络2018
B站机器学习白板推导
《进阶详解KL散度》https://zhuanlan.zhihu.com/p/372835186
相关文章:
GAN对抗生成网络(一)——基本原理及数学推导
1 背景 GAN(Generative Adversarial Networks)对抗生成网络是一个很巧妙的模型,它可以用于文字、图像或视频的生成。 例如,以下就是GAN所生成的人脸图像。 2 算法思想 假如你是《古董局中局》的文物造假者(Generator,生成器)&a…...
LeetCode - 初级算法 数组(旋转数组)
旋转数组 这篇文章讨论如何通过编程实现数组元素的旋转操作。 免责声明:本文来源于个人知识与公开资料,仅用于学术交流。 描述 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例: 输入: nums = [1,2,3,...
目标检测入门指南:从原理到实践
目录 1. 数据准备与预处理 2. 模型架构设计 2.1 特征提取网络原理 2.2 区域提议网络(RPN)原理 2.3 特征金字塔网络(FPN)原理 2.4 边界框回归原理 2.5 非极大值抑制(NMS)原理 2.6 多尺度训练与测试原理 2.7 损失函数设计原理 3. 损失函数设计 4. 训练策略优化 5. 后…...
连接github和ai的桥梁:GitIngest
Git ingest GitIngest - 将任何 Github 仓库转变为适合 LLM 的友好型提示文本 (https://github.com/cyclotruc/gitingest) 输入 Github 地址或者名称,GitIngest 就会提供该仓库的总结、目录结构、仓库内容的文本内容 你可以复制这些文本与 AI 大模型更好地对话...
百度贴吧的ip属地什么意思?怎么看ip属地
在数字化时代,IP地址不仅是网络设备的唯一标识符,更承载着用户的网络身份与位置信息。百度贴吧作为广受欢迎的社交平台,也遵循相关规定,在用户个人主页等位置展示账号IP属地信息。那么,百度贴吧的IP属地究竟意味着什么…...
5.系统学习-PyTorch与多层感知机
PyTorch与多层感知机 前言PyTroch 简介张量(Tensor)张量创建张量的类型数据类型和 dtype 对应表张量的维度变换:张量的常用操作矩阵或张量计算 Dataset and DataLoaderPyTorch下逻辑回归与反向传播数据表格 DNN(全连结网络&#x…...
wpf 基于Behavior库 的行为模块
Microsoft.Xaml.Behaviors 是一个用于WPF(Windows Presentation Foundation)的行为库,它的主要作用是允许开发者在不修改控件源代码的情况下,为控件添加自定义的行为和交互逻辑。行为库的核心思想是通过定义可重用的行为组件&…...
【一文解析】新能源汽车VCU电控开发——能量回收模块
一、概述 VCU(Vehicle Control Unit,整车控制器)能量回收功能是新能源汽车(如纯电动汽车和混合动力汽车)中非常重要的一个环节。它主要是在车辆减速或制动过程中,将车辆的部分动能转化为电能,并…...
鸿蒙TCPSocket通信模拟智能家居模拟案例
效果图 一、智能家居热潮下的鸿蒙契机 在当下科技飞速发展的时代,智能家居已如浪潮般席卷而来,深刻地改变着我们的生活方式。从能依据环境光线自动调节亮度的智能灯具,到可远程操控、精准控温的智能空调,再到实时监测健康数据的智…...
【Spring Boot 实现 PDF 导出】
Spring Boot 实现 PDF 导出 在Spring Boot应用程序中实现PDF导出功能,可以选择多种库和技术栈。每种方法都有其优缺点,适用于不同的场景。以下是四种常见的方式:iText、Apache PDFBox、JasperReports 和 Thymeleaf Flying Saucer。我将详细…...
【Python】selenium结合js模拟鼠标点击、拦截弹窗、鼠标悬停方法汇总(使用 execute_script 执行点击的方法)
我们在写selenium获取网络信息的时候,有时候我们会受到对方浏览器的监控,对方通过分析用户行为模式,如点击、滚动、停留时间等,网站可以识别出异常行为,进而对Selenium爬虫进行限制。 这里我们可以加入JavaScript的使…...
leetcode hot 100 前k个高平元素
347. 前 K 个高频元素 已解答 中等 相关标签 相关企业 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 class Solution(object):def topKFrequent(self, nums, k):""":type nums: Lis…...
数据结构漫游记:静态双向链表
嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…...
Object.defineProperty() 完整指南
Object.defineProperty() 完整指南 1. 基本概念 Object.defineProperty() 方法允许精确地添加或修改对象的属性。默认情况下,使用此方法添加的属性是不可修改的。 1.1 基本语法 Object.defineProperty(obj, prop, descriptor)参数说明: obj: 要定义…...
1Panel自建RustDesk服务器方案实现Windows远程macOS
文章目录 缘起RustDesk 基本信息实现原理中继服务器的配置建议 中继服务器自建指南准备服务器安装1Panel安装和配置 RustDesk 中继服务防火墙配置和安全组配置查看key下载&安装&配置客户端设置永久密码测试连接 macOS安装客户端提示finder写入失败hbbs和hbbr说明**hbbs…...
nginx学习之路-windows系统安装nginx
文章目录 1. 下载2. 启动3. 验证参考文档 1. 下载 官方下载地址:https://nginx.org/en/download.html 可以下载windows版本,如nginx-1.26.2.zip。解压后,加入系统变量。 2. 启动 可以使用命令行启动(windows系统自带的cmd可能…...
Paimon_01_241020
1. 概述 1.1. 核心特点 统一批处理和流处理(流和批同一套代码)数据湖能力多种引擎平权变更日志生成丰富的表类型(主键表、append-only,有序的流式读取来代替消息队列)模式演化(schema变更) 1…...
人工智能:变革时代的核心驱动力
求各位观众老爷看一看 先声明一下,该内容由于篇幅过长,可能会有一些地方存在一些小问题请大家谅解 观众老爷们,点个免费的赞和关注呗,您们的支持就是我最大的动力~ 人工智能:变革时代的核心驱动力 一、引言 在当今…...
【机器学习】工业 4.0 下机器学习如何驱动智能制造升级
我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 随着科技的飞速发展,工业 4.0 浪潮正席卷全球制造业,而机器学习作为这一变革中的关键技术,正以前…...
数据分析-Excel
数据类型和函数初步 Excel中有文本类型和数值类型–但是无法用肉眼分辨出来isnumber来区分是否是数值类型text和value函数可以完成数值类型以及文本类型的转换单元格第一位输入’方式明确输入的是文本sum函数必须是数值类型 文本连接-and-or-not-if-mod-max函数 字符串的连接…...
Kubernetes第二天
1.pod运行一个容器 1.创建目录 mkdir -p /manifests/pod 2.编写pod资源清单文件 vim 01-myweb.yaml 说明: apiVersion:指的是Api的版本 metadata:资源的元数据 spec:用户期望的资源的运行状态 status:资源实际的运行状态 由于拉取远…...
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
💬 欢迎讨论:如对文章内容有疑问或见解,欢迎在评论区留言,我需要您的帮助! 👍 点赞、收藏与分享:如果这篇文章对您有所帮助,请不吝点赞、收藏或分享,谢谢您的支持&#x…...
Kerberos用户认证-数据安全-简单了解-230403
hadoop安全模式官方文档:https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html kerberos是什么 kerberos是计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。 概念&#…...
大中厂面试经验分享:如何使用消息队列(MQ)解决系统问题
在大中型互联网公司中,消息队列(MQ)作为一种关键的分布式系统组件,广泛应用于解决系统中的高并发、异步处理、解耦等问题。 在面试中,尤其是针对后端工程师或系统架构师的职位,面试官常常会通过询问消息队列…...
c#String和StringBuilder
目录 一,String 1,string的特点: 2,string常用方法 (1)Length (2)Substring() (3)ToUpper() (4)ToLower() (5&…...
【人工智能机器学习基础篇】——深入详解强化学习之常用算法Q-Learning与策略梯度,掌握智能体与环境的交互机制
深入详解强化学习之常用算法:Q-Learning与策略梯度 强化学习(Reinforcement Learning, RL)作为机器学习的一个重要分支,近年来在多个领域取得了显著成果。从棋类游戏的人机对战到自主驾驶汽车,强化学习技术展示了其强大…...
jQuery学习笔记2
jQuery 属性操作 <body><a href"http://www.itcast.cn" title"都挺好">都挺好</a><input type"checkbox" name"" id"" checked /><div index"1" data-index"2">我是div&…...
发现API安全风险,F5随时随地保障应用和API安全
分析数据显示,目前超过90%的基于Web的网络攻击都以API端点为目标,试图利用更新且较少为人所知的漏洞,而这些漏洞通常是由安全团队未主动监控的API所暴露。现代企业需要一种动态防御策略,在风险升级成代价高昂、令人警惕且往往无法…...
移动端如何实现上拉加载
一、理解上拉加载的原理 上拉加载是一种在移动端很常见的交互方式,其原理是当用户在页面上向上滑动(即滚动条接近底部)时,触发一个加载更多数据的操作。这通常涉及到对滚动事件的监听以及判断滚动位置是否达到了触发加载的阈值。…...
the request was rejected because no multipart boundary was found
文章目录 1. 需求描述2. 报错信息3. 探索过程 1. 使用postman 排除后端错误2. 搜索网上的解决方法3. 解决方法 1. 需求描述 想要在前端上传一个PDF 发票,经过后端解析PDF之后,将想要的值自动回填到对应的输入框中 2. 报错信息 org.apache.tomcat.u…...
Android 自定义shell命令
模拟触摸、按键等操作,直接在命令行输入对应命令即可。命令行如何识别并操作此命令,执行操作的是shell程序,还是java程序?是不是可以添加自定义的命令? 以下在Android13的代码中分析input命令 Android系统中使用了一…...
HTML5滑块(Slider)
HTML5 的滑块(Slider)控件允许用户通过拖动滑块来选择数值。以下是如何实现一个简单的滑块组件的详细说明。 HTML5 滑块组件 1. 基本结构 使用 <input type"range"> 元素可以创建一个滑块。下面是基本实现的代码示例: <…...
《SwiftUI 实现点击按钮播放 MP3 音频》
功能介绍 点击按钮时,应用会播放名为 yinpin.mp3 的音频文件。使用 AVAudioPlayer 来加载和播放音频。 关键点: 按钮触发:点击按钮会调用 playAudio() 播放音频。音频加载:通过 Bundle.main.url(forResource:) 加载音频文件。播…...
表单元素(标签)有哪些?
HTML 中的表单元素(标签)用于收集用户输入的数据,常见的有以下几种: 文本输入框 <input type"text">:用于单行文本输入,如用户名、密码等。可以通过设置maxlength属性限制输入字符数&…...
大型ERP系统GL(总账管理)模块需求分析
主要介绍了GL系统的需求分析,包括系统概述、功能描述、帐薄管理、报表管理、期末处理、财务报表以及凭证的快速输入方式、可用性设计、保存、自动审核和打印等方面的内容。系统概述部分介绍了系统的功能结构和模块流程图。 功能描述部分详细描述了系统的基础资料和业…...
SQL常用语句(基础)大全
SQL语句的类型 1.DDL 1.库2.表 2.DML 1.插入数据 insert inot2.删除数据 delete / truncate3.修改数据 update set 3.DQL 1.无条件查询2.查询 什么开始 到什么结束3.指定条件查询 1.单个条件 ro in2.多个条件 and4.查询不为NULL值 is not null ,为NULL值 is null5.模糊查询 li…...
关于HarmonyOS Next中卡片的使用方法
关于Harmony OS中卡片的使用方法 在Harmony OS中,静态卡片是一种非常有用的组件,用于提供应用内功能组件的交互和信息展示。本文将详细介绍如何在Harmony OS中使用静态卡片以及相关的API接口。 1. 概述 静态卡片是Harmony OS中的一种交互组件…...
Retrofit和rxjava 实现窜行请求,并行请求,循环多次请求,递归请求,错误重试
在使用 Retrofit 和 RxJava 时,可以通过多种方式实现多次请求,比如串行请求、并行请求、依赖请求等。以下是一些常见的实现方式: 1. 串行请求(依赖关系) 一个请求的结果作为另一个请求的输入,可以用 flat…...
C# OpenCV机器视觉:目标跟踪
在一个阳光明媚的下午,阿强正在实验室里忙碌,突然他的同事小杨走了进来,脸上挂着一丝困惑。 “阿强,我的目标跟踪项目出了问题!我想跟踪一个移动的物体,但总是跟丢!”小杨一边说,一…...
LeetCode 191 位1的个数
计算正整数二进制表示中汉明重量的两种实现方式对比 在编程的世界里,我们常常会遇到一些有趣又实用的小问题,今天就来和大家分享一下如何计算一个正整数二进制表示中设置位(也就是 1 的个数,专业术语叫汉明重量)的问题…...
【软件测试面试】银行项目测试面试题+答案(二)
前言 面试题:贷款有哪几种形式? 贷款是指金融机构或其他信贷机构向借款人提供资金,并按照约定的条件和期限收取一定利息的行为。根据贷款的不同形式,贷款可以分为以下几种: 按照还款方式分:分期付款贷款、到期一次…...
分布式消息队列RocketMQ
一、RocketMQ概述 1.1 MQ 概述 MQ,Message Queue,是一种提供消息队列服务的中间件,也成为消息中间件,是一套提供了消息生产、存储、消费全过程API的软件系统。消息即数据 1.2 MQ 用途 MQ的用途总结起来可分为以下三点 限流削峰…...
Temporary failure resolving ‘security.ubuntu.com‘
apt-get update 的时候出现: Temporary failure resolving security.ubuntu.com Temporary failure resolving archive.ubuntu.com具体信息: > ERROR [devel 3/17] RUN bash ./install_base.sh 3.12.3 && rm install_base.sh …...
0基础跟德姆(dom)一起学AI 自然语言处理10-LSTM模型
1 LSTM介绍 LSTM(Long Short-Term Memory)也称长短时记忆结构, 它是传统RNN的变体, 与经典RNN相比能够有效捕捉长序列之间的语义关联, 缓解梯度消失或爆炸现象. 同时LSTM的结构更复杂, 它的核心结构可以分为四个部分去解析: 遗忘门输入门细胞状态输出门…...
设计模式 创建型 建造者模式(Builder Pattern)与 常见技术框架应用 解析
单例模式(Singleton Pattern),又称生成器模式,是一种对象构建模式。它主要用于构建复杂对象,通过将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建出具有不同表示的对象。该模式的核心思想是将…...
cJson—json和XML比较
cJson—json和XML比较 前言1. 数据结构与表达能力2. 效率(性能)3. 存储占用与传输效率4. 开发难易程度5. 跨平台支持与兼容性6. 灵活性与扩展性7. 错误处理与验证**总结:JSON 与 XML 的优缺点对比选择建议 前言 在嵌入式设备开发中ÿ…...
【项目】智能BI洞察引擎 测试报告
目录 一、项目背景BI介绍问题分析项目背景 二、项目功能三、功能测试1、登录测试测试用例测试结果 2、注册测试测试用例测试结果出现的bug 3、上传文件测试测试用例测试结果 4、AI生成图表测试测试用例测试结果 5、分析数据页面测试(异步)测试用例测试结…...
基于SpringBoot的野生动物保护发展平台的设计与实现(源码+SQL+LW+部署讲解)
文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…...
QEMU网络配置简介
本文简单介绍下qemu虚拟机网络的几种配置方式。 通过QEMU的支持,常见的可以实现以下4种网络形式: 基于网桥(bridge)的虚拟网络。基于NAT(Network Addresss Translation)的虚拟网络。QEMU内置的用户模式网…...
wps透视数据表
1、操作 首先选中你要的行字段表格 -> 插入 -> 透视数据表 -> 拖动行值(部门)到下方,拖动值(包裹数量、运费)到下方 2、删除 选中整个透视数据表 -> delete 如图:...