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

AF3 AtomAttentionDecoder类源码解读

AlphaFold3的AtomAttentionDecoder类旨在从每个 token 的表示扩展到每个原子的表示,同时通过交叉注意力机制对原子及其对关系进行建模。这种设计可以在生物分子建模中捕获复杂的原子级别交互。

源代码:

class AtomAttentionDecoder(nn.Module):
    """AtomAttentionDecoder that broadcasts per-token activations to per-atom activations."""

    def __init__(
            self,
            c_token: int,
            c_atom: int = 128,
            c_atompair: int = 16,
            no_blocks: int = 3,
            no_heads: int = 8,
            dropout=0.0,
            n_queries: int = 32,
            n_keys: int = 128,
            clear_cache_between_blocks: bool = False
    ):
        """Initialize the AtomAttentionDecoder module.
        Args:
            c_token:
                The number of channels for the token representation.
            c_atom:
                The number of channels for the atom representation. Defaults to 128.
            c_atompair:
                The number of channels for the atom pair representation. Defaults to 16.
            no_blocks:
                Number of blocks.
            no_heads:
                Number of parallel attention heads. Note that c_atom will be split across no_heads
                (i.e. each head will have dimension c_atom // no_heads).
            dropout:
                Dropout probability on attn_output_weights. Default: 0.0 (no dropout).
            n_queries:
                The size of the atom window. Defaults to 32.
            n_keys:
                Number of atoms each atom attends to in local sequence space. Defaults to 128.
            clear_cache_between_blocks:
                Whether to clear CUDA's GPU memory cache between blocks of the
                stack. Slows down each block but can reduce fragmentation
        """
        super().__init__()
        self.c_token = c_token
        self.c_atom = c_atom
        self.c_atompair = c_atompair
        self.num_blocks = no_blocks
        self.num_heads = no_heads
        self.dropout = dropout
        self.n_queries = n_queries
        self.n_keys = n_keys
        self.clear_cache_bet

http://www.kler.cn/a/519304.html

相关文章:

  • 分布式微服务系统简述
  • 深度学习项目--基于LSTM的糖尿病预测探究(pytorch实现)
  • 《Chart.js 饼图:深度解析与最佳实践指南》
  • 页高速缓存与缓冲区缓存的应用差异
  • 怎么样把pdf转成图片模式(不能复制文字)
  • 直线拟合例子 ,岭回归拟合直线
  • 【Wordpress网站制作】切换语言的问题
  • 汇编基础语法及其示例
  • kotlin内联函数——runCatching
  • 【2024年华为OD机试】(A卷,200分)- Excel单元格数值统计 (JavaScriptJava PythonC/C++)
  • TDengine 做 Google Looker Studio 数据源
  • 国内优秀的FPGA设计公司主要分布在哪些城市?
  • 《陶陶摘苹果(升级版)》
  • XML实体注入漏洞攻与防
  • 0基础跟德姆(dom)一起学AI 自然语言处理22-fasttext文本分类
  • JavaScript(8)-函数
  • PyQt6医疗多模态大语言模型(MLLM)实用系统框架构建初探(下.代码部分)
  • 二叉树的深度
  • Day 18 卡玛笔记
  • switch组件的功能与用法
  • CDN、源站与边缘网络
  • 国产编辑器EverEdit - 输出窗口
  • 【Wordpress网站制作】无法安装插件/主题等权限问题
  • 系统学习算法:专题六 模拟
  • Linux_线程控制
  • TCP协议(网络)