【人工智能笔记】第三十三节: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))

参考资料:

YOLO26涨点改进 | 独家创新,特殊场景检测篇 | TGRS 2025 | 引入FAENet特征自适应增强网络,专注于恶劣天气条件下的目标检测(低光场景、雾天场景、雨雪场景、复杂环境等)即插即用 🔥本文提出了一种名为FAENet的特征自适应增强网络,可有效提升YOLO26在恶劣天气条件下的目标检测性能。FAENet通过拉普拉斯金字塔分解思想,将输入特征分为低频和高频两部分进行针对性增强:低频分支强化全局轮廓,高频分支增强边缘纹理细节。该模块设计轻量、可端到端训练,在不改变原始图像分布的前提下,显著缓解雾霾、低照度等复杂环境造成的特征退化问题。实验表明,该方法在多个恶劣天气数据集上超越了当前最优检测器,同时保持了轻量级和高速度特性。 阅读详情

相关推荐

3.5.3以太网ETH TC8-PMA物理层测试

英文原版-OA_Automotive_Ethernet_ECU_TestSpecification_Layer_1_100BASE-T1_v3.0.pdf。PMA测试时各个测试项目所进入的测试模式不同,如TX_01对应测试模式1;TX_04对应测试模式5;例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。TX_07对应测试模式5;物理层测试主要分为两部分:IOP测试(包括链接时间,信号质量,线路诊断),PMA测试。

qq_28664971的博客 7696

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

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

白水空空 8667

百度地图小区边界爬取

百度地图 小区边界爬取 完整项目地址-github 数据源:百度地图api 项目结构 RESIDENTIALAREABOUNDARY │ ResidentialAreaBoundaryControl.py 主函数 │ ResidentialAreaBoundaryFunc.py 方法库 │ ├─Auxiliary │ crawelFunc.p...

fulin9452的博客 6400

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

ViT+GAN

qq_40206371的博客 1173

S32DS使用完整指南:S32K CAN通信模块配置步骤

深入讲解S32DS使用过程中S32K芯片的CAN通信模块配置步骤,涵盖关键设置与常见问题。掌握s32ds使用技巧,提升开发效率,实现稳定可靠的车载网络通信。

weixin_42592399的博客 981

ChromeOS安装教程

ChromeOS,是基于Linux内核研发的ChromiumOS开源系统的闭源系统,最大的特色就是内置了Chrome浏览器,早期主要以Web云端应用程序为主,后来逐渐引入了Android子系统和Linux子系统。本文主要简述摸索的家用笔记本安装ChromeOS安装方法,供各位玩机朋友参考。

weixin_45751495的博客 8116

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

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

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

让 IF 更好读:在 ABAP 里尽量使用正向条件的实战指南

摘要:SAP系统开发中,代码可读性与可维护性的关键往往在于条件判断的写法。Clean ABAP风格指南建议尽量采用正向表达的条件判断,如使用has_entries = abap_true而非否定式写法。正向表达能降低理解成本,避免"否定的否定"带来的逻辑混乱,但不应为追求正向而制造空分支。在团队协作中,正向条件更利于代码评审和测试覆盖,建议通过工具检查和智能评审确保规范执行。落地时可关注变量命名正向化、避免空分支、主流程清晰展开等要点,以提升长期维护效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 246

ViTGAN: Training GANs with Vision Transformers阅读笔记

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

baidu_40582876的博客 1516

保研考研机试攻略(满分篇):第二章——满分之路上(1)

保研考研机试攻略(满分篇):第二章——满分之路上(1)2.1计算机和基础+2.2进阶背包问题+2.3毛毛虫算法

qq_63349644的博客 1195

电池管理系统(BMS)软件:CATL BMS二次开发_(1).CATL BMS软件概述

CATL BMS软件的保护机制是确保电池组安全和可靠运行的关键部分。通过高精度的传感器和智能算法,BMS可以实时监测电池组的状态,及时采取保护措施。二次开发中,可以根据特定的应用需求,增加新的传感器、优化算法、扩展通信接口等,进一步提高系统的性能和可靠性。维护和扩展则是确保系统长期稳定运行的重要手段。希望以上内容对您理解CATL BMS软件的保护机制有所帮助。如果您有任何进一步的问题或需要更详细的解释,欢迎随时提问。

zhubeibei168的博客 1458

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

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

gitblog_00043的博客 1032

YOLO11全网首发:CVPR2026 Transformer注意力 | BinaryAttention 1-bit注意力,推理提速100%,超越FlashAttention2

本文改进:BinaryAttention 结合YOLO11的C3k2模块,全网首发创新。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 855

StyleGAN系列学习笔记

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

weixin_41876808的博客 1778

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

StyleGAN

stylegan解释,自用

weixin_48341022的博客 1708

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

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

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对抗生成网络,ModulatedLinear调制模块 实现

【人工智能笔记】第三十九节:TF2实现VITGAN对抗生成网络,ModulatedLinear调制模块 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 332
上一篇: 【人工智能笔记】第三十二节: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、付费专栏及课程。

余额充值