GAN和CycleGAN
文章目录
- 1. GAN 《Generative Adversarial Nets》
- 1.1 相关概念
- 1.2 公式理解
- 1.3 图片理解
- 1.4 熵、交叉熵、KL散度、JS散度
- 1.5 其他相关(正在补充!)
- 2. Cycle GAN 《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》
- 2.1 基础理论和推到
- 2.2 实验结果
- 2.3 限制和讨论
本BLOG是个人文章阅读和知识积累,有很多的相关基础知识介绍,小白可放心食用。但由于都是手打的,如果存在问题请联系修改,有的地方博主可能也会有疑问,标出的地方有懂的大佬可留言讨论。当前整理了GAN和CycleGAN的相关内容,接下来还会整理WGAN等内容。
1. GAN 《Generative Adversarial Nets》
Ian J. Goodfellow, Jean Pouget-Abadie, Yoshua Benjio etc.
https://dl.acm.org/doi/10.5555/2969033.2969125
1.1 相关概念
生成模型:学习得到联合概率分布P(x,y)P(x,y)P(x,y),即特征x和标签y同时出现的概率,然后可以求条件概率分布和其他概率分布。学习到的是数据生成的机制。
判别模型: 学习得到条件概率分布P(y∣x)P(y|x)P(y∣x),即在特征x出现的情况下标记y出现的概率
学习一个分布和近似一个分布?
1.2 公式理解
GAN的损失函数:
minGmaxDV(D,G)=Ex∼Pdata(x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))](1.1)\underset{G}{min}\underset{D}{max}V(D,G) = E_{x \sim P_{data}(x)}[log D(x)]+E_{z\sim p_{z}(z)}[log(1-D(G(z)))] \tag{1.1}GminDmaxV(D,G)=Ex∼Pdata(x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))](1.1)
为了学习数据x的分布pgp_gpg,定义了一个含有噪声的变量分布pz(z)p_z(z)pz(z);V是评分方程(这个值是越大越好的),G是一个生成器,D是一个判别器;训练D最大化真实数据和生成数据的区别,训练G最小化真实数据和生成数据的区别;
注意这个公式有两项,第一项是指是否能正确识别真实的数据;第二项是指是否能够识别生成的数据;
(1) 完美D
- 当D(x)D(x)D(x)完美识别真实数据和生成数据,Ex∼Pdata(x)[logD(x)]E_{x\sim P_{data}(x)}[log D(x)]Ex∼Pdata(x)[logD(x)]趋近于1,而Ez∼pz(z)[log(1−D(G(z)))]E_{z\sim p_{z}(z)}[log(1-D(G(z)))]Ez∼pz(z)[log(1−D(G(z)))]趋近于0,整体趋近于1.
- 当DDD不完美的时候,由于存在logloglog会使得两项都是一个负数;那训练的目的就是使得这个负数尽量小
- 因此需要最大化判别器带来的值,来使得判别器D最佳。
(2) 完美G
- G只和Ez∼pz(z)[log(1−D(G(z)))]E_{z\sim p_{z}(z)}[log(1-D(G(z)))]Ez∼pz(z)[log(1−D(G(z)))]相关,如果G完美忽悠D的时候,Ez∼pz(z)[log(1−D(G(z)))]E_{z\sim p_{z}(z)}[log(1-D(G(z)))]Ez∼pz(z)[log(1−D(G(z)))]输出的结果就是负无穷;
- 当不是那么完美的时候,输出的值就是一个负数;我们目的是使得这个输出尽量小,以使得生成器最佳。
- 所以需要最小化生成器带来值Ez∼pz(z)[log(1−D(G(z)))]E_{z\sim p_{z}(z)}[log(1-D(G(z)))]Ez∼pz(z)[log(1−D(G(z)))]
训练过程
训练D说明
生成器生成的数据就是V(G,D)的第二项的输入:g(z)=xg(z) = xg(z)=x,那么对z的求和就可以变为对x的求和。
将V(G,D)V(G,D)V(G,D)展开成积分/求和的形式
V(G,D)=∫xpdata⋅log(D(x))dx+∫zpz(z)⋅log(1−D(g(z)))=∫xpdata⋅log(D(x))+pg(x)⋅log(1−D(x))dx(1.2)\begin{aligned} V(G,D) &= \int_x p_{data} \cdot log(D(x))dx + \int_z p_z(z) \cdot log(1-D(g(z))) \\ &=\int_x p_{data} \cdot log(D(x)) + p_g(x) \cdot log(1-D(x))dx \end{aligned} \tag{1.2} V(G,D)=∫xpdata⋅log(D(x))dx+∫zpz(z)⋅log(1−D(g(z)))=∫xpdata⋅log(D(x))+pg(x)⋅log(1−D(x))dx(1.2)
对于 任意的(a,b)∈R2\{0,0}(a,b) \in R^2 \backslash \{0,0\}(a,b)∈R2\{0,0},函数y→alog(y)+blog(1−y)y \rightarrow a log(y) + blog(1-y)y→alog(y)+blog(1−y)是一个凸函数,我们需要求这个函数的最大值,就求导数
ay+b1−y=0y=aa+b\begin{aligned} \frac{a}{y}+\frac{b}{1-y} = 0 \\ y = \frac{a}{a+b} \end{aligned} ya+1−yb=0y=a+ba
则在y=aa+by = \frac{a}{a+b}y=a+ba的时候有最大值,对应于判别器的概率即为:
DG∗(x)=pdata(x)pdata(x)+pg(x)D_G^*(x) = \frac{p_{data}(x)}{p_{data}(x) + p_g(x)}DG∗(x)=pdata(x)+pg(x)pdata(x)
将最优解带入到价值函数之中
C(G)=maxDV(G,D)=Ex∼pdata[logDG∗(x)]+Ez∼pz[log(1−DG∗(G(z)))]=Ex∼pdata[logpdata(x)pdata(x)+pg(x)]+Ex∼pg[logpg(x)pdata(x)+pg(x)](1.3)\begin{aligned} C(G) &= \underset{D}{max}V(G,D) \\ &= E_{x \sim p_{data}}[log D_G^*(x)] + E_{z \sim p_z}[log(1-D_G^*(G(z)))] \\ &= E_{x \sim p_{data}}[log \frac{p_{data}(x)}{p_{data}(x) + p_g(x)}] + E_{x \sim p_g}[log \frac{p_g(x)}{p_{data}(x) + p_g(x)}] \end{aligned} \tag{1.3} C(G)=DmaxV(G,D)=Ex∼pdata[logDG∗(x)]+Ez∼pz[log(1−DG∗(G(z)))]=Ex∼pdata[logpdata(x)+pg(x)pdata(x)]+Ex∼pg[logpdata(x)+pg(x)pg(x)](1.3)
根据KL散度和JS散度的定义,可以将上面的公式改写为
C(G)=KL(Pdata∣∣pdata+pg2)+KL(pg∣∣pdata+pg2)−log(4)=2⋅JSD(pdata∣∣pg)−log(4)(1.4)\begin{aligned} C(G) &= KL(P_{data} || \frac{p_{data}+p_g}{2}) + KL(p_g || \frac{p_{data}+p_g}{2}) -log(4) \\ &= 2 \cdot JSD(p_{data}||p_g) - log(4) \end{aligned} \tag{1.4} C(G)=KL(Pdata∣∣2pdata+pg)+KL(pg∣∣2pdata+pg)−log(4)=2⋅JSD(pdata∣∣pg)−log(4)(1.4)
注意pdata+pg2\frac{p_{data}+p_g}{2}2pdata+pg这里除以2是为了保证是一个分布(即概率的积分是等于1的)
在固定D训练G的时候,我们就是为了最小化这个C(G)C(G)C(G),根据上面推导:
所以给出结论:当pg=pdp_g = p_dpg=pd时,DG∗(x)=12D_G^*(x) = \frac{1}{2}DG∗(x)=21,因此C(G)=log12+12=−log4C(G) = log\frac{1}{2} + \frac{1}{2} = -log4C(G)=log21+21=−log4,可以得到最小的C(G)C(G)C(G)
1.3 图片理解
绿色是生成的分布;黑色是真实分布;蓝色是判别器的分布
(b)表示训练辨别器,使得辨别器可以非常好地区分二者
©表示训练生成器,继续欺骗判别器
1.4 熵、交叉熵、KL散度、JS散度
熵
(Entropy
)
K-L散度源于信息论,常用的信息度量单位为熵
(Entropy)
H=−∑i=1Np(xi)⋅logp(xi)H = -\sum_{i=1}^{N}p(x_i) \cdot logp(x_i)H=−i=1∑Np(xi)⋅logp(xi)
注意这个对数没有确定的底数(可以使2、e或者10)。
熵度量了数据的信息量,可以帮助我们了解用概率分布近似代替原始分布的时候我们到底损失了多少信息;但问题是如何将熵值压缩到最小值,即如何编码可以达到最小的熵(存储空间最优化)。
-
交叉熵
: 量化两个概率分布之间的差异
H(p,q)=−∑xp(x)logq(x)H(p,q) = -\sum_{x}p(x) \; log \; q(x)H(p,q)=−x∑p(x)logq(x) -
KL散度
(kullback-Leibler divergence
):量化两种概率分布 P和Q之间差异的方式,又成为相对熵
将熵的定义公式稍加修改就可以得到K-L散度
的定义公式:
DKL(P∣∣Q)=∑i=1Np(xi)⋅(logp(xi)−logq(xi))=∑i=1Np(xi)⋅logp(xi)q(xi)D_{KL}(P||Q) = \sum_{i=1}^{N} p(x_i) \cdot (log p(x_i) - log q(x_i)) = \sum_{i=1}^{N}p(x_i) \cdot log \frac{p(x_i)}{q(x_i)}DKL(P∣∣Q)=i=1∑Np(xi)⋅(logp(xi)−logq(xi))=i=1∑Np(xi)⋅logq(xi)p(xi)
其中ppp和qqq分别表示数据的原始分布和近似的概率分布。
根据公式所示,K-L散度其实是数据的原始分布p和近似分布之间的对数差的期望。如果用2位底数计算,K-L散度表示信息损失的二进制位数,下面用期望表示式展示:
DKL(P∣∣Q)=E[logp(x)−q(x)]D_{KL}(P||Q) = E[log p(x) - q(x)]DKL(P∣∣Q)=E[logp(x)−q(x)]
注意:
- 从散度的定义公式中可以看出其不符合对称性(距离度量应该满足对称性)
- KL散度非负性
JS散度
(Jensen-shannon divergence
)
由于K-L散度是非对称的,所以对其进行修改,使得其能够对称,称之为 JS散度
(1) 设 M=12(P+Q)M = \frac{1}{2}(P+Q)M=21(P+Q),则:
DJS(P∣∣Q)=12DKL(P∣∣M)+12DKL(Q∣∣M)D_{JS}(P||Q) = \frac{1}{2}D_{KL}(P||M) + \frac{1}{2}D_{KL}(Q||M)DJS(P∣∣Q)=21DKL(P∣∣M)+21DKL(Q∣∣M)
(2) 将KL散度公式带入上面
DJS=12∑i=1Np(xi)log(p(xi)p(xi)+q(xi)2)+12∑i=1Nq(xi)⋅log(q(xi)p(xi)+q(xi)2)D_{JS} = \frac{1}{2}\sum_{i=1}^{N}p(x_i)log(\frac{p(x_i)}{\frac{p(x_i) + q(x_i)}{2}}) + \frac{1}{2}\sum_{i=1}^{N}q(x_i) \cdot log(\frac{q(x_i)}{\frac{p(x_i)+q(x_i)}{2}})DJS=21i=1∑Np(xi)log(2p(xi)+q(xi)p(xi))+21i=1∑Nq(xi)⋅log(2p(xi)+q(xi)q(xi))
(3) 将logloglog中的12\frac{1}{2}21放到分子上
DJS=12∑i=1Np(xi)log(2p(xi)p(xi)+q(xi))+12∑i=1Nq(xi)⋅log(2q(xi)p(xi)+q(xi))D_{JS} = \frac{1}{2}\sum_{i=1}^{N}p(x_i)log(\frac{2p(x_i)}{p(x_i) + q(x_i)}) + \frac{1}{2}\sum_{i=1}^{N}q(x_i) \cdot log(\frac{2q(x_i)}{p(x_i)+q(x_i)})DJS=21i=1∑Np(xi)log(p(xi)+q(xi)2p(xi))+21i=1∑Nq(xi)⋅log(p(xi)+q(xi)2q(xi))
(4) 提出2
DJS=12∑i=1Np(xi)log(p(xi)p(xi)+q(xi))+12∑i=1Nq(xi)⋅log(q(xi)p(xi)+q(xi))+log(2)D_{JS} = \frac{1}{2}\sum_{i=1}^{N}p(x_i)log(\frac{p(x_i)}{p(x_i) + q(x_i)}) + \frac{1}{2}\sum_{i=1}^{N}q(x_i) \cdot log(\frac{q(x_i)}{p(x_i)+q(x_i)}) + log(2)DJS=21i=1∑Np(xi)log(p(xi)+q(xi)p(xi))+21i=1∑Nq(xi)⋅log(p(xi)+q(xi)q(xi))+log(2)
注意这里是因为∑p(x)=∑q(x)=1\sum p(x) = \sum q(x) = 1∑p(x)=∑q(x)=1
JS散度的缺陷:当两个分布完全不重叠的时候,几遍两个分布的中心离得很近,其JS散度都是一个常数,所以其获取的梯度是0,是没有办法进行更新的。而两个分布没有重叠的原因:从理论和经验而言,真实的数据分布其实是一个低维流形(不具备高维特征),而是存在一个嵌入在高维度的低维空间内。由于维度存在差异,数据很可能不存在分布的重合。
1.5 其他相关(正在补充!)
2. Cycle GAN 《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》
一开始是应用到图像风格迁移上面的
2.1 基础理论和推到
- 概念描述
CycleGAN具有一个双判别器结构
- G:从X到Y的生成器
- F:从Y到X的生成器
- DxD_xDx:判别生成的X是真实X,还是生成的X
- DyD_yDy:判别生成的Y是真实Y,还是生成的Y
训练过程
- forward cycle-consistency loss
x→G(x)→F(G(x))≈xx \rightarrow G(x) \rightarrow F(G(x)) \approx xx→G(x)→F(G(x))≈x- 输入xxx,生成器GGG,得到输出y^=G(x)\hat{y} = G(x)y^=G(x),判别器DyD_yDy判别该输出是真实yyy还是生成的;
- 将y^\hat{y}y^继续输入到另一个生成器FFF之中,输出x^=F(y^)=F(G(x))\hat{x} = F(\hat{y}) = F(G(x))x^=F(y^)=F(G(x))
- backward cycle-consistency loss
y→F(y)→G(F(y))≈yy \rightarrow F(y) \rightarrow G(F(y)) \approx yy→F(y)→G(F(y))≈y- 输入yyy,生成器FFF,得到输出x^=F(y)\hat{x} = F(y)x^=F(y),判别器DxD_xDx判断该输出是真实xxx还是生成的;
- 将x^\hat{x}x^继续输入到另一个生成器GGG之中,输出y^=G(x^)=G(F(y))\hat{y} = G(\hat{x}) =G(F(y))y^=G(x^)=G(F(y))
损失函数
L(G,F,Dx,Dy)=LGAN(G,Dy,X,Y)+LGAN(F,Dx,Y,X)+λLcyc(G,F),(2.1)L(G,F,D_x,D_y) = L_{GAN}(G,D_y,X,Y) + L_{GAN}(F,D_x,Y,X) + \lambda L_{cyc}(G,F), \tag{2.1}L(G,F,Dx,Dy)=LGAN(G,Dy,X,Y)+LGAN(F,Dx,Y,X)+λLcyc(G,F),(2.1)
其中包含有两个原始GAN的损失和一个CycleGAN的损失。
G:X→YG:X \rightarrow YG:X→Y
LGAN(G,Dy,X,Y)=Ey∼pdata(y)[logDy(y)]+Ex∼pdata(x)[log(1−Dy(G(x)))],(2.2)L_{GAN}(G,D_y,X,Y) = E_{y \sim p_{data}(y)}[log D_y(y)] + E_{x \sim p_{data}(x)}[log(1 - D_y(G(x)))], \tag{2.2}LGAN(G,Dy,X,Y)=Ey∼pdata(y)[logDy(y)]+Ex∼pdata(x)[log(1−Dy(G(x)))],(2.2)
F:Y→XF:Y \rightarrow XF:Y→X
LGAN(F,Dy,X,Y)=Ex∼pdata(x)[logDx(x)]+Ey∼pdata(y)[log(1−Dx(F(y)))],(2.3)L_{GAN}(F,D_y,X,Y) = E_{x \sim p_{data}(x)}[log D_x(x)] + E_{y \sim p_{data}(y)}[log(1 - D_x(F(y)))], \tag{2.3}LGAN(F,Dy,X,Y)=Ex∼pdata(x)[logDx(x)]+Ey∼pdata(y)[log(1−Dx(F(y)))],(2.3)
在理论上,对抗学习可以学习到一种映射关系,以生成器G为例,它得到的输出的分布是与目标域是同分布。但是呢,在足够大的生成能力下,一个网络模型可以映射相同一系列输入图像到任意随机排列在目标域的图像中,其中任何一个学到的映射都可以得到与目标域匹配的输出分布。什么意思呢?就是可能有两个不同的生成器生成的图像都可能得到相同的能与目标域匹配的图像分布。为了得到一个满意的输出,因此单单一个对抗损失远远不够。为了进一步减少可能映射函数的空间域,作者认为学习到的映射因该具有循环一致性损失,就如我在方法中说的那样。
Lcyc(G,F)=Ex∼pdata(x)[∣∣F(G(x))−x∣∣1]+Ey∼pdata(y)[∣∣G(F(y))−y∣∣1].(2.4)L_{cyc}(G,F) = E_{x \sim p_{data}(x)}[||F(G(x)) -x||_1] + E_{y \sim p_{data}(y)}[||G(F(y)) - y||_1]. \tag{2.4}Lcyc(G,F)=Ex∼pdata(x)[∣∣F(G(x))−x∣∣1]+Ey∼pdata(y)[∣∣G(F(y))−y∣∣1].(2.4)
2.2 实验结果
2.3 限制和讨论
- 限制:
- 并非所有的例子都是非常好的效果的
- 颜色风格的变化容易实现,但是几何风格的变化难以实现
- 训练数据的特征分布会影响训练的过程,容易导致训练失败(比如只是用马和斑马进行训练,如果加入人骑在马上面进行风格迁移就会失败,因为没有学习到这个特征)
- 成对训练数据和非成对数据训练的效果仍然存在较大的区别
相关文章:
GAN和CycleGAN
文章目录1. GAN 《Generative Adversarial Nets》1.1 相关概念1.2 公式理解1.3 图片理解1.4 熵、交叉熵、KL散度、JS散度1.5 其他相关(正在补充!)2. Cycle GAN 《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Ne…...
源码项目中常见设计模式及实现
原文https://mp.weixin.qq.com/s/K8yesHkTCerRhS0HfB0LeA 单例模式 单例模式是指一个类在一个进程中只有一个实例对象(但也不一定,比如Spring中的Bean的单例是指在一个容器中是单例的) 单例模式创建分为饿汉式和懒汉式,总共大概…...
KDNM5000-10A-2剩余电流保护器测试仪
一、产品概述 KDNM5000-10A-2型剩余电流保护器测试仪(以下简称测试仪),是本公司改进产品,是符合国家标准《剩余电流动作保护器》(GB6829—95)中第8.3条和GB16917.1—1997中第9.9条验证AC型交流脱扣器动作特性要求的专用测试仪器。…...
C++实现线程池
C实现线程池一、前言二、线程池的接口设计2.1、类封装2.2、线程池的初始化2.3、线程池的启动2.4、线程池的停止2.5、线程的执行函数run()2.6、任务的运行函数2.7、等待所有线程结束三、测试线程池四、源码地址总结一、前言 C实现的线程池,可能涉及以下知识点&#…...
2023最新Java面试手册(性能优化+微服务架构+并发编程+开源框架)
Java面试手册 一、性能优化面试专栏 1.1、 tomcat性能优化整理 1.2、JVM性能优化整理 1.3、Mysql性能优化整理 二、微服务架构面试专栏 2.1、SpringCloud面试整理 2.2、SpringBoot面试整理 2.3、Dubbo面试整理 三、并发编程高级面试专栏 四、开源框架面试题专栏 4.1、Sprin…...
对灵敏度分析技术进行建模(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
完整爬虫学习笔记(第一章)
文章目录前言:fu:. 爬虫概述:hotdog:原理解剖:one: 服务器渲染:two: 前端JS渲染:fire: 第一个爬虫程序案例总结前言 最近正在学习Python网络爬虫的相关知识,鉴于本人Python水平有限 , 对Python并无太深的理解,所以此文章的主要目的在于抛砖引玉…...
会计师项目管理软件是什么,哪些必不可少的功能
欢迎阅读现代金融专业人士的会计师项目管理指南。在本文中,我们将深入探讨在基于项目的会计的各个方面使用项目管理方法的好处。我们还将教您面临哪些挑战以及如何为您的团队选择最佳工具。 为什么会计师的项目管理很重要? 在会计方面,目标始…...
第 8 章 优化
目录 8.1 优化概述 8.2 优化 SQL 语句 8.3 优化和指标 8.4 优化数据库结构 8.5 优化 InnoDB 表 8.6 优化 MyISAM 表 8.7 内存表的优化 8.8 了解查询执行计划 8.9 控制查询优化器 8.10 缓冲和缓存 8.11 优化锁定操作 8.12 优化 MySQL 服务器 8.13 衡量性能ÿ…...
剑指offer -- java题解
剑指offer -- java题解刷题地址1、数字在升序数组中出现的次数2、二叉搜索树的第k个节点3、二叉树的深度4、数组中只出现一次的两个数字5、和为S的两个数字6、左旋转字符串7、滑动窗口的最大值8、扑克牌顺子9、孩子们的游戏(圆圈中最后剩下的数)10、买卖股票的最好时机(一)刷题…...
若依ruoyi——手把手教你制作自己的管理系统【二、修改样式】
阿里图标一( ̄︶ ̄*)) 图片白嫖一((* ̄3 ̄)╭ ********* 专栏略长 爆肝万字 细节狂魔 请准备好一键三连 ********* 运行成功后: idea后台正常先挂着 我习惯用VScode操作 当然如果有两台机子 一个挂后台一个改前端就更好…...
2023.2.14每日一题——455. 分发饼干
每日一题题目描述解题核心解法一:双指针题目描述 题目链接:455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],…...
MySQL入门篇-MySQL常用字符函数小结
备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊常见的字符函数 函数名函数用途UPPER()返回大写的字符LOWER()返回小写的字符LTRIM()左边去掉空格TRIM()去掉空格RTRIM()右边去掉空格SPACE()返回指定长度的空格CONCAT()连接字符串CONCAT_WS()指定分隔符连接字符串CHAR_LEN…...
解决不同影像裁剪后栅格数据行列不一致问题
前言在处理栅格数据时,尽管用同一个矢量文件裁剪栅格数据,不同数据来源的栅格行列数也会出现不一致的情况。如果忽略或解决不好,会导致后续数据处理出现意想不到的误差或错误,尤其是利用编程实现数据处理时。因此,应当…...
visual studio2022配置opencv
标题:在vs下配置使用opencv 流程: 1、下载安装opencv 2、添加环境变量 3、vs中配置属性 4、使用 5、可能遇到的报错和解决 1、 下载安装opencv 官网下载地址: https://opencv.org/releases/ 我这里是windows环境,所以选择点击w…...
什么是销售管理?销售管理的五大职能
销售管理听起来很简单,似乎只是负责销售并确保客户满意,但事实上,它远不止于此。 销售管理的实际职能包括监督销售团队的工作,制定计划和设定目标,通常还包括确保销售流程的效率以获得最佳业务结果。 什么是销售管理…...
[CVPR‘22] EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks
paper: https://nvlabs.github.io/eg3d/media/eg3d.pdfproject: EG3D: Efficient Geometry-aware 3D GANscode: GitHub - NVlabs/eg3d总结: 本文提出一种hybrid explicit-implicit 3D representation: tri-plane hybrid 3D representation,该方法不仅有…...
Learning C++ No.9【STL No.1】
引言: 北京时间:2023/2/13/18:29,开学正式上课第一天,直接上午一节思想政治,下午一节思想政治,生怕我们……,但,我深知该课的无聊,所以充分利用时间,把我的小…...
Apifox推荐-django后台验证token配置
最近事情很多,但是我还是想写一片推荐apifox的文章。 优秀的UI,清晰地逻辑,丰富的功能。对于我们这种业余选手来说,他真的很便利。 更新新版后有了更多贴心的功能,让你感觉他是一个有温度的工具。 最重要的是…...
SAS应用入门学习笔记6
SQL (SAS): Features: 1)不需要在每个query中重复调用每个SQL; 2)每个statement都是独立去完成的; 3)我们是没有proc print和proc sort语句的;(order by) key synta…...
【3D目标检测】Pseudo-Stereo for Monocular 3D Object Detection in Autonomous Driving
目录概述细节背景与整体流程图像级别生成特征级别生成损失函数学习深度感知的特征概述 本文是基于单目图像的3D目标检测方法。 【2021】【MonoDLE】 研究的问题: 能否借助立体图像检测算法提高单目图像检测的效果如何实现右侧图像的生成 解决的方法: 受启发于伪…...
git 常用命令之 git branch
大家好,我是 17。 新建 git 分支 分支是并行开发的基础。分支名称的本质是对分支最后一个提交的引用。分支有多个,但 HEAD 只有一个,可以认为 HEAD 是"current branch"(当下的分支)。当你用git switch切换分支的时候,…...
Oracle数据泵
Oracle 数据泵:概览 作为一个基于服务器的用于高速移动数据与元数据的工具, Oracle 数据泵具有以下特点: •可通过 DBMS_DATAPUMP 调用 •可提供以下工具: – expdp – impdp – 基于 Web 的界面 •提供四种数据移动方法ÿ…...
ACWING寒假每日一题python
ACWING寒假每日一题 一、孤独的照片 一个点一个点的来看,比如对于GHGHG中间的G,找到他的左边的G,以及右边的G的位置,l,r分别等于1,答案就要多加上11 但是如果对于 GHHGHHG 中间的G,我们可以看到l,r等于2&a…...
御黑行动来袭--助力三月重保,构筑安全防线!
三月重保在即,重要网站及业务系统“零风险 零事故”是终极目标,作为业界网络安全实战派“老兵”--知道创宇将一如既往,为您提供重保期间“万无一失”的重要网站及业务系统防护。 值此三月重保的重要备战期,知道创宇推出由主力产品…...
JavaScript HTML DOM 元素 (节点)
HTML DOM 是指 HTML 文档对象模型,它是一种用于创建和处理 HTML 页面的标准 API。在 JavaScript 中,HTML DOM 可以被用来操作和修改网页的内容和结构。在本篇文章中,我们将详细探讨 JavaScript HTML DOM 元素 (节点)的作用以及在实际工作中的…...
mybatis-plus ---2
mybatis-plus插件 官网地址 分页插件 MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能 配置并使用自带分页插件 Configuration MapperScan("com.itzhh.mapper")//可以将主类中的注解移到此处 public class MybatisPlusConfig {Beanpublic …...
如何在Qt中设置背景图片,且不覆盖其它控件
正常情况,我们直接通过在样式表里设置背景图片会出现背景图片覆盖其它控件的情况,比如下面操作: 首先右击空白处,点击改变样式表。 然后选择background-image 然后点击铅笔图标 之后我们要先添加前缀,也就是我们…...
PMP考前冲刺2.14 | 2023新征程,一举拿证
承载2023新一年的好运让我们迈向PMP终点一起冲刺!一起拿证!每日5道PMP习题助大家上岸PMP!!!PMP项目管理题目1-2:1.公司了解到一个项目机会,领导让之前做过类似项目的项目经理报告一个粗略的成本…...
feign进行文件上传报错解决方案及有多个入参时的注意事项
一、情景回顾1、简单的文件上传的接口/*** 文件上传MultipartFile格式** param multipartFile 源文件* param filename 自定义文件名称,允许为空,为空时直接从源文件中拿* return*/RequestMapping("/uploadFileForMultipartFile")LogModuleAnn…...
增城商城网站建设/网站流量统计
网络的不断升级,直接带动手机行业的发展。如果没有网络的支持,手机将会缺少很多乐趣。从2G到4G时代,网络的不断升级,网速上也有了明显的提升,目前关于5G网络的消息传得沸沸扬扬,4G网络已能够满足我们的日常…...
网上接单做网站/菏泽资深seo报价
转自:https://www.cnblogs.com/xudong-bupt/p/3504442.html 本文:http://www.cnblogs.com/xudong-bupt/p/3504442.html Linux C 下面读取文件夹要用到结构体struct dirent,在头#include <dirent.h>中,如下: #in…...
说服企业做网站/百度怎么精准搜索
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!说实话腾讯的企业邮箱真心不错!腾…...
东莞网站开发定制/网站排名优化方案
在我国历史上曾呈“众山皆有”的东北虎,如今濒临灭绝的危险。受人类活动增加、森林砍伐、栖息地退化等多种因素的影响,野生东北虎种群及其栖息地在不断地萎缩,自2012年至2015年期间,有关部门在中国境内通过野外红外相机仅监测到不…...
做招聘网站赚钱么/搜索引擎优化的重要性
在sparkR在配置完成的基础上,本例采用Spark on yarn模式,介绍sparkR运行的一个例子。 在spark的安装目录下,/examples/src/main/r,有一个dataframe.R文件。该文件默认是在本地的模式下运行的,不与hdfs交互。可以将脚本…...
手机微信网站怎么做的好处/高清视频网络服务器
xiaohaidepoli原文Envelop Envelope也称包络线,是一个矩形区域,是每个几何形体的最小外接矩形。每个Geometry都拥有一个Envelope,包括Envelope自身。 它定义了XMax,XMin,YMax,YMin,Height&#…...