参考:https://arxiv.org/pdf/2209.01712.pdf
模型是基于分子simles进行transformer的MLM预训练的bert模型
1、化合物小分子的向量表示
from transformers import BertTokenizer, AutoTokenizer,BertModel
tokenizer_ = AutoTokenizer.from_pretrained("DeepChem/ChemBERTa-77M-MLM")
model_ = BertModel.from_pretrained("DeepChem/ChemBERTa-77M-MLM")
outputs_ = model_(**tokenizer_("Clc1c(Cl)c(O)ccc1O", return_tensors='pt'))
outputs_.pooler_output[0] ##向量,384维度
这是tokenizer_ 查看输入基构建的输入情况,添加了cls seq 两个token

这是outputs_结果,pooler_output表示cls向量,注意这里pooler_output其实是在cls上再加了层mlp的&#
本文介绍了如何利用基于transformers的预训练模型ChemBERTa来表示化合物小分子的向量,并进行分子相似性的检索。模型通过分子SMILES进行预训练,其中tokenizer用于构建输入,outputs的pooler_output提供了分子的向量表示。在实际应用中,选择last_hidden_state中的cls向量能获得更好的效果。文章还详细阐述了将分子转化为向量并进行检索的步骤,包括结果展示。
订阅专栏 解锁全文
919

被折叠的 条评论
为什么被折叠?



