tensorflow
文章平均质量分 92
以实战为主题,学习tensorflow的使用。
盼小辉丶
记录学习历程,分享学习心得,关注深度学习,欢迎交流学习.
展开
-
TensorFlow实时任意风格迁移,送女朋友的创意礼物有了
神经风格迁移一经提出,便引起了业界的巨大兴趣,一些网站允许用户上传照片以进行风格迁移,甚至有一些有人将其用于商品销售(例如某宝的“DIY数字油画定制照片”等等)。当七夕来临,又到了挠头想送女朋友什么礼物的时候了,虽然定制照片很有意义,但是并不能保证风格是自己想要的呀,这种固定的风格怎么能是技术宅的 Style?当然是用 TensorFlow 实现实时任意风格迁移,为女朋友用心选一张最合适的风格化照片了。原创 2021-08-01 09:47:51 · 4002 阅读 · 153 评论 -
TensorFlow实现条件批归一化(Conditional Batch Normalization)
批归一化 (Batch Normalization, BN) 是深度学习中常用的网络训练技巧,它可以加快了模型的收敛速度,从而使得训练深层网络模型更加容易和稳定,但是在生成对抗网络 (Generative Adversarial Networks, GAN) 中使用 BN 会导致生成图片在一定程度上出现同质化的缺点。利用条件批归一化可以解决此问题,本文讲解了条件批归一化,并使用TensorFlow2进行实现。原创 2021-07-26 19:28:34 · 14056 阅读 · 60 评论 -
TensorFlow实现去噪自编码器(Denoising Autoencoder)
当我们在夜晚拍照时,或者其他黑暗环境时,我们的照片总是被大量的噪点所充斥,严重影响了图像质量,而去噪自编码器 (Denoising Autoencoder, DAE) 的目的就是用来去除这些图像中的噪声。本文将利用Tensorflow2实现使用 MNIST 数据集的 DAE。原创 2021-07-22 10:33:18 · 10698 阅读 · 40 评论 -
TensorFlow实现自注意力机制(Self-attention)
自注意力机制 (Self-attention) 随着自然语言处理 (Natural Language Processing, NLP) 模型(称为“Transformer”)的引入而变得流行。可以利用自注意力来观察特征图中的每个像素,并将注意力集中在更加重要的像素上。原创 2021-07-19 17:39:23 · 23818 阅读 · 67 评论 -
TensorFlow2实现空间自适应归一化(Spatial Adaptive Normalization, SPADE)
GauGAN的主要创新是用于分割图的层归一化方法,称为空间自适应归一化(Spatial Adaptive Normalization, SPADE)。自此,GAN归一化家族中又添加了一个新秀归一化技术。原创 2021-07-14 18:50:56 · 6134 阅读 · 32 评论 -
Tensorflow2实现像素归一化与频谱归一化
归一化技术的改进是生成对抗网络(Generative Adversarial Networks, GAN)中众多改进的一种,本文介绍常用于当前GAN中的像素归一化(Pixel normalization, 或称为像素规范化)和频谱归一化(Spectral normalization, 或称频谱规范化),在高清图片生成中,这两种归一化技术得到了广泛使用,最后使用Tensorflow2实现像素归一化和频谱归一化。原创 2021-07-10 16:29:28 · 6502 阅读 · 49 评论 -
学会CycleGAN进行风格迁移,实现自定义滤镜
我们已经在多篇博客中讲解了有关CycleGAN的原理,同时也应用CycleGAN完成了多种有趣的应用,包括图片上色以及性别转换,那么CycleGAN在风格迁移的应用中有怎样的表现呢?在本文中我们将利用CycleGAN实现风格迁移的应用,来探索CycleGAN的更多可能性。本文利用Tensorflow2实现风格迁移。原创 2021-07-05 10:13:43 · 4808 阅读 · 117 评论 -
改进神经风格迁移
神经风格迁移使用CNN将一幅图像的艺术风格转移到另一幅图像。但神经风格迁移存在两个缺陷,首先是神经风格迁移基于神经网络训练反向传播,因此速度较慢,同时风格迁移会获取风格图像所有风格信息,包括颜色和笔触等,不能进行更好的控制。因此许多论文和应用针对原始的神经风格迁移的缺点进行了改进。学会神经风格迁移,免费获取价值百元DIY数字油画定制照片。原创 2021-07-04 10:06:32 · 10329 阅读 · 37 评论 -
TensorFlow2 实现神经风格迁移,DIY数字油画定制照片
图像可以分解为内容和风格,内容描述了图像中的构成,例如图像中的花草树木,风格是指图片的细节,例如湖面的纹理和树木的颜色。在一天的不同时间同一建筑的照片具有不同的色调和亮度,可以被视为具有相同的内容但风格不同。神经风格迁移使用CNN将一幅图像的艺术风格转移到另一幅图像。神经风格迁移仅需要两个图像——内容图像和样式图像。可以使用经过训练的CNN模型(例如VGG)将风格从风格图像迁移到内容图像上。原创 2021-07-01 10:38:43 · 10544 阅读 · 244 评论 -
BicycleGAN详解与实现
由于GAN固有的特性,诸如pix2pix、cycleGAN等都有一个缺点——图像的输出看起来几乎总是相同的,这是它学会过滤了噪声的随机性。为了进行多样化图像转换,本文详解了BicycleGAN如何解决此问题以生成更丰富的图像变化。BicycleGAN可以找到潜在编码z与目标图像B之间的关系,因此生成器可以在给定不同的z时学会生成不同的图像,BicycleGAN通过组合cVAE-GAN和cLR-GAN这两种模型来做到这一点,本文利用Tensorflow2实现BicycleGAN。原创 2021-06-25 16:05:45 · 8738 阅读 · 155 评论 -
还没有女朋友的朋友们,你们有福了,学会CycleGAN把男朋友变成女朋友
转眼又到了毕业季,还在为没有女朋友而着急么?还在为没有谈一场青春的恋爱而遗憾么?还没有女朋友的朋友们,你们有福了!!!没有女朋友,还能没有男朋友么?学会CycleGAN,把男朋友变成女朋友,赶快学起来吧。原创 2021-06-13 15:45:48 · 3674 阅读 · 181 评论 -
图文详解WGAN及其变体WGAN-GP并利用Tensorflow2实现WGAN与WGAN-GP
自GAN提出以来,许多论文尝试通过使用启发式方法(例如尝试不同的网络体系结构,超参数和优化器)来解决GAN训练的不稳定性。WGAN缓解甚至消除了许多GAN训练过程中存在的问题。相较于原始GAN的其根本的改进是对损失函数的修改。从理论上讲,如果两个分布不相交,则JS散度将不再是连续的,因此将不可微,从而导致梯度为零。 WGAN通过使用一个新的损失函数来解决此问题,该函数在任何地方都是连续且可微的!本文通过对WGAN及其变体WGAN-GP的详解与实现,介绍了解决GAN训练过程中存在问题的一种有效方法。原创 2021-05-25 15:58:05 · 18555 阅读 · 73 评论 -
生成模型应用——使用变分自编码器(VAE)控制人脸属性生成人脸图片
变分自编码器(VAE)属于生成模型家族。VAE的生成器能够利用连续潜在空间的矢量产生有意义的输出。通过潜在矢量探索解码器输出的可能属性。在VAE中,重点在于潜编码的变分推理。我们将使用VAE生成一些人脸图片,并且可以通过修改潜变量来控制人脸属性。例如,如果知道了微笑属性的方向向量,则可以将其添加到潜在变量中以在人脸图片中添加微笑表情。原创 2021-05-23 22:09:40 · 5994 阅读 · 24 评论 -
自编码器模型详解与实现(采用tensorflow2.x实现)
自编码器(autoencoder)于1980年代Geoffrey Hinton等人首次推出,自编码器的基本构建块是编码器和解码器。编码器负责将高维输入减少为一些低维潜(隐)变量。解码器是将隐变量转换回高维空间的模块。编码器-解码器体系结构还用于其他机器学习任务中,例如语义分割,其中神经网络首先了解图像表示,然后生成像素级标签。本文对自编码器的原理进行详解,同时使用tensorflow2.3.0实现自编码器模型。原创 2021-05-22 14:28:51 · 3187 阅读 · 4 评论 -
深度学习与遗传算法的碰撞——利用遗传算法优化深度学习网络结构(详解与实现)
近年来,深度学习模型性能取得了飞跃,可以在单个网络中使用大量隐藏层。训练深度学习模型可能会占用大量计算资源,并且通常在图形处理单元(GPU)上进行,同时为了获得最优的模型性能,可能需要网络架构和超参数的反复修改和调整,通常此过程取决于实际问题和网络架构设计人员的经验,而利用遗传算法可以将此过程自动化,同时可以在可接受的时间开销内找到更好的网络架构。本文使用MNIST数据集和Tensorflow构建简单的全连接网络,利用遗传算法优化隐藏层数和每层的节点数,使用的原理同样适用于更复杂的网络和数据集。原创 2021-01-06 15:58:17 · 5923 阅读 · 15 评论 -
StackGAN详解与实现(使用tensorflow2.x实现)——利用文本合成逼真的图像
StackGAN具有两个GAN堆叠在一起形成了一个能够生成高分辨率图像的网络。它分为两个阶段,Stage-I和Stage-II。 Stage-I网络生成具有基本颜色和粗略草图的低分辨率图像,并以文本嵌入为条件,而Stage-II网络获取由Stage-I网络生成的图像并生成以文本嵌入为条件的高分辨率图像。基本上,第二个网络可以纠正缺陷并添加细节,产生更逼真的高分辨率图像。原创 2020-11-03 14:34:57 · 2959 阅读 · 13 评论 -
变分自编码器(VAE)详解与实现(tensorflow2.x)
变分自编码器(VAE)属于生成模型家族。VAE的生成器能够利用连续潜在空间的矢量产生有意义的输出。通过潜在矢量探索解码器输出的可能属性。在VAE中,重点在于潜编码的变分推理。因此,VAE为潜在变量的学习和有效贝叶斯推理提供了合适的框架。在结构上,VAE与自编码器相似。它也由编码器(也称为识别或推理模型)和解码器(也称为生成模型)组成。 VAE和自编码器都试图在学习潜矢量的同时重建输入数据。但是,与自编码器不同,VAE的潜在空间是连续的,并且解码器本身被用作生成模型。原创 2020-10-24 20:32:14 · 3650 阅读 · 10 评论 -
CycleGAN详解与实现(采用tensorflow2.x实现)
源域中的图像通过变换转移到目标域,从而生成新的转换图像。使用跨域转换,可以通过转换现有图像来生成接近真实的新合成图像。与其他跨域转换算法(如pix2pix)不同,CycleGAN不需要成对的训练图像即可工作。在成对的图像中,训练数据应该是由源图像及其对应的目标图像组成的一对图像。原创 2020-10-25 12:31:24 · 5270 阅读 · 16 评论 -
StackedGAN详解与实现(采用tensorflow2.x实现)
StackedGAN提出了一种用于分解潜在表示以调节生成器输出的方法。与InfoGAN学习如何调节噪声以产生所需的输出,StackedGAN将GAN分解为GAN堆栈。每个GAN均以通常的区分生成器生成图片的方式进行独立训练,并带有自己的潜在编码。原创 2020-10-19 10:26:04 · 4090 阅读 · 5 评论 -
InfoGAN详解与实现(采用tensorflow2.x实现)
最初的GAN能够产生有意义的输出,但是缺点是它的属性无法控制。例如,无法明确向生成器提出生成女性名人的脸,该女性名人是黑发,白皙的肤色,棕色的眼睛,微笑着。这样做的根本原因是因为使用的100-dim噪声矢量合并了生成器输出的所有显着属性。如果能够修改原始GAN,从而将表示形式分为合并和分离可解释的潜在编码向量,则可以告诉生成器要合成什么。InfoGAN可以学习分离的离散编码和连续编码,以修改生成器输出属性。原创 2020-10-16 13:23:21 · 5188 阅读 · 56 评论 -
ACGAN(Auxiliary Classifier GAN)详解与实现(tensorflow2.x实现)
ACGAN的原理GAN(CGAN)相似。对于CGAN和ACGAN,生成器输入均为潜在矢量及其标签,输出是属于输入类标签的伪造图像。对于CGAN,判别器的输入是图像(包含假的或真实的图像)及其标签, 输出是图像属于真实图像的概率。对于ACGAN,判别器的输入是一幅图像,而输出是该图像属于真实图像的概率以及其类别概率。原创 2020-10-15 13:42:09 · 17062 阅读 · 3 评论 -
CNN训练可视化特征图(tensorflow2.x实现)
卷积层由多个卷积核组成,可以将每个卷积核视为一种特征提取方式。当一个卷积核处理图像数据后,卷积核会提取图中的特征,形成新的特征图。原创 2020-10-01 11:46:51 · 4135 阅读 · 7 评论 -
深度卷积生成对抗网络(DCGAN)原理与实现(采用Tensorflow2.x)
Ian Goodfellow 在首次提出GAN,使用了形象的比喻来介绍 GAN 模型:生成网络 G 的功能就是产生逼真的假钞试图欺骗鉴别器 D,鉴别器 D 通过学习真钞和生成器 G 生成的假钞来掌握钞票的鉴别方法。这两个网络在相互博弈中进行训练,直到生成器 G 产生的假钞使鉴别器 D 难以分辨。而DCGAN是使用卷积操作和反卷积操作来替代原始GAN中的全连接操作。原创 2020-09-30 19:05:49 · 3859 阅读 · 0 评论 -
Ubuntu18.04安装python3.7.7和tensorflow-gpu 2.2.0
目前而言,对于深度学习,python还是具有相当的优势,虽然Julia在人工智能方面开始展露头角,但是python的支持度还是更好些,社区更加完善。因此,作为学习深度学习而言,python还是首选,在此基础上,进行深度学习库的选择,此分享选择tensorflow.原创 2020-07-03 20:24:06 · 3479 阅读 · 11 评论