mindspore_gl.dataset.Alchemy

class mindspore_gl.dataset.Alchemy(root, datasize=10000)[源代码]

Alchemy数据集,用于读取和解析Alchemy数据集的源数据集。

关于Alchemy数据集:

腾讯量子实验室最近推出了一个新的分子数据集,叫做Alchemy,以促进开发对化学和材料科学有用的新机器学习模型。

该数据集列出了包含多达12个重原子的具有12个量子力学性质的130000+有机分子(C、N、O、S、F和Cl),取自GDBMedChem数据库。这些属性是使用基于Python的化学模拟框架(PySCF)开源计算化学程序。

信息统计:

  • 图: 99776

  • 节点: 9.71

  • 边: 10.02

  • 量子力学性质数量: 12

下载地址: - Alchemy dev - Alchemy valid

您可以将数据集文件组织到以下目录结构中,并通过 preprocess API读取。

.
├── dev
│ ├── dev_target.csv
│ └── sdf
│     ├── atom_10
│     ├── atom_11
│     ├── atom_12
│     └── atom_9
└── valid
    ├── sdf
    │ ├── atom_11
    │ └── atom_12
    └── valid_target.csv
参数:
  • root (str) - 包含alchemy_with_mask.npz的根目录的路径。

  • datasize (int) - 训练数据集大小。默认值:10000。

异常:
  • TypeError - 如果 root 不是str。

  • RuntimeError - 如果 root 不包含数据文件。

  • ValueError - 如果 datasize 大于99776。

样例:

>>> from mindspore_gl.dataset import Alchemy
>>> root = "path/to/alchemy"
>>> dataset = Alchemy(root)
property edge_feat

边特征。

返回:

numpy.ndarray,边特征数组。

样例:

>>> #dataset is an instance object of Dataset
>>> node_feat = dataset.edge_feat
property graph_count

图的总数。

返回:

int,图的数量。

样例:

>>> #dataset is an instance object of Dataset
>>> graph_count = dataset.graph_count
graph_edge_feat(graph_idx)[源代码]

图上每个边的特征。

参数:
  • graph_idx (int) - 图索引。

返回:

numpy.ndarray,图的边特征。

样例:

>>> #dataset is an instance object of Dataset
>>> graph_edge_feat = dataset.graph_edge_feat(graph_idx)
property graph_edges

累计图边数。

返回:

numpy.ndarray,累积边数组。

样例:

>>> #dataset is an instance object of Dataset
>>> val_mask = dataset.graph_edges
graph_feat(graph_idx)[源代码]

图上每个节点的特征。

参数:
  • graph_idx (int) - 图索引。

返回:

numpy.ndarray,图的节点特征。

样例:

>>> #dataset is an instance object of Dataset
>>> graph_feat = dataset.graph_feat(graph_idx)
property graph_label

图的标签。

返回:

numpy.ndarray,图标签数组。

样例:

>>> #dataset is an instance object of Dataset
>>> node_feat = dataset.graph_label
property graph_nodes

累计图节点数。

返回:

numpy.ndarray,累计节点数组。

样例:

>>> #dataset is an instance object of Dataset
>>> val_mask = dataset.graph_nodes
property n_tasks

图标签种类。

返回:

int,图标签的种类。

样例:

>>> #dataset is an instance object of Dataset
>>> n_tasks = dataset.n_tasks
property node_feat

节点特征。

返回:

numpy.ndarray,节点特征数组。

样例:

>>> #dataset is an instance object of Dataset
>>> node_feat = dataset.node_feat
property num_edge_features

标签类数量。

返回:

int,类的数量。

样例:

>>> #dataset is an instance object of Dataset
>>> num_edge_features = dataset.num_edge_features
property num_features

每个节点的特征数量。

返回:

int,特征的数量。

样例:

>>> #dataset is an instance object of Dataset
>>> num_features = dataset.num_features
property train_graphs

训练图ID。

返回:

numpy.ndarray,训练图ID。

样例:

>>> #dataset is an instance object of Dataset
>>> train_graphs = dataset.train_graphs
property train_mask

训练节点掩码。

返回:

numpy.ndarray,掩码数组。

样例:

>>> #dataset is an instance object of Dataset
>>> train_mask = dataset.train_mask
property val_graphs

校验的图ID。

返回:

numpy.ndarray,校验图ID数组。

样例:

>>> #dataset is an instance object of Dataset
>>> val_graphs = dataset.val_graphs
property val_mask

校验节点掩码。

返回:

numpy.ndarray,掩码数组。

样例:

>>> #dataset is an instance object of Dataset
>>> val_mask = dataset.val_mask