当前位置:首页 > 技术分析 > 正文内容

Chainer-GAN库发布,利用Chainer实现多种GAN算法及特征匹配去噪

ruisui884个月前 (02-16)技术分析14

原文来源:GitHub、Arxiv

「机器人圈」编译:嗯~阿童木呀、BaymaxZ

Chainer是一个基于Python的深度学习框架。它基于动态计算图以及面向对象的高级API,以构建并训练神经网络,提供自动微分API。它还支持CUDA / cuDNN使用CuPy进行高性能训练。

Chainer-GAN库汇集了当前最高水准的基于Chainer实现的GAN算法;

这些代码已在Cifar-10数据集中,使用inceptionscore进行过评估;

请注意,代码在基于原论文的基础上做了些许修改。

如何使用?

首先要阅读安装要求:

pip install -r requirements.txt

此实现已通过以下版本进行测试。

python 3.5.2


https://github.com/hvy/chainer-inception-score中可获得inception score模块,下文将进行详细解读。

git submodule update -i

下载inception模型。

cd common/inception

你可以使用train.py开始进行训练。

python train.py --gpu 0 --algorithm dcgan --out result_dcgan

请参阅example.sh来训练其他算法。

定量评估

Inception scores是通过对5000个样本进行10次平均评估得到的。

FID是通过对5000个训练数据集和10000个生成样本进行计算的。

生成的图像

WGAN-GP

DFM

Cramer GAN

DRGAN

DCGAN

Minibatch discrimination

BEGAN

Inception Score

Inception score模块的Chainer实现发布于《训练生成对抗网络的技术改进》(ImprovedTechniques for Training GANs)这篇论文中。代码源自OpenAI的官方开源代码(
https://github.com/openai/improved-gan)。

Inception Score是OpenAI的Tim Salimans、GANs之父IanGoodfellow等人2016年在上述论文中提出的一种方法,使用预训练的分类器网络和采样图像,评估诸如VAE和GAN之类的生成式模型。

这正是基于以下事实:良好的样本(图像看起来像来自真实数据分布的图像)预计会产生:

低熵p(y|x),即高预测置信度

高熵p(y),即高度变化的预测

其中x是图像,p(y|x)是预先训练的Inception网络给出的x的推断类标签概率,p(y)是所有图像上的边际分布。

Inception Score的定义为exp(E_x[KL(p(y|x)|| p(y))])

用法

下载预先训练好的TensorFlow模型并创建一个名为inception_score.model的Chainer副本。

python download.py --outfile inception_score.model

加载预先训练的Chainer模型,并计算包括训练图像和测试图像在内的CIFAR-10数据集的inception score。为了限制图像的数量,请使用--samples 选项。

python example.py --model inception_score.model
...

在Python中的使用示例

import numpy as npfrom chainer import serializers, datasetsfrom inception_score import Inception, inception_score

注意

从inception score的得分情况来看,该实现相较于原来的基于CIFAR-10,使用双线性插值从(32,32)到(299,299)上采样的分数要高得多。

《训练生成对抗网络的技术改进》

Inception score模块的Chainer实现发布于《训练生成对抗网络的技术改进》这篇论文中,科研人员提出了将应用于生成对抗网络(GAN)框架的各种新的架构特征和训练程序。他们专注于GAN的两个应用:半监督学习,以及人类视觉逼真意义上的图像生成。与大多数生成模型的工作不同,其主要目标不是训练一个分配高相似性以测试数据的模型,也不要求模型能够在不使用任何标签的情况下进行学习。

使用这些新技术后,科研人员在MNIST、CIFAR-10和SVHN的半监督分类中获得了可喜成果。所产生的图像具有已通过视觉图灵测试证实的高质量:该模型可以生成人类无法从实际数据中区分的MNIST样本,以及生成人为错误率为21.3%的CIFAR-10样本。我们还以前所未有的分辨率呈现除出了ImageNet样本,并显示该方法使模型能够学习到ImageNet等级的可识别特征。

在该论文中,科研人员推出了几种旨在鼓励GAN融合的技术,这些技术是从对非收敛问题的理解中获得灵感的。这使得半监督学习实现性能的提升和样本生成的改进。

更多信息可点击链接获取完整论文(
https://arxiv.org/pdf/1606.03498.pdf)

开源代码获取:
https://github.com/pfnet-research/chainer-gan-lib/blob/master/README.md

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1987.html

标签: gitsubmodule
分享给朋友:

“Chainer-GAN库发布,利用Chainer实现多种GAN算法及特征匹配去噪” 的相关文章

2021最全VUE面试题,奥利给

1. vue-router用过没,哪些常用的钩子函数路由钩子的执行流程,钩子函数种类有:全局守卫、路由守卫、组件守卫。首页可以控制导航跳转, beforeEach , afterEach 等,?般?于页? title 的修改。?些需要登录才能调整??的重定向功能。beforeEach 主要有3个参数...

Gitlab+Jenkins通过钩子实现自动部署web项目,图文详细教程

扩展参考:Jenkins+Gitlab通过脚本自动部署回滚web项目至集群 一:基础环境介绍及准备1):Gitlab服务器:ubuntu 192.168.152.131 ---参考搭建:Linux安装gitlab,docker安装gitlab教程2):Jenkins服务器:ubunu 192.168...

Java教程:gitlab-使用入门

1 导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作GitLab简介GitLab环境搭建GitLab基本使用(组、权限、用户、项目)2 GitLab简介GitLab是整个DevOps生命周期...

双子座应用程序推出模型切换器以在Android上访问2.0

#头条精品计划# 快速导读谷歌推出了Gemini 2.0 Flash实验版,现已在其安卓应用中可用,之前仅在gemini.google.com网站上提供。新版本的15.50包含模型切换器,用户可以在设置中选择不同模型,包括1.5 Pro、1.5 Flash和2.0 Flash实验版。谷歌提醒,2.0...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的空值。老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!const arr...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...