AF3 distogram_loss函数解读

news/2025/2/10 14:41:11/

AlphaFold3 的distogram loss函数用于训练中比较预测的距离分布(由 logits 表示)与真实距离分布之间的差异。在蛋白质结构预测中,distogram 表示每对残基之间距离落在各个区间(bin)的概率分布,损失函数使用交叉熵来衡量预测分布与真实分布(通过计算残基之间的欧氏距离确定)之间的差异。

源代码:

def softmax_cross_entropy(logits, labels):loss = -1 * torch.sum(labels * F.log_softmax(logits, dim=-1),dim=-1,)return lossdef distogram_loss(logits: Tensor,  # (bs, n_tokens, n_tokens, n_bins)all_atom_positions,  # (bs, n_tokens * 4, 3)token_mask,  # (bs, n_tokens)min_bin: float = 0.0,max_bin: float = 32.0,no_bins: int = 64,eps: float = 1e-6,**kwargs,
) -> Tensor:  # (bs,)# TODO: this is an inelegant implementation, integrate with the data pipelinebatch_size, n_tokens = token_mask.shape# Compute pseudo beta and maskall_atom_positions = all_atom_positions.reshape(batch_size, n_tokens, 4, 3)ca_pos = residue_constants.atom_order["CA"]pseudo_beta = all_atom_positions[..., ca_pos, :]  # (bs, n_tokens, 3)pseudo_beta_mask = token_mask  # (bs, n_tokens)boundaries = torch.linspace(min_bin,max_bin,no_bins - 1,device=logits.device,)boundaries = boundaries ** 2dists = torch.sum((pseudo_beta[..., :, None, :] - pseudo_beta[..., None, :, :]) ** 2,dim=-1,keepdim=True,)true_bi

http://www.ppmy.cn/news/1570880.html

相关文章

win32汇编环境,结构体的使用示例二

;运行效果 ;win32汇编环境,结构体的使用示例二 ;举例说明结构体的定义,如何访问其中的成员,使用assume指令指向某个结构体,计算结构数组所需的偏移量得到某个成员值等 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>…

2025_2_9 C语言中队列

1.队列(先进先出) 队列也是一种受限制的线性结构 它只能在一端添加元素,在另一端访问,删除元素 (队首插入,队尾删除) 因为链表实现没有数组实现快,所以队列大多数是用数组实现的 q…

火语言RPA--XML提取

🚩【组件功能】:在XML文本中提取通过XML选择器提取指定节点内容 配置预览 配置说明 源XML文本 支持T或# 默认FLOW输入项 提取处理的对象,若为空,以上一个组件的输出做为源XML文本,支持文本或表达式输入。 XmlPath选…

wxWidgets生成HTML文件,带图片转base64数据

编译环境大家可以看我之前的文章,CodeBlocks + msys2 + wx3.2,win10 这里功能就是生成HTML文件,没用HTML库,因为是自己固定的格式,图片是一个vector,可以动态改变数量的。 效果如下: #include <wx/string.h> #include <wx/file.h> #include <wx/ima…

MyBatis-Plus与PageHelper的jsqlparser库冲突问题

背景介绍 在最近的一个项目中&#xff0c;我们决定将Spring Boot升级至3.x版本&#xff0c;并同时升级了MyBatis-Plus到最新版本&#xff08;3.5.7&#xff09;。然而&#xff0c;在完成这些升级之后&#xff0c;我们遇到了一个问题&#xff1a;分页插件PageHelper无法正常工作…

【声音转文字CapsWriter】声音随时转化为文字,CapsWriter提高工作效率

文章目录 前言1. 软件与模型下载2. 本地使用测试3. 异地远程使用3.1 内网穿透工具下载安装3.2 配置公网地址3.3 修改config文件3.4 异地远程访问服务端 4. 配置固定公网地址4.1 修改config文件 5. 固定tcp公网地址远程访问服务端 前言 今天我要给大家安利一个神器——CapsWrit…

Linux下安装SVN服务端小白教程

安装 使用yum安装非常简单&#xff1a; yum install subversion 配置 2.1. 创建仓库 我们这里在/home下建立一个名为svn的仓库&#xff08;repository&#xff09;&#xff0c;以后所有代码都放在这个下面&#xff0c;创建成功后在svn下面多了几个文件夹。 [rootlocalhos…

了解大语言模型的基本原理(三)——如何正确使用ChatGPT

想要正确使用Chat GPT&#xff0c;就需要提高和AI沟通的质量和效率&#xff0c;这就需要提示工程&#xff08;Prompt Engineering&#xff09;。 ChatGPT的缺陷&#xff1a;由于LLM是根据预测下一个最大概率token来生成文本的&#xff0c;所以ChatGPT对于没有学习过的知识或者…