deepmd/npy format#

Aliases#

deepmd/comp, deepmd/npy

Implementation: DeePMDCompFormat

Overview#

DeePMD-kit NumPy dataset directory.

DeePMD-kit is a deep learning package for training interatomic potentials. Commonly called deepmd/npy, this layout keeps type metadata as raw files and splits frame arrays among set.000, set.001, … directories containing .npy files. It is the standard efficient on-disk format for DeePMD-kit training data.

Quick examples#

The examples use the preferred alias deepmd/npy; any alias listed above is equivalent.

import dpdata

# Geometry-only data
system = dpdata.System("input_file", fmt="deepmd/npy")

# Data with energies and forces
labeled_system = dpdata.LabeledSystem("input_file", fmt="deepmd/npy")

# Multiple compositions or calculation directories
systems = dpdata.MultiSystems.from_file("input_directory", fmt="deepmd/npy")

# Write geometry-only data
system.to("deepmd/npy", "output_path")

# Write multiple systems
systems.to("deepmd/npy", "output_path")

Conversions#

Convert from this format to System#

dpdata.System(file_name, type_map=None, fmt: Literal['deepmd/comp'] = None, **kwargs) dpdata.system.System
dpdata.System(file_name, type_map=None, fmt: Literal['deepmd/npy'] = None, **kwargs) dpdata.system.System
dpdata.System.from_deepmd_comp(file_name, type_map=None, **kwargs) dpdata.system.System
dpdata.System.from_deepmd_npy(file_name, type_map=None, **kwargs) dpdata.system.System

Load an unlabeled DeePMD NumPy dataset.

Parameters:
file_namestr or os.PathLike

DeePMD NumPy dataset directory.

type_maplist[str], optional

Element names or requested type ordering used while loading.

**kwargsdict

Additional format arguments accepted for API compatibility.

Returns:
System

converted system

Convert from System to this format#

dpdata.System.to(fmt: Literal['deepmd/comp'], file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)
dpdata.System.to(fmt: Literal['deepmd/npy'], file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)
dpdata.System.to_deepmd_comp(file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)
dpdata.System.to_deepmd_npy(file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)

Dump the system in deepmd compressed format (numpy binary) to folder.

The frames are firstly split to sets, then dumped to seperated subfolders named as folder/set.000, folder/set.001, ….

Each set contains set_size frames. The last set may have less frames than set_size.

Parameters:
file_namestr

The output folder

set_sizeint

The size of each set.

prec{numpy.float32, numpy.float64}

The floating point precision of the compressed data

**kwargsdict

other parameters

Convert from LabeledSystem to this format#

dpdata.LabeledSystem.to(fmt: Literal['deepmd/comp'], file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)
dpdata.LabeledSystem.to(fmt: Literal['deepmd/npy'], file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)
dpdata.LabeledSystem.to_deepmd_comp(file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)
dpdata.LabeledSystem.to_deepmd_npy(file_name, set_size=5000, prec=<class 'numpy.float64'>, **kwargs)

Dump the system in deepmd compressed format (numpy binary) to folder.

The frames are firstly split to sets, then dumped to seperated subfolders named as folder/set.000, folder/set.001, ….

Each set contains set_size frames. The last set may have less frames than set_size.

Parameters:
file_namestr

The output folder

set_sizeint

The size of each set.

prec{numpy.float32, numpy.float64}

The floating point precision of the compressed data

**kwargsdict

other parameters

Convert from this format to LabeledSystem#

dpdata.LabeledSystem(file_name, type_map=None, fmt: Literal['deepmd/comp'] = None, **kwargs) dpdata.system.LabeledSystem
dpdata.LabeledSystem(file_name, type_map=None, fmt: Literal['deepmd/npy'] = None, **kwargs) dpdata.system.LabeledSystem
dpdata.LabeledSystem.from_deepmd_comp(file_name, type_map=None, **kwargs) dpdata.system.LabeledSystem
dpdata.LabeledSystem.from_deepmd_npy(file_name, type_map=None, **kwargs) dpdata.system.LabeledSystem

Load a labeled DeePMD NumPy dataset.

Parameters:
file_namestr or os.PathLike

DeePMD NumPy dataset directory.

type_maplist[str], optional

Element names or requested type ordering used while loading.

**kwargsdict

Additional format arguments accepted for API compatibility.

Returns:
LabeledSystem

converted system

Convert from this format to MultiSystems#

dpdata.MultiSystems.from_deepmd_comp(directory, **kwargs) dpdata.system.MultiSystems
dpdata.MultiSystems.from_deepmd_npy(directory, **kwargs) dpdata.system.MultiSystems

Convert this format to MultiSystems.

Parameters:
directorystr

directory of systems

Returns:
MultiSystems

converted system

Convert from MultiSystems to this format#

dpdata.MultiSystems.to(fmt: Literal['deepmd/comp'], directory, **kwargs) dpdata.system.MultiSystems
dpdata.MultiSystems.to(fmt: Literal['deepmd/npy'], directory, **kwargs) dpdata.system.MultiSystems
dpdata.MultiSystems.to_deepmd_comp(directory, **kwargs) dpdata.system.MultiSystems
dpdata.MultiSystems.to_deepmd_npy(directory, **kwargs) dpdata.system.MultiSystems

Convert MultiSystems to this format.

Parameters:
directorystr

directory to save systems

Returns:
MultiSystems

this system