【问题标题】:Output of Graph Convolution in deepchemdeepchem中图卷积的输出
【发布时间】:2023-03-17 21:21:01
【问题描述】:

我正在使用Deepchem 为我的GraphConvolution 模型创建功能,如下所示。

import deepchem as dc
from rdkit import Chem
import numpy as np
import pandas as pd
from rdkit.Chem import Draw
from rdkit.Chem.Draw import IPythonConsole

smile = 'O=C(C1=CC=C(C=C1)C(O)=O)O'
molecules = []
molecules.append(Chem.MolFromSmiles(smile))
featurizer = dc.feat.graph_features.ConvMolFeaturizer()
mol_object = featurizer.featurize(mols=molecules)

现在我想知道输出mol_object。我知道dc.feat.graph_features.ConvMolFeaturizer() 返回一个数组对象。但它实际上对输入起作用。

所以featurizer.featurize(mols=molecules)molecules 作为输入。 molecules[0] 将打印以下图表。

因为molecules 是一个列表,它只包含一个位于索引0 的元素,即molecules[0]。这意味着dc.feat.graph_features.ConvMolFeaturizer()中的mols将此图像作为输入并输出mol_object

mol_object 输出是什么,我如何才能看到它?是否表明它是一个数组但我看不到这个数组的内容?

print(np.shape(mol_object))
(1,)
print(type(mol_object))
<class 'numpy.ndarray'>
print(mol_object)
[<deepchem.feat.mol_graphs.ConvMol object at 0x7f96a68c6e48>]

我如何检查或查看[&lt;deepchem.feat.mol_graphs.ConvMol object at 0x7f96a68c6e48&gt;]

【问题讨论】:

    标签: deep-learning rdkit


    【解决方案1】:

    为什么不查看 ConvMol 对象的 source code

    特征化器的输出返回一个 ConvMol 对象数组(每个 rdkit 分子输入一个),即 deepchem.feat.mol_graphs.ConvMol,您实际要检查的是数组的第一个元素 mol_object[0]。

    查看源代码,您可以了解包含哪些关于分子的信息,例如可以访问 ConvMol.atom_features 或在您的情况下为 mol_object[0].atom_features 的原子特征

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 2017-10-06
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多