当前位置: 首页 > news >正文

AF3 FourierEmbedding类源码解读

FourierEmbedding 是一个用于扩散条件的傅里叶嵌入类,其核心是将输入的时间步噪声强度或控制参数timestep)转换为高维的周期性特征。

源代码:

class FourierEmbedding(nn.Module):"""Fourier embedding for diffusion conditioning."""def __init__(self, embed_dim):super(FourierEmbedding, self).__init__()self.embed_dim = embed_dim# Randomly generate weight/bias once before trainingself.weight = nn.Parameter(torch.randn((1, embed_dim)))self.bias = nn.Parameter(torch.randn((1, embed_dim)))def forward(self, t):"""Compute embeddings"""two_pi = torch.tensor(2 * 3.1415, device=t.device, dtype=t.dtype)return torch.cos(two_pi * (t * self.weight + self.bias))

类代码解读:

1. 类的功能

该模块的主要目的是通过傅里叶变换,将输入的时间步嵌入到一个周期性的高维特征空间。这种处理方式在扩散模型中尤为重要,因为时间步本身是一个标量(单一数值),通过傅里叶嵌入,模型能够更好地捕获时间的周期性模式。

2. __init__ 方法
def __init__(self, embed_dim):super(FourierEmbedding, self).__init__()self.embed_dim = embed_dim# Randomly generate weight/bias once before trainingself.weight = nn.Parameter(torch.randn((1, embed_dim)))self.bias = nn.Parameter(torch.randn((1, embed_dim)))
功能
  • 初始化傅里叶嵌入模块。
  • 生成随机初始化的权重和偏置(weight 和 bias),用于控制傅里叶变换的频率和相位。
重要参数
  • embed_dim:
    • 表示嵌入的维度,即输出特征的大小。
    • 在扩散模型中,较大的 e
http://www.lryc.cn/news/525512.html

相关文章:

  • vsftpd虚拟用户部署
  • MySQL 容器已经停止(但仍然存在),但希望重新启动它,并使它的 3306 端口映射到宿主机的 3306 端口是不可行的
  • 汇编实验·顺序程序设计
  • AIGC视频扩散模型新星:Video 版本的SD模型
  • HarmonyOS:通过(SQLite)关系型数据库实现数据持久化
  • 10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析
  • STM32更新程序OTA
  • MarsCode青训营打卡Day10(2025年1月23日)|稀土掘金-147.寻找独一无二的糖葫芦串、119.游戏队友搜索
  • vue(33) : 安装组件出错解决
  • ChatGPT结合Excel辅助学术数据分析详细步骤分享!
  • stm32f103 单片机(一)第一个工程
  • 云计算和服务器
  • Spring 框架:配置缓存管理器、注解参数与过期时间
  • Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
  • 并发编程 - 线程同步(一)
  • PyTorch入门 - 为什么选择PyTorch?
  • leetcode刷题记录(八十六)——84. 柱状图中最大的矩形
  • Android GLSurfaceView 覆盖其它控件问题 (RK平台)
  • 开源鸿蒙开发者社区记录
  • 【Linux网络编程】传输层协议
  • 10个非常基础的 Javascript 问题
  • Mysql索引(学习自用)
  • eniops库中reduce函数使用方法
  • 阴沟翻船题——Longest Substring Without Repeating Characters
  • Jetpack Compose 和 Compose Multiplatform 还有 KMP 的关系
  • 微信小程序中实现背景图片完全覆盖显示,可以通过设置CSS样式来实现
  • 【0x0012】HCI_Delete_Stored_Link_Key命令详解
  • console的各种方法
  • spring boot关于系统首页自动跳转拼接到index
  • 指针生成网络(PGN)详细指南(引入)