轻量级的对抗生成网络库

简介: 轻量级的对抗生成网络库
TF-GAN: A Generative Adversarial Networks library for TensorFlow.
Project description
TF-GAN is a lightweight library for training and evaluating Generative Adversarial Networks (GANs).
See the README on GitHub for further documentation.

tensorflow 安装包体积已经不小了,当我们只想用对抗生成一种神经网络的时候,可以直接选择 tf-gan 来进行对抗生成

官方教程网址https://github.com/tensorflow/gan

安装 tensorflow-gan 2.0.0

pip install tensorflow-gan
安装 TF-GAN,并将其与“import tensorflow_gan as tfgan”搭配使用。

TF - GAN入门:TensorFlow 2.0 的轻量级 GAN 库


2017 年,谷歌推出了用于训练和评估 生成对抗网络 (Generative Adversarial Networks, GAN) 的轻量级库 TF-GAN。自那时起,TF-GAN 便在大量极具影响力的论文和项目中被广泛应用。


具影响力的论文:


https://github.com/tensorflow/gan#who-uses-tf-gan


今天,各个推出 TF-GAN 的新版本。此版本拥有诸多升级和新功能:


Cloud TPU 支持:您现在可以使用 TF-GAN 在 Google 的 Cloud TPU 上训练 GAN。张量处理单元 (TPU) 是 Google 定制开发的 专用集成电路 (application-specific integrated circuits, ASIC),用于加速机器学习工作负载。以往在其他硬件平台上需花费数周时间训练的模型,在 TPU 上仅需数小时即可完成。我们将在下文中详细介绍一个开源示例,该示例演示如何在 TPU 上通过 ImageNet 训练图像生成 GAN。此外,您还可以在 Colab 的 TPU 教程中免费运行 TF-GAN。


GAN 自学课程:免费的学习资源将有助于机器学习的发展与传播。为此,我们以 Google 内部使用多年的 GAN 课程为基础,发布了一套 GAN 自学课程。您可以通过观看视频、阅读文字介绍、跟随练习,并运行示例代码,这些都将在 机器学习 精通之路上助您一臂之力。


GAN 标准指标:有时学术论文会“发明一个指标”,然后用其来衡量结果。为方便比较论文结果,TF-GAN 简化了指标的使用。有时除了能够纠正阻碍标准开源实现数值的精度和统计偏差外,TF-GAN 指标在计算上也非常高效,并且其在语法上易于使用。


示例:GAN 研究的发展速度异常迅猛。虽然 TF-GAN 并不打算继续保留所有 GAN 模型上的工作示例,但我们还是添加了一些相关的内容,其中包括在 TPU 上训练的Self-Attention GAN。


PyPi 包:现在您可使用“pip install tensorflow-gan”安装 TF-GAN,并将其与“import tensorflow_gan as tfgan”搭配使用。简单易上手,对不对~


Colaboratory 教程:我们已完成改进,教程现在可以与 Google 的免费 GPU 和 TPU 搭配使用。


GitHub 代码库:TF-GAN 现在拥有自己的代码库。这样一来,系统可以更轻松地跟踪更改,并为开源贡献者提供相应的权限。


TensorFlow 2.0:TF-GAN 目前兼容 TF 2.0,但我们仍在不断完善,以使其兼容 Keras。您可以在 tensorflow.org/beta 中发现一些不使用 TF-GAN 的 GAN Keras 示例,包括 DCGAN、Pix2Pix 和 CycleGAN。


使用 TF-GAN 的项目


Cloud TPU 上的 Self-Attention GAN


Self-Attention GAN 使用 Inception Score 和 Frechet Inception Distance 两大指标,已在图像生成方面取得目前最好的成果(SOTA)。我们将此模型的两个版本开源,让其中一个版本在 Cloud TPU 上以开源方式运行。TPU 与 GPU 的版本性能相同,但训练速度提高了 12 倍。


Self-Attention GAN 链接:


https://arxiv.org/abs/1805.08318


Inception Score 链接:


