【人工智能笔记】第三十三节:TF2实现VITGAN对抗生成网络,Mapping NetWork 实现

图文详解:stylegan1 与stylegan2 每次上采样接Style Block。输入常量512 x 4 x 4。输入:512维的随机向量z。 阅读详情

网络结构图
该章节介绍VITGAN对抗生成网络中,Mapping NetWork 部分的代码实现。

目录(文章发布后会补上链接):

  1. 网络结构简介
  2. Mapping NetWork 实现
  3. PositionalEmbedding 实现
  4. MLP 实现
  5. MSA多头注意力 实现
  6. SLN自调制 实现
  7. CoordinatesPositionalEmbedding 实现
  8. ModulatedLinear 实现
  9. Siren 实现
  10. Generator生成器 实现
  11. PatchEmbedding 实现
  12. ISN 实现
  13. Discriminator鉴别器 实现
  14. VITGAN 实现

Mapping NetWork 简介

Generator生成器
设计基于 ViT 架构的生成器是一项不平凡的任务。一个挑战是将 ViT 从预测一组类标签转换为在空间区域上生成像素。在介绍我们的模型之前,我们讨论了两个似是而非的基线模型。两种模型交换 ViT 的输入和输出以从嵌入生成像素,特别是从 MLP 的高斯噪声向量 z 派生的潜在向量 w,即 w = MLP(z)(在图 2 中称为映射网络 [26])。两个基线生成器的输入序列不同。该设计的灵感来自于反转 ViT,其中 w 用于替换公式 4 中的分类嵌入 h0L。
该网络部分属于Generator生成器的开始部分,输入的Latent z实际上是噪声。这部分用于将噪声转换成w,实际上可以看作是可学习的一个多维图片输入特征。

代码实现

模型是由8层全连接+LeakyReLU组成,该结构出自论文:
Tero Karras, Samuli Laine, and Timo Aila. A style-based generator architecture for generative adversarial networks. In CVPR, 2019.

import numpy as np
import tensorflow as tf


class MappingNetwork(tf.keras.layers.Layer):
    def __init__(self, d_model, num_layers, lrmul=0.01):
        super().__init__()
        self.d_model = d_model
        self.num_layers = num_layers
        self.lrmul = lrmul
        self.ln = tf.keras.layers.LayerNormalization(
            axis=-1,
            epsilon=1e-6,
            center=False,
            scale=False,
        )
        self.dn_layers = []
        for _ in range(num_layers):
            self.dn_layers.append(tf.keras.layers.Dense(d_model, use_bias=True, kernel_initializer='he_uniform', kernel_regularizer='l2'))
            self.dn_layers.append(tf.keras.layers.LeakyReLU(lrmul))
        self.net = tf.keras.Sequential(self.dn_layers)

    def call(self, x, training):
        x = self.ln(x, training=training)
        x = self.net(x)
        return x

    def get_config(self):
        config = super(MappingNetwork, self).get_config()
        config.update({
            'd_model': self.d_model,
            'num_layers': self.num_layers,
            'lrmul': self.lrmul,
        })
        return config

if __name__ == "__main__":
    layer = MappingNetwork(256, 8)
    x = tf.random.uniform([2,1,256], dtype=tf.float32)
    o1 = layer(x)
    tf.print('o1:', tf.shape(o1))

参考资料:

夸克缓存视频合并小工具 原理 使用windows的命令行的copy命令来合并 copy /b 0+1+2+3 new.ts 分析缓存目录结构,发现都是一个m3u8文件带一个同名文件夹 所以分析m3u8并把原来的路径换成这个缓存文件夹路径并按顺序合并即可。 其中碰到的难点是Qprocess在windows不好使,索性直接存成.bat批处理文件再执行 还有就是中文问题,具体在代码里都说了。 代码 (环境Qt5.7.0) 这是mainwindow.h #ifndef MAINWINDOW_H #defin. 阅读详情

相关推荐

实战案例:用多智能体系统模拟房地产市场的架构设计

房地产市场是典型的复杂自适应系统:买方纠结“要不要上车”、卖方盘算“挂多少钱能快速成交”、中介忙着“撮合两边赚佣金”、政府琢磨“怎么调政策稳房价”——每一个参与者的微小决策,最终都会汇聚成“房价暴涨”“成交冰点”这样的宏观现象。传统的计量经济学模型(比如线性回归)假设“所有人都是理性人”,但现实中没人能算清所有变量——你可能因为“同事买了学区房”就跟风,也可能因为“怕失业”而放弃买房。这时候,多智能体系统(MAS)

移动开发前沿的博客 1122

【读点论文】ViTGAN: Training GANs with Vision Transformers 将视觉transformer和gan结合起来

