Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Split all given structures into a train and test set.
Either reads the split from a file or calculates a new one.
Arguments
data_batcher :
class(DataBatcher) [inout]– The DataBatcher object provides the random number generator and the
batching routines needed to split into train and test split.
structure_indices_all :
integer (dim: (:)) [in]– Contains all structure indices. In the case of Training the array is just [1, 2, 3, ..., n]
for n structures.
ids_train_test :
integer (dim: (:,:)) [out]– Contains the structure indices for all structures in the train and test set.
Size is max(size(ids_train), size(ids_test)) x 2.
ids_train_test(:, 1) contains the training indices,
ids_train_test(:, 2) contains the test indices.
num_samples_train_test :
integer (dim: (:)) [out]– Size is always 2. num_samples_train_test(1) = size(ids_train)
num_samples_train_test(2) = size(ids_test)
Array is used as upper bound to the first dimension of ids_train_test.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Collect the ID of all atoms in the structures that were assigned to
train and test set, respectively.
Arguments
results_ref :
type(DatasetStorage) [in]– A filled storage object containing the number of atoms for all
structures in the dataset. This must be populated with all structures
that are used for fitting across all MPI processes (this routine
only runs on the root process).
We expect this array to be sorted by structure ID, otherwise the
mapping will be off. Usually, this means that the `reference_properties`
array should be used that we read continuously from the input.data file.
num_samples_train_test :
integer (dim: (2)) [in]– The number of samples in the train and test set for the
structures (from `train_test_split`).
ids_train_test :
integer (dim: (maxval(num_samples_train_test),2)) [in]– The IDs of all structures in the train and test set
(from `train_test_split`).
ids_train_test_atom :
integer (dim: (:,:)) [out]– The IDs of all atoms belonging to the structures in the train and test
set.
num_samples_train_test_atom :
integer (dim: (:)) [out]– The number of atoms in the train and test set (will be allocated to 2).
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.