Datasets
The dataset_type field selects how raw structures and spectra are prepared and represented for a model.
Dataset implementations write processed samples to root and provide the batches consumed by compatible models.
Generally, different models may require different dataset types.
See Models for the model implementations and the compatibility matrix below for the registered dataset-model combinations.
The adapter between a compatible dataset and model is described in Batch processors.
Available implementations
descriptoranddescriptor_inverse(DescriptorDataset) convert structures to fixed-size descriptor features.descriptor_multiheadanddescriptor_multihead_inverse(DescriptorMultiheadDataset) prepare several target heads for multi-head models.envembed(EnvEmbedDataset) prepares the absorber-environment representation used by theenvembedmodel.geometrygraph(GeometryGraphDataset) builds classic geometric graphs for graph models.gemnet(GemNetDataset) prepares graph and higher-order interaction data for thegemnetmodel.gemnet_oc(GemNetDataset) prepares graph and higher-order interaction data for thegemnet_ocmodel.e3ee(E3EEDataset) prepares absorber-centred graphs for thee3eemodel.e3ee_full(E3EEFullDataset) prepares full-structure graphs fore3ee_fullpredictions.
Multiprocessing
All dataset types have a _mp variant that uses multiprocessing during dataset preparation.
The _mp variants add the num_workers field to control the number of worker processes.
Common configuration
rootis required and stores the processed samples.preloadloads processed samples into memory instead of reading them on demand.skip_preparereuses existing processed samples.split_ratioscreates the base train/validation split and must sum to1.0.split_indexfileloads a split index file. It takes precedence oversplit_ratios.
For single and deep_ensemble, one configured plan can be shared across all models.
bootstrap and kfold require one explicit plan per model when using split_indexfile.
Descriptor datasets require a non-empty
descriptorslist; see Descriptors for the available descriptor types.Graph datasets require
graph_builder; see Graphs for the available builders.
Compatibility matrix
The runtime selects a batch processor using both dataset_type and model_type.
The following combinations are registered:
Dataset type |
Compatible model type |
Direction |
|---|---|---|
|
|
forward |
|
|
inverse |
|
|
forward |
|
|
inverse |
|
|
forward |
|
|
forward |
|
|
forward |
|
|
forward |
|
|
forward |
|
|
forward |
Example
dataset:
dataset_type: geometrygraph
root: ./data/processed/toy_data_schnet/
preload: true
skip_prepare: false
split_ratios: [0.8, 0.2]
graph_builder:
graph_builder_type: cov_radius
cutoff: 5.0
cov_radii_scale: 2.5
max_num_neighbors: 50
API reference
See also xanesnet.datasets and the schemas under xanesnet/schemas/datasets/ for complete constructor fields and defaults.