当前位置: 首页 > 工具软件 > model-zoo > 使用案例 >

DGL官方教程--API--dgl.model_zoo

李联
2023-12-01

dgl.model_zoo 

Chemistry

实用工具

chem.load_pretrained(* args,** kwargs) 

性能预测

当前支持的模型架构:

  • GCN分类器
  • GAT分类器
  • 神经网络
  • 网络
  • MGCN
  • AttentiveFP
classdgl.model_zoo.chem.GCNClassifier(** kwargs)

基于GCN的分子图多任务预测的预测器,我们假设每个任务都需要执行二元分类。

参数:
  • in_featsint)–输入原子特征的数量
  • gcn_hidden_​​featslist of int)– gcn_hidden_​​feats [i]给出第i + 1个gcn层中输出原子特征的数量
  • n_tasksint)–预测任务数
  • classifier_hidden_​​featsint)– MLP分类器隐藏层中的分子图特征数量
  • dropoutfloat)–dropout率。默认值为0。即,不执行任何丢弃操作。

forward(gfeats)

一批分子的多任务预测

参数:
  • gDGLGraph)–能并行处理多个分子的DGLGraph,批处理大小为B
  • feats (FloatTensor of shape (NM0))–一批分子中所有原子的初始特征
返回值:对这批分子上所有任务的软预测
返回类型:FloatTensor of shape (B, n_tasks)
classdgl.model_zoo.chem.GATClassifier(** kwargs)

基于GAT的预测器,用于分子图上的多任务预测。我们假设每个任务都需要执行二元分类。

参数:in_featsint)–输入原子特征的数量

forward(gfeats)

一批分子的多任务预测

参数:
  • gDGLGraph)–批处理大小为B的DGLGraph,用于并行处理多个分子
  • feats (FloatTensor of shape (NM0)–一批分子中所有原子的初始特征
返回值:

软预测分子批次上的所有任务

返回类型:

形状的FloatTensor(B,n个任务)

clas sdgl.model_zoo.chem.MPNNModel(** kwargs)

来自神经信息传递的量子化学的 MPNN

参数:
  • node_input_dimint)–输入节点特征的尺寸,默认为15。
  • edge_input_dimint)–输入边缘特征的尺寸,默认为15。
  • output_dimint)–预测维度,默认为12。
  • node_hidden_​​dimint)–隐藏图层中节点要素的尺寸,默认为64。
  • edge_hidden_​​dimint)–隐藏图层中边缘要素的尺寸,默认为128。
  • num_step_message_passingint)–消息传递步骤的数量,默认为6。
  • num_step_set2setint)– set2set步骤数
  • num_layer_set2setint)– set2set层数
forward(g,n_feat,e_feat)

预测分子标签

参数:
  • gDGLGraph)–分子的输入DGLGraph
  • n_feat (tensor of dtype float32 and shape (B1D1))–节点特征。B1表示节点数,D1表示节点特征大小。
  • e_feat (tensor of dtype float32 and shape (B2D2))–边缘特征。B2表示边数,D2表示边要素尺寸。
返回值:res
返回类型:

预测标签

class dgl.model_zoo.chem.SchNet(** kwargs)

SchNet:用于建模量子相互作用的连续滤波器卷积神经网络。(NIPS'2017)

参数:
  • dimint)–原子嵌入的大小,默认为64。
  • cutofffloat)– RBF的半径截止,默认为5.0。
  • output_dimint)–要预测的目标属性的数量,默认为1。
  • widthint)– RBF的宽度,默认为1。
  • n_convint)–转换(交互)层数,默认为1。
  • normbool)–是否标准化输出原子表示,默认为False。
  • atom_refAtom embeddings None)–如果为None,将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。
  • pre_trainAtom嵌入None)–如果为None,则将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。
forward(g,atom_types,edge_distances)

预测分子标签

参数:
  • gDGLGraph)–分子的输入DGLGraph
  • atom_types (int64 tensor of shape (B1))–图形中原子的类型,B1为原子数。
  • edge_distances (float32 tensor of shape (B21)) -边缘的距离,B2为边缘的数量。
返回值:

预测 –批图的模型预测,图的数量为B,预测大小为output_dim。

返回类型:loat32 tensor of shape (B, output_dim)
class dgl.model_zoo.chem.MGCNModel(** kwargs)

分子特性预测:多级量子相互作用建模的观点

参数:
  • dimint)–嵌入的大小,默认为128。
  • widthint)– RBF层中的宽度,默认为1。
  • cutofffloat)–节点之间的最大距离,默认为5.0。
  • edge_dimint)–边缘嵌入的大小,默认为128。
  • out_put_dimint)–要预测的目标属性的数量,默认为1。
  • n_convint)–卷积层数,默认为3。
  • normbool)–是否执行标准化,默认为False。
  • atom_refAtom embeddings None)–如果为None,将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。
  • pre_trainAtom嵌入None)–如果为None,则将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。

forwardgatom_typesedge_distances [源代码]

预测分子标签