https://github.com/tensorflow/gan/blob/master/tensorflow_gan/python/eval/classifier_metrics.py#L707


Frechet Inception Distance 链接:


https://github.com/tensorflow/gan/blob/master/tensorflow_gan/python/eval/classifier_metrics.py#L1140


左图:真实图像中图:生成图像 (GPU) 右图:生成图像 (TPU)


左图:将 Frechet Inception Distance 和 Inception Score 用作训练步骤的函数。右图:将 Frechet Inception Distance 和 Inception Score 用作训练时间的函数


图像扩展


业内对图像修复(即以周围环境为基础填充图像的缺失部分)的研究已经非常充分,但对与之相关的图像扩展领域却研究甚少。图像扩展要求算法以合理且一致的方式将图像扩展到其边界之外。这在虚拟现实环境中非常有用,此类环境经常需要利用图像扩展模拟不同的相机特性。此外,全景拼接等计算摄影应用也需要借助此技术将不同的图像平滑地缝合到一起。Google 研究工程师最近开发了一个新算法,并使用 TPU 对其加以训练。与以往方法相比,该算法在扩展图像时降低了失真现象的出现。


新算法 链接:


http://arxiv.org/abs/1908.07007


谷歌用无人机拍摄了美丽的 Charles River,并使用 Uncrop 技术(2019 ICCV 中将提到)来扩大视野。


图像扩展的部分示例:右列为采用 TF-GAN 的新方法。与 DeepFill 和 PConv 这两种最先进的图像修复方法相比,此方法生成的对象形状更优(第一/第二行),纹理质量也很出色(第二/第三行)。输入图像已扩展至遮挡区域(左列灰色部分所示)。


BigGAN


DeepMind 研究团队结合架构更改、更大的网络和更大的批处理以及 Google TPU,改进了论文中最先进的图像生成技术。该团队利用 TF-GAN 的评估模块对指标进行标准化处理,并且能够在任何图像尺寸上展现其质量的提升。如需使用经过预训练的 BigGAN 生成器,请访问 TF Hub。


论文 链接:


https://arxiv.org/abs/1809.11096


TF Hub 链接:


https://tfhub.dev/s?publisher=deepmind&q=biggan


类条件示例出自论文《针对高保真自然图像合成的大规模 GAN 训练》 (Large Scale GAN Training for High Fidelity Natural Image Synthesis)


GANSynth


研究人员使用 TF-GAN 创建了可生成音符的 GAN 神经网络 GANSynth。与之前的研究相比,这些音符更具现实意义。借助 GAN 的潜在空间 (latent space),GANSynth 可以在生成相同音符的同时,在其他属性(例如乐器)间平顺地插入音符。


GANSynth 链接:


https://magenta.tensorflow.org/gansynth


Samples:


音色一致 | 插入音符


巴赫的《G大调第一号无伴奏大提琴组曲》(Prelude Suite №1 in G major) MIDI(来自 GANSynth)。


真实数据 | GANSynth | WaveNet | WaveGAN


Samples 链接:


https://medium.com/tensorflow/introducing-tf-gan-a-lightweight-gan-library-for-tensorflow-2-0-36d767e1abae


使用 GAN 将显微镜图像归一化


对实验室培养的细胞开展科学实验通常需耗时数周。在如此长的时间内,实验室环境可能会发生意外变化。这将会导致每周基于显微镜的细胞图像变化巨大,即使观察的细胞相同,也会对日后的分析造成不利影响。Google 科学家使用 TF-GAN 创建了“均衡器 (Equalizer)”,旨在减少细胞图像的多余变化,同时保留相关属性。


如图所示,应用于某个细胞切片图像的均衡器输出9 周图像演变实验的每周图像。一些切片的属性有所变化(例如平均背景色),但“图像中的细胞数量”等属性未发生变化。


致谢


感谢 Joel Shor 和 Yoel Drori、Aaron Sarna(Google Research)、David Westbrook 和 Paige Bailey(Google)。


如果想详细了解 TF - GAN 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:


Cloud TPU


