当前位置: 首页 > 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

相关文章:

  • 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问题怎么解决?
  • 计算机毕业设计指南
  • html5做个网站多少钱/成年培训班有哪些
  • 宁波网站seo公司/中国网络优化公司排名
  • 电子元器件商城网站建设/如何做推广呢
  • 南宁网站建设教学/搜索引擎推广的基本方法有
  • 网站上关键词的推广怎么做/网络服务主要包括什么
  • 建设一个网站流程图/山东企业网站建设