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

AF3 OpenFoldDataLoader类_add_batch_properties方法解读

AlphaFold3 data_modules 模块的OpenFoldDataLoader 类中的 _add_batch_properties 方法,它的功能是为每个数据批次(batch)添加与 "recycling"(重循环)相关的属性。具体来说,它通过对每个数据批次根据一定的概率分布进行采样来确定每个样本的循环次数,并将这些循环次数添加到批次数据中。

源代码:

   def _add_batch_properties(self, batch):
        # TODO: gt_features might change
        gt_features = batch.pop('gt_features', None)
        samples = torch.multinomial(
            self.prop_probs_tensor,
            num_samples=1,  # 1 per row
            replacement=True,
            generator=self.generator
        )

        aatype = batch["aatype"]
        batch_dims = aatype.shape[:-2]
        recycling_dim = aatype.shape[-1]
        no_recycling = recycling_dim
        for i, key in enumerate(self.prop_keys):
            sample = int(samples[i][0])
            sample_tensor = torch.tensor(
                sample,
                device=aatype.device,
                requires_grad=False
            )
            orig_shape = sample_tensor.shape
            sample_tensor = sample_tensor.view(
                (1,) * len(batch_dims) + sample_tensor.shape + (1,)
            )
            sample_tensor = sample_tenso
http://www.dtcms.com/a/114744.html

相关文章:

  • QEMU源码全解析 —— 块设备虚拟化(16)
  • 语法: ptr=malloc(size)
  • Python爬虫教程009:requests的基本使用以及get和post请求的使用
  • 电脑显示器选购
  • CentOS 7服务器上快速安装mamba函数库
  • Java八股文-List
  • HCIP【路由过滤技术(详解)】
  • 告别BeanUtils!MapStruct Plus快速入门与最佳实践
  • C++ —— 智能指针
  • PH热榜 | 2025-04-03
  • 流量特征分析-蚁剑流量分析
  • leetcode_数组 56. 合并区间
  • Pod控制器之deployment
  • 2025 ArkTS语言开发入门之前言(二)
  • nginx中地理位置访问控制模块geo
  • 2025年【山东省安全员C证】考试题及山东省安全员C证考试内容
  • 【算法】筛质数
  • FlashDB移植
  • Redis 热key问题怎么解决?
  • 计算机毕业设计指南
  • 开发指南111-关闭所有打开的子窗口
  • Spring 中有哪些设计模式?
  • python入门之从安装python及vscode开始
  • 功耗日志抓取需求
  • (六)安卓开发中的Activity的启动、关闭和生命周期详解
  • 目录遍历(Directory traversal)漏洞总结
  • keepalived高可用介绍
  • VLAN(虚拟局域网)
  • 机器学习之数据预处理(一):缺失值处理和异常值识别的几种常用方法
  • ER-图,详情和画法