QM9数据集

class dgl.data.QM9Dataset(label_keys, cutoff=5.0, raw_dir=None, force_reload=False, verbose=False, transform=None)[source]

Bases: DGLDataset

用于图属性预测(回归)的QM9数据集

该数据集由130,831个分子组成,包含12个回归目标。 节点对应原子,边对应邻近的原子对。

This dataset differs from QM9EdgeDataset in the following aspects:
  1. 此数据集中的边纯粹基于距离。

  2. 它仅提供原子的坐标和原子序数作为节点特征

  3. 它只提供了12个回归目标。

参考:

统计:

  • 图表数量:130,831

  • 回归目标的数量:12

属性

描述

单位

mu

\(\mu\)

偶极矩

\(\textrm{D}\)

alpha

\(\alpha\)

各向同性极化率

\({a_0}^3\)

同质

\(\epsilon_{\textrm{HOMO}}\)

最高占据分子轨道能量

\(\textrm{eV}\)

lumo

\(\epsilon_{\textrm{LUMO}}\)

最低未占据分子轨道能量

\(\textrm{eV}\)

间隔

\(\Delta \epsilon\)

Gap between \(\epsilon_{\textrm{HOMO}}\) and \(\epsilon_{\textrm{LUMO}}\)

\(\textrm{eV}\)

r2

\(\langle R^2 \rangle\)

电子空间范围

\({a_0}^2\)

zpve

\(\textrm{ZPVE}\)

零点振动能

\(\textrm{eV}\)

U0

\(U_0\)

0K时的内能

\(\textrm{eV}\)

U

\(U\)

298.15K时的内能

\(\textrm{eV}\)

H

\(H\)

298.15K时的焓

\(\textrm{eV}\)

G

\(G\)

298.15K时的自由能

\(\textrm{eV}\)

Cv

\(c_{\textrm{v}}\)

298.15K时的热容量

\(\frac{\textrm{cal}}{\textrm{mol K}}\)

Parameters:
  • label_keys (list) – 回归属性的名称,应该是上表中键的子集。

  • cutoff (float) – 原子间相互作用的截止距离,即如果两个原子之间的距离不大于此值,则在相应的图中它们是连接的。 默认值:5.0 埃

  • raw_dir (str) – Raw file directory to download/contains the input data directory. Default: ~/.dgl/

  • force_reload (bool) – Whether to reload the dataset. Default: False

  • verbose (bool) – Whether to print out progress information. Default: True.

  • transform (callable, optional) – A transform that takes in a DGLGraph object and returns a transformed version. The DGLGraph object will be transformed before every access.

num_tasks

预测任务的数量

Type:

int

num_labels

(已弃用,请使用num_tasks代替)预测任务的数量

Type:

int

Raises:

UserWarning – If the raw data is changed in the remote server by the author.

示例

>>> data = QM9Dataset(label_keys=['mu', 'gap'], cutoff=5.0)
>>> data.num_tasks
2
>>>
>>> # iterate over the dataset
>>> for g, label in data:
...     R = g.ndata['R'] # get coordinates of each atom
...     Z = g.ndata['Z'] # get atomic numbers of each atom
...     # your code here...
>>>
__getitem__(idx)[source]

通过索引获取图形和标签

Parameters:

idx (int) – Item index

Returns:

  • dgl.DGLGraph – 该图包含:

    • ndata['R']: 每个原子的坐标

    • ndata['Z']: 原子序数

  • Tensor – 分子图的属性值

__len__()[source]

数据集中的图表数量。

Return type:

int