机器之心报道
近日,机器之心在 GitHub 上看到了一个非常有意义的项目 PyTorch-StudioGAN,它是一个 PyTorch 库,了条件 / 无条件图像生成的代表性生成对抗网络(GAN)的实现。据主页介绍,该项目旨在一个统一的现代 GAN 平台,这样机器学习领域的研究者可以快速地比较和分析新思路和新方法等。
具体而言,该项目具有以下几个显著特征:
了大量 PyTorch 框架的 GAN 实现。
基于 CIFAR 10、Tiny ImageNet 和 ImageNet 数据集的 GAN 基准。
相较原始实现的更好的性能和更低的内存消耗。
完全最新 PyTorch 环境的预训练模型。
支持多 GPU(DP、DDP 和多节点 DDP)混合精度、同步批归一化、LARS、Tensorboard 可视化和其他分析方法。
对于这个 PyTorch GAN 库,有网友表示:看上去很不错!如果可以 top-k 等现代训练实践以及各种增强方法就更棒了。对此,项目称其会在 NeurIPS 论文提交截止日期之后,添加一些改进的方法,如 Sinha 等人的 Tok-K 训练以及 Langevin 采样和 SimCLR 增强。
此外,有网友询问是否可以将该项目用于图像之外的其他领域。表示可以,即使无法使用一些稳定器(如 diffaug、ada 等)依然可以通过调整 dataLoader 来训练自己的模型。
18+ SOTA GAN 实现
如下图所示,项目了 18 + 个 SOTA GAN 的实现,包括 DCGAN、LSGAN、GGAN、WGAN-WC、WGAN-GP、WGAN-DRA、ACGAN、ProjGAN、SNGAN、SAGAN、BigGAN、BigGAN-Deep、CRGAN、ICRGAN、LOGAN、DiffAugGAN、ADAGAN、ContraGAN 和 FreezeD。
cBN:条件批归一化;AC:辅助分类器;PD:Projection 判别器;CL:对比学习。
其中,需要注意以下几点:
Tiny ImageNet 数据集上的实验使用的是 ResNet 架构而不是 CNN。
下图中 StyleGAN2 为即将实现的 GAN 网络,其中 AdaIN 表示自适应实例归一化(Adaptive Instance Normalization)
环境要求
Anaconda
sklearn
seaborn
h5py
tqdm
tensorboard
torchlars
用户可以采用以下方法安装推荐的环境:
conda env create -f environment.yml -n studiogan
在 docker 中还可以采用以下方式:
以下是创建名字为studioGAN容器的命令,同样也可以使用端口号为 6006 来连接 tensoreboard。
使用方法
使用 GPU 0 的情况下,在 CONFIG_PATH 中对于模型的训练-t和评估-e进行了定义:
CUDA_VISIBLE_DEVICES=0 python3 src/main.py -t -e -c CONFIG_PATH
在使用 GPU (0, 1, 2, 3) 和 DataParallel 情况下,在 CONFIG_PATH 中对于模型的训练-t和评估-e进行了定义:
CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -e -c CONFIG_PATH
在 python3 src/main.py 程序中查看可用选项,通过 Tensorboard 可以监控 IS、FID、F_beta、Authenticity Accuracies 以及最大奇异值:
~ PyTorch-StudioGAN/logs/RUN_NAME>>> tensorboard --logdir=./ --port PORT
可视化以及分析生成图像
StudioGAN 支持图像可视化、k 最近邻分析、线性差值以及频率分析。所有的结果保存在./figures/RUN_NAME/*.png中。
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -iv -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH
k 最近邻分析,这里固定 K=7,第一列中是生成的图像:
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -knn -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH
线性插值(仅适用于有条件的 Big ResNet 模型 )的代码和示例如下:
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -itp -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH
本文相关词条概念解析:
生成
生成有如下意义:养育;长成;指生物,亦泛指物品;指人民;自然形成;生就;保全性命;必定。教育学中的生成可分为两种,一类是我们预设下的现象,另一类是我们不曾预设到的现象。“动态生成”是新课程理念下课堂教学的主要特征,它强调课堂教学要改变传统课堂教学固定不变、按部就班、机械僵化的教学模式,主张课堂教学必须构建生成性的探究性活动过程。
标签:dToF是TOF技术的细分类目,指的是“直接飞行”顾名思义就是直接向测量物体发射光脉冲,测量反射光脉冲和发射光脉冲之间的时间间隔,从而得到光的飞行时间。dToF的精度取决于其脉冲持续的时间,所以测量精...
2021-04-15 阅读全文>>图为纪录片《星空瞰华夏》剧照。长城究竟有多长?马可·波罗描述的元上都真实吗?入选《考古》杂志“世界十大重要考古发现”的石峁遗址,是当时世界上最大规模的城市吗?为了回答这些问题,纪录片《星空瞰华夏》借助...
2021-04-13 阅读全文>>目前,研究表明,过去的20亿年可能存在三个超大陆,分别是古元古代晚期的哥伦比亚超大陆、新元古代早期的罗迪尼亚超大陆和显生宙的潘吉亚超大陆。在新元古代,随着罗迪尼亚超大陆的裂解,一部分克拉通于5.2亿年...
2021-04-15 阅读全文>>对于时间相信朋友们都不陌生,我们每天,每时每刻都在跟时间打交道。可能在很多人看来,时间没有什么神奇神秘的东西,它太普通了,那么时间真的普通吗?在人类没有走进科技时代之前,古人对于时间的理解就是太阳的西...
2021-04-15 阅读全文>>中国科学院大连化学物理研究所热化学研究组研究员史全团队在柔性相变材料研究方面取得进展,通过简单易行的策略合成了石墨烯基的复合相变材料膜,并将其应用于可穿戴的光-热器件。该复合相变材料膜具有优异的柔韧性...
2021-04-13 阅读全文>>“新型号贮箱关系着厂里后续生产任务,这个箱子的成败就看最后这条焊缝了。”航天科技集团七院7102厂5车间主任林鹏对贮箱突击队的同志们语重心长地说。近日,随着最后一条焊缝透视合格,该厂承担研制的新研型号...
2021-04-15 阅读全文>>在4月8日下午举办的分布式存储论坛上,安迈云董事会秘书 马思远发表了题为《明确数据新基建,响应十四五开局年》的主题演讲。安迈云董秘马思远女士围绕“明确数据新基建,响应十四五开局年”做出主题。她指出,十...
2021-04-15 阅读全文>>中国“慧眼”观测磁星示意图。中国科学院高能物理研究所供图偌大宇宙之中究竟有没有地外文明?某个漆黑处会不会藏着大脑袋大眼睛小下巴的外星人?这几乎是每个现代人的脑海里都曾闪过的疑问,这不只是科学幻想,也是...
2021-04-13 阅读全文>>封面新闻记者 马梦飞4月13日,封面新闻记者获悉,由成都市人民政府与省经信厅联合指导的首届2021成都国际工业博览会(以下简称:成都工博会)将于4月22-24日在中国西部国际博览城举办。届时国内外60...
2021-04-13 阅读全文>>“电池医院”试运行。赵语涵摄物理所全景图。承载原始创新重任、一批“国之重器”落地,作为北京惟一的综合性国家科学中心,怀柔科学城正“抢跑”进入科研状态,为“十四五”规划中提出的“强化国家战略科技力量”添...
2021-04-13 阅读全文>>