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

RoseTTAFold PositionalEncoding类解读

RoseTTAFold 的 PositionalEncoding 类实现了位置编码,用于将序列信息与神经网络模型的输入特征融合。该位置编码与 Transformer 的正弦-余弦编码类似,但在实现上包含了一些定制化的修改,尤其是在处理不同序列长度方面。

源代码:

class PositionalEncoding(nn.Module):
    def __init__(self, d_model, p_drop=0.1, max_len=5000):
        super(PositionalEncoding, self).__init__()
        self.drop = nn.Dropout(p_drop,inplace=True)

        pe = torch.zeros(max_len, d_model)
        position = torch.arange(0, max_len).unsqueeze(1)
        div_term = torch.exp(torch.arange(0, d_model, 2) *
                             -(math.log(10000.0) / d_model))
        pe[:, 0::2] = torch.sin(position * div_term)
        pe[:, 1::2] = torch.cos(position * div_term)
        pe = pe.unsqueeze(0)
        self.register_buffer('pe', pe) # (1, max_len, d_model)
    def forward(self, x, idx_s):
        pe = list()
        for idx in idx_s:
            pe.append(s

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

相关文章:

  • 计算机毕业设计Python+Neo4j知识图谱医疗问答系统 大模型 机器学习 深度学习 人工智能 大数据毕业设计 Python爬虫 Python毕业设计
  • 除了 Postman,还有什么好用的 API 调试工具吗
  • 阿里巴巴通义灵码推出Lingma SWE-GPT:开源模型的性能新标杆
  • group_concat配置影响程序出bug
  • Vim9 语法高亮syntax 在指定的缓冲区和窗口执行命令
  • mysql 实现分库分表之 --- 基于 MyCAT 的分片策略详解
  • (C++11)委托构造函数--C++
  • 如何在Oracle应用中使用BI PUBLISHER API将RTF转换为XSL-FO
  • XGBoost算法Python代码实现
  • Iceberg 写入和更新模式,COW,MOR(Copy-on-Write,Merge-on-Read)
  • sqli-labs(第二关)
  • ThinkBook 14+ 2024 Ubuntu 触控板失效 驱动缺失问题解决
  • 腾讯自研的 Git 客户端!!【送源码】
  • vue3中使用输入框按回车键刷新页面问题
  • 零拷贝Zero Copy
  • RabbitMQ的应用
  • 【STK学习】part1-卫星轨道与Walker星座基础知识
  • 《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1)
  • 信息泄露漏洞一文速通
  • Facebook vs. Google:哪个更适合你的品牌
  • rabbitMq怎么保证消息不丢失?消费者没有接收到消息怎么处理
  • MySQL_聚合函数分组查询
  • 【神经科学学习笔记】基于分层嵌套谱分割(Nested Spectral Partition)模型分析大脑网络整合与分离的学习总结
  • 无人机手势控制工作原理和算法!
  • 【笔记】开关电源变压器设计 - 工作磁通的选择原则
  • 机器学习中的两种主要思路:数据驱动与模型驱动