In this class, the processes of loading clusters (see RClusterLoader) and creating batches from those clusters (see RBatchLoader) are combined, allowing batches from the training and validation sets to be loaded directly from a dataset in an RDataFrame.
Definition at line 52 of file RDataLoaderEngine.hxx.
Classes | |
| struct | REpochGuard |
| Opens a training or validation epoch and closes it again when done. More... | |
Public Member Functions | |
| RDataLoaderEngine (const std::vector< ROOT::RDF::RNode > &rdfs, const std::size_t batchSize, const std::size_t batchesInMemory, const std::vector< std::string > &cols, const std::vector< std::size_t > &vecSizes={}, const float vecPadding=0.0, const float testSize=0.0, bool shuffle=true, bool dropRemainder=true, const std::size_t setSeed=0, bool loadEager=false, std::string sampleType="", float sampleRatio=1.0, bool replacement=false) | |
| ~RDataLoaderEngine () | |
| void | Activate () |
| Activate the loading process by spawning the loading thread. | |
| void | ActivateTrainingEpoch () |
| Activate the training epoch by starting the batchloader. | |
| void | ActivateValidationEpoch () |
| void | CreateTrainBatches () |
| Create training batches by first loading a chunk (see RClusterLoader) and split it into batches (see RBatchLoader) | |
| void | CreateValidationBatches () |
| Creates validation batches by first loading a chunk (see RClusterLoader), and then split it into batches (see RBatchLoader) | |
| void | DeActivate () |
| void | DeActivateTrainingEpoch () |
| void | DeActivateValidationEpoch () |
| RFlat2DMatrix | GetTrainBatch () |
| Loads a training batch from the queue. | |
| RFlat2DMatrix | GetValidationBatch () |
| Loads a validation batch from the queue. | |
| bool | IsActive () |
| bool | IsTrainingActive () |
| bool | IsValidationActive () |
| void | LoadData () |
| Main loop for loading clusters and creating batches. | |
| std::size_t | NumberOfTrainingBatches () |
| std::size_t | NumberOfValidationBatches () |
| void | Save (std::string_view dataset_name, std::string_view filename, bool isTraining, std::string_view outputFormat) |
Materialize one train/test split to disk by draining a full epoch through the normal batch pipeline and Fill() each batch into filename instead of yielding it. | |
| std::size_t | TrainRemainderRows () |
| std::size_t | ValidationRemainderRows () |
Private Member Functions | |
| std::vector< RColumnLayout > | MakeColumnLayout () const |
| Describe how the loader's columns map onto a batch-tensor row. | |
#include <ROOT/ML/RDataLoaderEngine.hxx>
|
inline |
Definition at line 163 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 237 of file RDataLoaderEngine.hxx.
|
inline |
Activate the loading process by spawning the loading thread.
Definition at line 260 of file RDataLoaderEngine.hxx.
|
inline |
Activate the training epoch by starting the batchloader.
Definition at line 304 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 332 of file RDataLoaderEngine.hxx.
|
inline |
Create training batches by first loading a chunk (see RClusterLoader) and split it into batches (see RBatchLoader)
Definition at line 533 of file RDataLoaderEngine.hxx.
|
inline |
Creates validation batches by first loading a chunk (see RClusterLoader), and then split it into batches (see RBatchLoader)
Definition at line 553 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 239 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 320 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 347 of file RDataLoaderEngine.hxx.
|
inline |
Loads a training batch from the queue.
Definition at line 572 of file RDataLoaderEngine.hxx.
|
inline |
Loads a validation batch from the queue.
Definition at line 579 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 591 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 597 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 603 of file RDataLoaderEngine.hxx.
|
inline |
Main loop for loading clusters and creating batches.
The producer (loading thread) will keep loading clusters and creating batches until the end of the epoch is reached, or the generator is deactivated.
Definition at line 362 of file RDataLoaderEngine.hxx.
|
inlineprivate |
Describe how the loader's columns map onto a batch-tensor row.
Definition at line 115 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 585 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 586 of file RDataLoaderEngine.hxx.
|
inline |
Materialize one train/test split to disk by draining a full epoch through the normal batch pipeline and Fill() each batch into filename instead of yielding it.
Filters, shuffling, the train/validation split and the batch_size/drop_remainder settings are all inherited from the loader's configuration.
| outputFormat | Either "ttree" or "rntuple". |
Definition at line 283 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 588 of file RDataLoaderEngine.hxx.
|
inline |
Definition at line 589 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 60 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 56 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 61 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 71 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 54 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 70 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 85 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 94 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 63 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 92 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 87 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 82 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 83 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 81 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 62 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 98 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 99 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 79 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 90 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 108 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 109 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 89 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 88 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 57 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 86 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 77 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 68 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 72 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 65 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 105 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 102 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 95 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 111 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 74 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 73 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 66 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 106 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 103 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 96 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 112 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 75 of file RDataLoaderEngine.hxx.
|
private |
Definition at line 55 of file RDataLoaderEngine.hxx.