xnn.common.data.hub.ethanol_response.EthanolResponseBuilder#

class xnn.common.data.hub.ethanol_response.EthanolResponseBuilder[source]#

Bases: DatasetBuilder

Builder for the ethanol energies / forces / dipoles / polarizabilities set.

load(*, split=None, cache_dir, n_train=8000, n_val=1000, n_test=1000, seed=0, units='eV', shielding=False, quiet=False)[source]#

Download and preprocess the ethanol set.

Parameters:
  • split (str or None) – None returns {"train": ..., "val": ..., "test": ...}; "train" / "val" / "test" returns that split; "all" returns every conformation in file order.

  • cache_dir (pathlib.Path) – Base cache directory; the archive is stored under cache_dir/"ethanol_response".

  • n_train (int, optional) – Sizes of the three splits (8000 / 1000 / 1000 in the papers), drawn in that order from a seeded random permutation.

  • n_val (int, optional) – Sizes of the three splits (8000 / 1000 / 1000 in the papers), drawn in that order from a seeded random permutation.

  • n_test (int, optional) – Sizes of the three splits (8000 / 1000 / 1000 in the papers), drawn in that order from a seeded random permutation.

  • seed (int, optional) – Seed of the permutation. Defaults to 0.

  • units (str, optional) – "eV" (default: Angstrom, eV, eV/Angstrom, e Angstrom, Angstrom^3) or "au" (the published atomic units).

  • shielding (bool, optional) – Also return the nuclear shielding tensors ((N, 3, 3), ppm) as "shielding". Defaults to False.

  • quiet (bool, optional) – Suppress download progress output.

Returns:

dict of {str – Structure dicts with pos (N, 3), atomic_numbers (N,), energy, forces (N, 3), dipole (3,) and polarizability (3, 3).

Return type:

list of dict} or list of dict

Raises:
  • ImportError – If ase is not installed.

  • ValueError – For an unknown units or split, or splits larger than the set.