QM9Dataset

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

基类: DGLDataset

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

该数据集包含 130,831 个分子,有 12 个回归目标。节点对应于原子,边对应于距离相近的原子对。

该数据集与 QM9EdgeDataset 在以下方面有所不同
  1. 此数据集中的边完全基于距离。

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

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

参考

统计信息

  • 图数量:130,831

  • 回归目标数量:12

属性

描述

单位

mu

\(\mu\)

偶极矩

\(\textrm{D}\)

alpha

\(\alpha\)

各向同性极化率

\({a_0}^3\)

homo

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

最高占据分子轨道能量

\(\textrm{eV}\)

lumo

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

最低未占据分子轨道能量

\(\textrm{eV}\)

gap

\(\Delta \epsilon\)

\(\epsilon_{\textrm{HOMO}}\) 和 \(\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}}\)

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

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

  • raw_dir (str) – 下载/包含输入数据目录的原始文件目录。默认值:~/.dgl/

  • force_reload (bool) – 是否重新加载数据集。默认值:False

  • verbose (bool) – 是否打印进度信息。默认值:True。

  • transform (callable, optional) – 一个转换函数,接受 DGLGraph 对象并返回转换后的版本。每次访问 DGLGraph 对象之前都会对其进行转换。

num_tasks

预测任务的数量

类型:

int

num_labels

(已弃用,请改用 num_tasks) 预测任务的数量

类型:

int

抛出:

UserWarning – 如果原始数据在远程服务器上被作者更改。

示例

>>> 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]

按索引获取图和标签

参数:

idx (int) – 项目索引

返回:

  • dgl.DGLGraph – 图包含

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

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

  • Tensor – 分子图的属性值

__len__()[source]

数据集中的图数量。

返回类型:

int