您的位置:首页 > 娱乐 > 八卦 > 厦门seo服务商_常州网站建设推广平台_快速刷排名的软件最好_我想在百度上做广告怎么做

厦门seo服务商_常州网站建设推广平台_快速刷排名的软件最好_我想在百度上做广告怎么做

2024/12/23 6:01:00 来源:https://blog.csdn.net/qq_27390023/article/details/143021806  浏览:    关键词:厦门seo服务商_常州网站建设推广平台_快速刷排名的软件最好_我想在百度上做广告怎么做
厦门seo服务商_常州网站建设推广平台_快速刷排名的软件最好_我想在百度上做广告怎么做

1. 计算Ca距离的函数

def _dist(self, X, mask, eps=1E-6):mask_2D = torch.unsqueeze(mask,1) * torch.unsqueeze(mask,2)dX = torch.unsqueeze(X,1) - torch.unsqueeze(X,2)D = mask_2D * torch.sqrt(torch.sum(dX**2, 3) + eps)D_max, _ = torch.max(D, -1, keepdim=True)D_adjust = D + (1. - mask_2D) * D_maxsampled_top_k = self.top_kD_neighbors, E_idx = torch.topk(D_adjust, np.minimum(self.top_k, X.shape[1]), dim=-1, largest=False)return D_neighbors, E_idx

_dist 函数主要用于计算一批数据中每个残基的邻居距离以及相应的邻居索引。输入的 X 是每个残基的 Ca 原子坐标,维度为 (B, L, 3)mask 的维度为 (B, L),用于标记有效的残基。下面解释每个张量的维度变化过程:

输入

  • X 的维度是 (B, L, 3),其中:
    • B 是 batch size。
    • L 是残基的数量。
    • 3 是 Ca 原子的三维坐标。
  • mask 的维度是 (B, L),表示每个残基的有效性(0 或 1)。

计算步骤与维度变化

  1. mask_2D = torch.unsqueeze(mask, 1) * torch.unsqueeze(mask, 2)

    • mask 通过 unsqueeze 变成 (B, 1, L) 和 (B, L, 1) 两个张量。
    • 这两个张量相乘后得到 mask_2D,维度为 (B, L, L)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com