参数:
  • gDGLGraph)–分子的输入DGLGraph
  • atom_types形状为b1 )的int64张量)–图形中原子的类型,B1为原子数。
  • edge_distancesFLOAT32张量形状B2 ) -边缘的距离,B2为边缘的数量。
返回值:

预测 –批图的模型预测,图的数量为B,预测大小为output_dim。

返回类型:

形状为(B,output_dim)的float32张量

classdgl.model_zoo.chem.AttentiveFP** kwargs [源代码]

利用图注意力机制推动药物发现的分子表示边界

参数:
  • node_feat_sizeint)–输入节点(原子)特征的大小。
  • edge_feat_sizeint)–输入边缘(绑定)特征的大小。
  • num_layersint)– GNN层数。
  • num_timestepsint)–用GRU更新分子表示的时间步数。
  • graph_feat_sizeint)–学习的图形表示的大小(分子指纹)。
  • output_sizeint)–预测的大小(目标标签)。
  • dropoutfloat)–执行辍学的概率。

forwardgnode_featsedge_featsget_node_weight = False [源代码]

参数:
  • gDGLGraph)–构造的DGLGraphs。
  • node_feats形状为N1 )的float32张量)–输入节点特征。V为节点数,N1为要素大小。
  • edge_feats形状为N2 )的float32张量)–输入边缘特征。E为边数,N2为特征尺寸。
  • get_node_weightbool)–是否在读取期间获取原子的权重。
返回值:

 

  • 形状为(G,N3)的float32张量 –图形的预测。G代表图表数量,N3代表输出尺寸。
  • node_weights形状为(V,1)的float32张量的列表)–所有读取操作中节点的权重。

 

生成模型

当前支持的模型架构:

  • DGMG
  • 神经网络

classdgl.model_zoo.chem.DGMG** kwargs [源代码]

DGMG模型

学习图的深度生成模型

用户只需要初始化此类的实例。

参数:
  • atom_typeslist)–例如['C','N']
  • bond_types列表)–例如[Chem.rdchem.BondType.SINGLE,Chem.rdchem.BondType.DOUBLE,Chem.rdchem.BondType.TRIPLE,Chem.rdchem.BondType.AROMATIC]
  • node_hidden_​​sizeint)–原子表示的大小
  • num_prop_roundsint)–每次消息传递回合的次数
  • 辍学float)–辍学的可能性

forwardactions = Nonerdkit_mol = Falsecompute_log_prob = Falsemax_num_steps = 400 [源代码]

参数:
  • 动作2元组列表无。)–如果动作不是无,则根据动作生成分子。否则,将根据采样动作生成分子。
  • rdkit_molbool)–是否维护Chem.rdchem.Mol对象。这带来了额外的计算成本,但是如果我们对学习生成的分子感兴趣的话,这是必需的。
  • compute_log_probbool)–是否计算对数似然
  • max_num_stepsint)–允许的最大步数。这仅在推断期间生效,并防止模型停止。
返回值:

 

  • torch.tensor仅由浮点组成,可选 –所采取动作的对数似然
  • str,可选 –生成的分子形式为SMILES

 

classdgl.model_zoo.chem.DGLJTNNVAE** kwargs [源代码]

用于生成分子图的连接树变分自编码器

forwardmol_batchbeta = 0e1 = Nonee2 = None [源代码]

定义每次调用时执行的计算。

应该被所有子类覆盖。

注意

尽管需要在此函数中定义向前传递的方法,但应在Module之后调用该实例,而不是调用该实例,因为前者负责运行已注册的钩子,而后者则静默地忽略它们。

蛋白配体结合

当前支持的模型架构:

  • 神经网络

classdgl.model_zoo.chem.ACNN** kwargs [源代码]

原子卷积网络。

该模型是在原子卷积网络中提出的,用于预测蛋白质-配体的结合亲和力

参数:
  • hidden_​​sizesint列表)–在预测变量中为所有图层指定隐藏大小。
  • weight_init_stddevs浮点数列表)–在预测变量的初始化权重中指定用于截断正态分布的标准偏差。
  • dropouts浮点列表)–指定要用于预测器中所有图层的辍学。
  • features_to_use形状)的浮动张量)–在原始论文中,这些是要考虑的原子序号,代表原子的类型。T为原子序数的类型。默认为无。
  • 径向列表)–如果不是无,则该列表由3个浮点列表组成,分别用于交互截止的选项,rbf内核均值的选项和rbf内核缩放的选项。如果为None,将使用默认选项 。[[12.0], [0.0, 2.0, 4.0, 6.0, 8.0], [4.0]]
  • num_tasksint)–输出任务数。

forward[来源]

将模型应用于预测。

参数:DGLHeteroGraph)– DGLHeteroGraph由配体图,蛋白质图和复杂图以及预处理的特征组成。
返回值:预测的蛋白质-配体结合亲和力。B代表批次中蛋白质-配体对的数量,O代表任务的数量。
返回类型:形状为(B,O)的Float32张量

 

 类似资料: