性能预测
当前支持的模型架构:
- GCN分类器
- GAT分类器
- 神经网络
- 网络
- MGCN
- AttentiveFP
classdgl.model_zoo.chem.GCNClassifier(** kwargs)
基于GCN的分子图多任务预测的预测器,我们假设每个任务都需要执行二元分类。
参数: |
- in_feats(int)–输入原子特征的数量
- gcn_hidden_feats(list of int)– gcn_hidden_feats [i]给出第i + 1个gcn层中输出原子特征的数量
- n_tasks(int)–预测任务数
- classifier_hidden_feats(int)– MLP分类器隐藏层中的分子图特征数量
- dropout(float)–dropout率。默认值为0。即,不执行任何丢弃操作。
|
---|
forward
(g, feats)
一批分子的多任务预测
参数: |
- g(DGLGraph)–能并行处理多个分子的DGLGraph,批处理大小为B
- feats (FloatTensor of shape (N, M0))–一批分子中所有原子的初始特征
|
---|
返回值: | 对这批分子上所有任务的软预测 |
---|
返回类型: | FloatTensor of shape (B, n_tasks) |
---|
classdgl.model_zoo.chem.GATClassifier(** kwargs)
基于GAT的预测器,用于分子图上的多任务预测。我们假设每个任务都需要执行二元分类。
参数: | in_feats(int)–输入原子特征的数量 |
---|
forward
(g, feats)
一批分子的多任务预测
参数: |
- g(DGLGraph)–批处理大小为B的DGLGraph,用于并行处理多个分子
- feats (FloatTensor of shape (N, M0)) –一批分子中所有原子的初始特征
|
---|
返回值: | 软预测分子批次上的所有任务 |
---|
返回类型: | 形状的FloatTensor(B,n个任务) |
---|
clas sdgl.model_zoo.chem.MPNNModel(** kwargs)
来自神经信息传递的量子化学的 MPNN
参数: |
- node_input_dim(int)–输入节点特征的尺寸,默认为15。
- edge_input_dim(int)–输入边缘特征的尺寸,默认为15。
- output_dim(int)–预测维度,默认为12。
- node_hidden_dim(int)–隐藏图层中节点要素的尺寸,默认为64。
- edge_hidden_dim(int)–隐藏图层中边缘要素的尺寸,默认为128。
- num_step_message_passing(int)–消息传递步骤的数量,默认为6。
- num_step_set2set(int)– set2set步骤数
- num_layer_set2set(int)– set2set层数
|
---|
forward(g,n_feat,e_feat)
预测分子标签
参数: |
- g(DGLGraph)–分子的输入DGLGraph
- n_feat (tensor of dtype float32 and shape (B1, D1))–节点特征。B1表示节点数,D1表示节点特征大小。
- e_feat (tensor of dtype float32 and shape (B2, D2))–边缘特征。B2表示边数,D2表示边要素尺寸。
|
---|
返回值: | res |
---|
返回类型: | 预测标签 |
---|
class dgl.model_zoo.chem.SchNet(** kwargs)
SchNet:用于建模量子相互作用的连续滤波器卷积神经网络。(NIPS'2017)
参数: |
- dim(int)–原子嵌入的大小,默认为64。
- cutoff(float)– RBF的半径截止,默认为5.0。
- output_dim(int)–要预测的目标属性的数量,默认为1。
- width(int)– RBF的宽度,默认为1。
- n_conv(int)–转换(交互)层数,默认为1。
- norm(bool)–是否标准化输出原子表示,默认为False。
- atom_ref(Atom embeddings 或None)–如果为None,将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。
- pre_train(Atom嵌入或None)–如果为None,则将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。
|
---|
forward(g,atom_types,edge_distances)
预测分子标签
参数: |
- g(DGLGraph)–分子的输入DGLGraph
- atom_types (int64 tensor of shape (B1))–图形中原子的类型,B1为原子数。
- edge_distances (float32 tensor of shape (B2, 1)) -边缘的距离,B2为边缘的数量。
|
---|
返回值: | 预测 –批图的模型预测,图的数量为B,预测大小为output_dim。 |
---|
返回类型: | loat32 tensor of shape (B, output_dim) |
---|
class dgl.model_zoo.chem.MGCNModel(** kwargs)
分子特性预测:多级量子相互作用建模的观点
参数: |
- dim(int)–嵌入的大小,默认为128。
- width(int)– RBF层中的宽度,默认为1。
- cutoff(float)–节点之间的最大距离,默认为5.0。
- edge_dim(int)–边缘嵌入的大小,默认为128。
- out_put_dim(int)–要预测的目标属性的数量,默认为1。
- n_conv(int)–卷积层数,默认为3。
- norm(bool)–是否执行标准化,默认为False。
- atom_ref(Atom embeddings 或None)–如果为None,将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。
- pre_train(Atom嵌入或None)–如果为None,则将使用随机表示初始化。否则,它们将用于初始化原子表示。默认为无。
|
---|
forward
(g,atom_types,edge_distances )[源代码]
预测分子标签
参数: |
- g(DGLGraph)–分子的输入DGLGraph
- atom_types(形状为(b1 )的int64张量)–图形中原子的类型,B1为原子数。
- edge_distances(FLOAT32张量形状(B2 ,1 )) -边缘的距离,B2为边缘的数量。
|
---|
返回值: | 预测 –批图的模型预测,图的数量为B,预测大小为output_dim。 |
---|
返回类型: | 形状为(B,output_dim)的float32张量 |
---|
classdgl.model_zoo.chem.
AttentiveFP
(** kwargs )[源代码]
利用图注意力机制推动药物发现的分子表示边界
参数: |
- node_feat_size(int)–输入节点(原子)特征的大小。
- edge_feat_size(int)–输入边缘(绑定)特征的大小。
- num_layers(int)– GNN层数。
- num_timesteps(int)–用GRU更新分子表示的时间步数。
- graph_feat_size(int)–学习的图形表示的大小(分子指纹)。
- output_size(int)–预测的大小(目标标签)。
- dropout(float)–执行辍学的概率。
|
---|
forward
(g,node_feats,edge_feats,get_node_weight = False )[源代码]
参数: |
- g(DGLGraph)–构造的DGLGraphs。
- node_feats(形状为(V ,N1 )的float32张量)–输入节点特征。V为节点数,N1为要素大小。
- edge_feats(形状为(E ,N2 )的float32张量)–输入边缘特征。E为边数,N2为特征尺寸。
- get_node_weight(bool)–是否在读取期间获取原子的权重。
|
---|
返回值: |
- 形状为(G,N3)的float32张量 –图形的预测。G代表图表数量,N3代表输出尺寸。
- node_weights(形状为(V,1)的float32张量的列表)–所有读取操作中节点的权重。
|
---|
生成模型
当前支持的模型架构:
classdgl.model_zoo.chem.
DGMG
(** kwargs )[源代码]
DGMG模型
学习图的深度生成模型
用户只需要初始化此类的实例。
参数: |
- atom_types(list)–例如['C','N']
- bond_types(列表)–例如[Chem.rdchem.BondType.SINGLE,Chem.rdchem.BondType.DOUBLE,Chem.rdchem.BondType.TRIPLE,Chem.rdchem.BondType.AROMATIC]
- node_hidden_size(int)–原子表示的大小
- num_prop_rounds(int)–每次消息传递回合的次数
- 辍学(float)–辍学的可能性
|
---|
forward
(actions = None,rdkit_mol = False,compute_log_prob = False,max_num_steps = 400 )[源代码]
参数: |
- 动作(2元组列表或无。)–如果动作不是无,则根据动作生成分子。否则,将根据采样动作生成分子。
- rdkit_mol(bool)–是否维护Chem.rdchem.Mol对象。这带来了额外的计算成本,但是如果我们对学习生成的分子感兴趣的话,这是必需的。
- compute_log_prob(bool)–是否计算对数似然
- max_num_steps(int)–允许的最大步数。这仅在推断期间生效,并防止模型停止。
|
---|
返回值: |
- torch.tensor仅由浮点组成,可选 –所采取动作的对数似然
- str,可选 –生成的分子形式为SMILES
|
---|
classdgl.model_zoo.chem.
DGLJTNNVAE
(** kwargs )[源代码]
用于生成分子图的连接树变分自编码器
forward
(mol_batch,beta = 0,e1 = None,e2 = None )[源代码]
定义每次调用时执行的计算。
应该被所有子类覆盖。
注意
尽管需要在此函数中定义向前传递的方法,但应在Module
之后调用该实例,而不是调用该实例,因为前者负责运行已注册的钩子,而后者则静默地忽略它们。