Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Daten und Forschung · SKILL.md

data-config

data-config

Inspect DeePMD-kit data systems and draft or repair training input configuration before training or testing.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: data-config description: "Inspect DeePMD-kit data systems and draft or repair training input configuration before training or testing." disable-model-invocation: true metadata: disco-role: operating license: LGPL 3.0

DeePMD-kit Data and Training Configuration

Use this sub-skill when the task is to prepare, inspect, validate, or repair DeePMD-kit system data directories and training input JSON/YAML before launching training.

Route Here When

  • The user has a DeePMD system directory and asks whether it is valid.
  • The task mentions type.raw, type_map.raw, nopbc, set.*, coord.npy, box.npy, labels, or mixed-type data.
  • The task is to draft or repair training_data, validation_data, type_map, model, loss, learning_rate, or training sections.
  • The user needs data/layout guidance for energy-force-virial, Hessian, tensor, DOS, property, spin, fparam, or aparam supervision.
  • The task asks how to use dp doc-train-input, DP-GUI-style JSON schema output, HDF5 paths, LMDB systems, or dpdata conversion before training.

Route Elsewhere

  • For choosing descriptors, fitting nets, loss schedules, launching dp train, freezing checkpoints, or reading training logs, use ../training-models/SKILL.md.
  • For testing frozen models, DeepPot inference, dp test, model deviation, descriptors, compression, conversion, or bias changes, use ../inference-model-ops/SKILL.md.
  • For installing DeePMD-kit, selecting TensorFlow/PyTorch/JAX/Paddle backends, or resolving package import problems, use ../installation-backends/SKILL.md.

Core Concepts

  • A DeePMD system is one data folder or one supported data store entry; a frame is one configuration within a system.
  • Standard NumPy systems group frames with the same atom count and atom-type ordering under one folder.
  • type.raw is required and defines integer atom type indexes for the system; type_map.raw is optional for standard data but strongly recommended when model.type_map is set.
  • nopbc marks a non-periodic system. Periodic systems need box.npy in each set.*; non-periodic systems should omit or ignore boxes consistently.
  • Input frame properties include coord, box, fparam, aparam, and numb_copy/prob-style frame weighting.
  • Label files are loaded only when the chosen model/loss/test path requests them; missing labels are harmless only when their loss prefactors or model features do not require them.
  • Mixed-type systems use placeholder type.raw, required type_map.raw, and per-frame real_atom_types.npy; type -1 is a virtual atom used for padding.

First Inspection Pass

  1. Identify the system path type: NumPy directory, HDF5 path using file.hdf5#/group, LMDB file, or raw text waiting for conversion.

  2. For NumPy directories, run the bundled inspector:

    python sub-skills/data-config/scripts/inspect_deepmd_system.py /path/to/system --pretty
    
  3. Read references/data-formats.md to interpret the summary and warnings.

  4. Confirm that model.type_map matches the intended element order and is compatible with every system's type.raw or type_map.raw.

  5. Confirm labels match the requested training target: do not add loss prefactors for missing labels.

  6. For JSON/YAML input files, generate authoritative schema/reference output from the installed CLI when available:

    dp doc-train-input --out-type json_schema > deepmd-train.schema.json
    dp doc-train-input --out-type rst > deepmd-train-input.rst
    

Data Layout Workflow

  • Use references/data-formats.md for the file tree, shape expectations, label ownership, HDF5/LMDB/raw conversion notes, and mixed-type rules.
  • Use scripts/inspect_deepmd_system.py for safe local checks that do not import deepmd or mutate data.
  • Treat the inspector as a preflight, not as a full DeePMD loader replacement: it flags likely shape and consistency errors, but the final backend loader may enforce additional descriptor/loss-specific constraints.
  • For raw text data, convert to NumPy format before training. Raw coord.raw, box.raw, energy.raw, force.raw, and similar files are evidence/inputs for conversion, not a directly trainable format.
  • For dpdata workflows, use dpdata to convert external molecular formats into DeePMD NumPy/HDF5 systems, then inspect the converted result here.

Training Input Workflow

  • Use references/training-config-reference.md for the top-level structure, single-task and multi-task data sections, batch-size styles, and label-to-loss mapping.
  • Start from a minimal config with top-level model, learning_rate, loss, and training for single-task workflows.
  • Put systems under training.training_data.systems; use training.validation_data.systems only when validation data exists.
  • For multi-task workflows, put per-task training_data, validation_data, and optional stat_file under training.data_dict.<task> and pair them with matching model.model_dict and loss_dict keys.
  • Prefer explicit batch_size during debugging. Use auto, auto:N, max:N, or filter:N after confirming atom counts and memory expectations.
  • Avoid expensive neighbor-stat surprises: descriptor selections such as sel: "auto" trigger neighbor statistics unless the training route explicitly skips or constrains it.

Label Ownership Quick Map

  • Energy models: energy.npy, force.npy, optional virial.npy, hessian.npy, atom_ener.npy, atom_pref.npy, fparam.npy, aparam.npy.
  • Hessian workflows: add hessian.npy and nonzero start_pref_h/limit_pref_h only for branches that own Hessian labels.
  • Tensor workflows: use dipole.npy/atomic_dipole.npy or polarizability.npy/atomic_polarizability.npy according to global vs atomic tensor loss.
  • DOS workflows: use dos.npy and optionally atom_dos.npy; the output dimension must match the fitting-net DOS grid.
  • Property workflows: use the file named by the property fitting configuration, for example band_prop.npy.
  • Spin workflows: include spin.npy when the model has spin inputs and force_mag.npy when magnetic force metrics/loss are required.
  • Mixed-type workflows: include real_atom_types.npy in every set.*; virtual atoms use -1 and their atomic labels should be zero padded.

Repair Heuristics

  • If atom labels load but forces are permuted or the model reports unexpected element errors, inspect type_map.raw versus model.type_map before changing model architecture.
  • If periodic training fails on boxes, either add valid box.npy for every frame or add nopbc and remove PBC assumptions from downstream tasks.
  • If validation finds missing virials, set virial loss prefactors to zero or provide virial.npy; do not leave nonzero virial weights with absent labels.
  • If a folder contains multiple formulas, split by formula for standard data or convert to mixed-type with consistent Natoms/virtual atom padding.
  • If JSON/YAML fails validation, regenerate schema with dp doc-train-input from the installed package and compare field names, aliases, and backend-specific options.
  • If data loading is slow or neighbor statistics are expensive, reduce system discovery breadth, use explicit systems lists, set explicit neighbor selections, or debug with smaller converted systems.

References

  • references/data-formats.md: self-contained data-system format, shape, label, mixed-type, HDF5, LMDB, and conversion guidance.
  • references/training-config-reference.md: training input structure, data sections, batch options, schema generation, and label/loss alignment.
  • references/troubleshooting.md: symptom-driven fixes for type maps, boxes, mixed-type, labels, invalid configs, sparse formulas, and neighbor statistics.
  • scripts/inspect_deepmd_system.py: standalone NumPy-directory preflight inspector that prints JSON summary and warnings.
Gespeicherte Skills