mindspore_gl.dataset.Alchemy

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

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

关于Alchemy数据集:

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

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

信息统计:

  • 图: 99776

  • 节点: 9.71

  • 边: 10.02

  • 量子力学性质数量: 12

下载地址: - Alchemy dev - Alchemy valid

您可以将数据集文件组织到以下目录结构中进行读取。

.
├── 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 edge_feat_size

每个边的特征数量。

返回:

int,特征的数量。

样例:

>>> #dataset is an instance object of Dataset
>>> edge_feat_size = dataset.edge_feat_size
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
>>> graph_edges = dataset.graph_edges
property graph_label

图的标签。

返回:

numpy.ndarray,图标签数组。

样例:

>>> #dataset is an instance object of Dataset
>>> node_feat = dataset.graph_label
graph_node_feat(graph_idx)[源代码]

图上每个节点的特征。

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

返回:

numpy.ndarray,图的节点特征。

样例:

>>> #dataset is an instance object of Dataset
>>> graph_node_feat = dataset.graph_node_feat(graph_idx)
property graph_nodes

累计图节点数。

返回:

numpy.ndarray,累计节点数组。

样例:

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

节点特征。

返回:

numpy.ndarray,节点特征数组。

样例:

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

每个节点的特征数量。

返回:

int,特征的数量。

样例:

>>> #dataset is an instance object of Dataset
>>> node_feat_size = dataset.node_feat_size
property num_classes

图标签种类。

返回:

int,图标签的种类。

样例:

>>> #dataset is an instance object of Dataset
>>> num_classes = dataset.num_classes
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