ViTGAN: Training GANs with Vision Transformers Abstract 最近,Vision Transformers(vits)在图像识别方面表现出了具有竞争力的性能,需要较少的视觉特定的归纳偏差。 在本文中,研究这种观察是否可以扩展到图像生成。将ViT整合到生成式对抗网络(GANs)中。本文观察到,现有的GANs正则化方法与自注意力的交互作用很差,导致训练过程中严重的不稳定性。 为了解决这个问题,引入了新的正则化技术来训练具有vit的gan。根据经验,

白水空空 8667

EB配置输入捕获ICU模块----基于S32K3

基于S32K311芯片,EB配置ICU输入捕获(Emios 和Siul)

weixin_43586400的博客 1772

论文笔记:ViTGAN: Training GANs with Vision Transformers

ViT+GAN

qq_40206371的博客 1173

数据分析是什么?

说道“数据分析”一词,大家应该并不陌生,数据分析从字面上来理解,就是对数据做出分析然后得出一个结论,看起来浅显易懂,下面我们把这个词语分开得到的是“数据”与“分析”。“数据”的范围就很广泛了,小到一个计量数字,大到成亿级别的数据汇总,都可以称为数据;“分析”一词并不难理解,以智慧思维的方法对某一事物做出合理的解释,给出结论是为分析,一般会用到数学上的分析方法,比如统计学或者概率论等等。 1. 什么是数据分析 1) 数据分析发展背景 进入到 21 世纪以后,伴随着互联网的迅速发展,大数据应运而生,越来越多的数

MC_XY的博客 5432

ViTGAN:用视觉Transformer训练生成性对抗网络 Training GANs with Vision Transformers

不使用卷积或池化,能否使用视觉 Transformer 来完成图像生成任务?更具体而言:能否使用 ViT 来训练生成对抗网络(GAN)并使之达到与已被广泛研究过的基于 CNN 的 GAN 相媲美的质量?

白洞,白色的明天在等着我们 4781

TEC控制器芯片 ADN8835 中文数据手册

ADN8835是一款高集成度的单芯片TEC控制器。它包括线性电压调节模块脉冲宽度调制(PWM) 电压调节模块和两个零漂移、轨到轨斩波放大器。线性控制器和PWM驱动器用于控制H桥配置中的内部功率MOSFET。通过测量热传感器反馈电压,并使用集成的运算放大器作为比例-积分-微分(PID)补偿器来调理信号,ADN8835通过TEC驱动电流,将连接至TEC模块的激光二极管或无源组件的温度稳定到编程的目标温度。

lu2289504634的博客 9538

ViTGAN: Training GANs with Vision Transformers阅读笔记

Task 图像的生成 Key idea 利用transformer作为基本的计算单元,替代传统的CNN,同时基于GAN的基础架构,去完成图像的生成任务。 面对的问题: (1) GAN的正则化方法与注意力机制的交互很差,导致训练中稳定性不足 (2)在鉴别器训练的后期,对抗训练经常受到高方差梯度(或尖峰梯度)的阻碍。高方差梯度会在训练的时候导致震荡,非常影响训练的效果。 解决的方法: (1) 在判别器中,研究者重新审视了自注意力的 Lipschitz 性质,在此基础上他们设计了一种加强了..

baidu_40582876的博客 1516

LeRobot SO-ARM100 学习笔记(2) diffusion module

对 lerobot 中的 diffusion policy 进行基本的代码阅读

mikhailbran的博客 1586

随机优化 (Stochastic Optimization) 算法详解及案例分析

随机优化是一种用于处理包含随机变量的优化问题的方法。其目标是通过考虑随机变量的概率分布,找到一个在期望意义下最优的解。

闲人编程的博客 4183

探索未来图像生成的边界:ViTGAN全面解析与推荐

探索未来图像生成的边界:ViTGAN全面解析与推荐 去发现同类优质开源项目:https://gitcode.com/ 在人工智能领域,尤其是深度学习的浪潮下,生成对抗网络(GANs)以其惊人的创造力成为图像合成的明星技术。今天,我们将深入探索一个结合了最新视觉前沿的创新项目——ViTGAN,这是基于PyTorch实现的一项突破性工作,它巧妙地将视觉Transformer的力量引入到GAN的训练中,...

gitblog_00043的博客 1032

实战:利用 Agent Harness 自动化 PPT 制作

本文将带你从零开始,用轻量级Agent编排框架,结合主流大模型(GPT-4o、通义千问、文心一言等),搭建一套全自动化的PPT生成工作流:从用户输入自然语言需求,到需求解析、大纲生成、内容填充、数据匹配、排版美化、导出成品,全程不需要手动操作,最快10分钟就能产出符合要求的PPT。我们不会讲晦涩的Agent理论,所有步骤都有可直接运行的代码示例,哪怕你只有基础的Python语法基础,也能跟着一步步做出能用的自动PPT工具。

