最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

RFdiffusion get_potential_gradients函数解读

业界 admin 3浏览 0评论

get_potential_gradients是Denoise类中一个方法。get_potential_gradients方法的目的是计算每个 Cα 原子的势能梯度,用于指导扩散更新。这些梯度可以提供物理或几何约束,使扩散生成的坐标更加合理。 

功能:计算结构中的每个原子的引导势梯度(potential gradients),用于指导去噪。

步骤:调用 PotentialManager 计算所有引导势;计算目标坐标上的梯度(对 xx 求导);应用扩散掩码,避免固定区域的梯度计算。

源代码:

    def get_potential_gradients(self, xyz, diffusion_mask):
        """
        This could be moved into potential manager if desired - NRB

        Function to take a structure (x) and get per-atom gradients used to guide diffusion update

        Inputs:

            xyz (torch.tensor, required): [L,27,3] Coordinates at which the gradient will be computed

        Outputs:

            Ca_grads (torch.tensor): [L,3] The gradient at each Ca atom
        """

        if self.potential_manager == None or self.potential_

get_potential_gradients是Denoise类中一个方法。get_potential_gradients方法的目的是计算每个 Cα 原子的势能梯度,用于指导扩散更新。这些梯度可以提供物理或几何约束,使扩散生成的坐标更加合理。 

功能:计算结构中的每个原子的引导势梯度(potential gradients),用于指导去噪。

步骤:调用 PotentialManager 计算所有引导势;计算目标坐标上的梯度(对 xx 求导);应用扩散掩码,避免固定区域的梯度计算。

源代码:

    def get_potential_gradients(self, xyz, diffusion_mask):
        """
        This could be moved into potential manager if desired - NRB

        Function to take a structure (x) and get per-atom gradients used to guide diffusion update

        Inputs:

            xyz (torch.tensor, required): [L,27,3] Coordinates at which the gradient will be computed

        Outputs:

            Ca_grads (torch.tensor): [L,3] The gradient at each Ca atom
        """

        if self.potential_manager == None or self.potential_
发布评论

评论列表 (0)

  1. 暂无评论