(https://cloud.google.com/tpu/docs/tpus)


开源示例


(https://github.com/tensorflow/gan/tree/master/tensorflow_gan/examples/self_attention_estimator)


Colab 的 TPU 教程


(https://colab.research.google.com/github/tensorflow/gan/blob/master/tensorflow_gan/examples/colab_notebooks/tfgan_on_tpus.ipynb)


GAN 自学课程


(https://developers.google.com/machine-learning/gan/)


GAN 标准指标


(https://github.com/tensorflow/gan/tree/master/tensorflow_gan/python/eval)


示例 链接


(https://github.com/tensorflow/gan/tree/master/tensorflow_gan/examples)


Colab 教程


(https://github.com/tensorflow/gan/blob/master/tensorflow_gan/examples/colab_notebooks/tfgan_tutorial.ipynb)


PyPi 包


(https://pypi.org/project/tensorflow-gan/)


GitHub 代码库

(https://github.com/tensorflow/gan/blob/master/tensorflow_gan/examples/colab_notebooks/tfgan_tutorial.ipynb)
DCGAN
(https://www.tensorflow.org/beta/tutorials/generative/dcgan)
Pix2Pix
(https://www.tensorflow.org/beta/tutorials/generative/pix2pix)
CycleGAN


相关文章
|
5月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
86 4
|
1月前
|
机器学习/深度学习 计算机视觉 Python
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力本文提出了一种简单且高效的卷积神经网络(ConvNets)注意力模块——SimAM。与现有模块不同,SimAM通过优化能量函数推断特征图的3D注意力权重,无需添加额外参数。SimAM基于空间抑制理论设计,通过简单的解决方案实现高效计算,提升卷积神经网络的表征能力。代码已在Pytorch-SimAM开源。
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
|
3月前
|
JavaScript 前端开发 API
网络请求库 – axios库
网络请求库 – axios库
205 60
|
2月前
|
机器学习/深度学习 Web App开发 人工智能
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》这篇论文提出了一种基于YOLOv3-Tiny的轻量级目标检测模型Micro-YOLO,通过渐进式通道剪枝和轻量级卷积层,显著减少了参数数量和计算成本,同时保持了较高的检测性能。
39 2
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
|
2月前
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
67 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
2月前
|
编解码 人工智能 文件存储
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
YOLOv7是一种新的实时目标检测器,通过引入可训练的免费技术包和优化的网络架构,显著提高了检测精度,同时减少了参数和计算量。该研究还提出了新的模型重参数化和标签分配策略,有效提升了模型性能。实验结果显示,YOLOv7在速度和准确性上超越了其他目标检测器。
53 0
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
|
3月前
|
数据采集 JSON API
🎓Python网络请求新手指南:requests库带你轻松玩转HTTP协议
本文介绍Python网络编程中不可或缺的HTTP协议基础,并以requests库为例,详细讲解如何执行GET与POST请求、处理响应及自定义请求头等操作。通过简洁易懂的代码示例,帮助初学者快速掌握网络爬虫与API开发所需的关键技能。无论是安装配置还是会话管理,requests库均提供了强大而直观的接口,助力读者轻松应对各类网络编程任务。
122 3
|
3月前
|
机器学习/深度学习 JSON API
HTTP协议实战演练场:Python requests库助你成为网络数据抓取大师
在数据驱动的时代,网络数据抓取对于数据分析、机器学习等至关重要。HTTP协议作为互联网通信的基石,其重要性不言而喻。Python的`requests`库凭借简洁的API和强大的功能,成为网络数据抓取的利器。本文将通过实战演练展示如何使用`requests`库进行数据抓取,包括发送GET/POST请求、处理JSON响应及添加自定义请求头等。首先,请确保已安装`requests`库,可通过`pip install requests`进行安装。接下来,我们将逐一介绍如何利用`requests`库探索网络世界,助你成为数据抓取大师。在实践过程中,务必遵守相关法律法规和网站使用条款,做到技术与道德并重。
55 2
|
3月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
73 3
|
3月前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
86 8