AI Agent Harness Engineering 569

StyleGAN系列学习笔记

StyleGAN系列学习笔记(参考多方素材)

weixin_41876808的博客 1778

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

StyleGAN

stylegan解释,自用

weixin_48341022的博客 1708

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【人工智能笔记】第四十二节:TF2实现VITGAN对抗生成网络,PatchEmbedding 实现

【人工智能笔记】第四十二节:TF2实现VITGAN对抗生成网络,PatchEmbedding 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 708

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ViTGAN:训练GANs的新视角

ViTGAN:训练GANs的新视角 项目介绍 ViTGAN是一个基于PyTorch的开源项目,旨在利用视觉变换器(Vision Transformers,简称ViT)来训练生成对抗网络(GANs)。ViTGAN的实现基于一篇同名的学术论文,该论文由Kwonjoon Lee、Huiwen Chang、Lu Jiang等学者撰写,并在2021年的arXiv上发布。本项目通过引入视觉变换器的强大能力,为...

gitblog_00498的博客 895

StyleGAN生成模型

Stylegan的一个非常实用的人脸生成模型,它可以通过控制参数来控制人脸生成的样式,包括五官、发型乃至人种肤色。 这篇文章大致总结一下Stylegan的一些原理和要点。 下图(右边)是stylegan生成器的模型结构: 映射网络Mapping Network 从上图可以看到,传统的生成器的输入就是直接用高斯分布下512维的随机向量。而Stylegan中使用了8层全连接网络Mapping network来进一步处理输入,将它映射到另一个512维,并未改变其维度。此外,...

TranSad的博客 2922

第二十八周周报

第二十八周周报

童一的博客 388

【人工智能笔记】第三十二节:TF2实现VITGAN对抗生成网络,网络结构简介

该系列一共分成N篇文章,对照论文实现每个细节,并附上源码,该系列完成最后会附上github地址。

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 762

【人工智能笔记】第三十四节:TF2实现VITGAN对抗生成网络,PositionalEmbedding 实现

【人工智能笔记】第三十四节:TF2实现VITGAN对抗生成网络,PositionalEmbedding 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 504

参数压缩 500 倍还能涨点?Mapping Networks 让我重新思考“训练“的定义

不是所有参数都值得你去练。你想,一个网络几十万个参数,真的每个数字都有用吗?Mapping Networks 的实验告诉我——可能真正起决定作用的,只是其中很少很少的一部分以前的做法是把所有参数摊开,一个一个调;但它的思路是:先找到那"一小撮"真正管用的参数,只练它们,剩下的让规则自动生成不是练得越多越好,而是练得越对越好找到真正有用的那一小部分,直接优化它们,剩下的交给生成规则——这可能才是更正确的方向虽然复现得不算完美,和论文还有接近 2% 的差距,但只用 1% 的参数就能干到 97% 的准确率。

ShanYue_j_j的博客 1564

Mapping Networks——映射网络 (Mapping Networks)

Mapping Networks——映射网络 (Mapping Networks)

Together_CZ的博客 503

从‘网红脸’到‘可控捏脸’:用StyleGAN2/3的Mapping Network和Truncation Trick玩转人脸编辑

本文深入探讨了如何利用StyleGAN2/3的Mapping Network和Truncation Trick实现精细的人脸编辑,从网红脸到可控捏脸。通过解析双网络架构和分层控制机制,展示了如何构建交互式人脸编辑平台,并对比了StyleGAN3在纹理一致性等方面的改进。

weixin_27372101的博客 422

【人工智能笔记】第四十五节:TF2实现VITGAN对抗生成网络,VITGAN主体 实现

【人工智能笔记】第四十五节:TF2实现VITGAN对抗生成网络,VITGAN主体 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 701

Meta 王炸论文 SAM 为什么它改变了图像分割?

这两年图像算法领域变化很快,目标检测、图像生成、多模态几乎都在持续迭代,但如果说哪篇论文真正把“图像分割”这个方向重新推上了一个新台阶,Segment Anything 一定绕不过去。它厉害的地方不只是效果强,也不只是模型大,而是它换了一种思路来看待分割问题:以前我们做分割,通常是为某个具体任务单独训练模型;而 SAM 想做的是一个可以通过提示完成分割的通用基础模型。今天这篇文章,我就从问题背景、核心思想、模型结构、实验效果、工程价值和代码复现几个方面,带你系统看懂这篇顶级图像算法论文到底强在哪里。

zhongxiaershi的博客 565
上一篇: 【人工智能笔记】第三十二节:TF2实现VITGAN对抗生成网络,网络结构简介
下一篇: 【人工智能笔记】第四十一节:TF2实现VITGAN对抗生成网络,Generator生成器 实现
PPHT-H
博客等级 码龄18年 6254粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PPHT-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值