15#ifndef TMVA_RBATCHLOADER
16#define TMVA_RBATCHLOADER
25#include <condition_variable>
163 std::vector<std::unique_ptr<RFlat2DMatrix>>
batches;
166 for (std::size_t i = 0; i <
Batches; i++) {
192 batches.emplace_back(std::move(copy));
217 batches.emplace_back(std::move(copy));
233 batches.emplace_back(std::move(copy));
241 for (std::size_t i = 0; i <
batches.size(); i++) {
258 std::vector<std::unique_ptr<RFlat2DMatrix>>
batches;
260 for (std::size_t i = 0; i <
Batches; i++) {
282 batches.emplace_back(std::move(copy));
299 batches.emplace_back(std::move(copy));
310 batches.emplace_back(std::move(copy));
316 for (std::size_t i = 0; i <
batches.size(); i++) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
These classes encapsulate the necessary data for the computations.
std::queue< std::unique_ptr< RFlat2DMatrix > > fTrainingBatchQueue
std::unique_ptr< RFlat2DMatrix > CreateBatch(RFlat2DMatrix &chunTensor, std::size_t idxs)
Return a batch of data as a unique pointer.
RBatchLoader(std::size_t batchSize, std::size_t numColumns)
RFlat2DMatrix GetTrainBatch()
Loading the training batch from the queue.
std::unique_ptr< RFlat2DMatrix > fPrimaryLeftoverValidationBatch
void CreateTrainingBatches(RFlat2DMatrix &chunkTensor, int lastbatch, std::size_t leftoverBatchSize, bool dropRemainder)
Creating the training batches from a chunk and add them to the queue.
void CreateValidationBatches(RFlat2DMatrix &chunkTensor, std::size_t lastbatch, std::size_t leftoverBatchSize, bool dropRemainder)
Creating the validation batches from a chunk and adding them to the queue.
std::unique_ptr< RFlat2DMatrix > fPrimaryLeftoverTrainingBatch
std::unique_ptr< RFlat2DMatrix > fCurrentBatch
std::unique_ptr< RFlat2DMatrix > fSecondaryLeftoverTrainingBatch
std::queue< std::unique_ptr< RFlat2DMatrix > > fValidationBatchQueue
std::condition_variable fBatchCondition
RFlat2DMatrix GetValidationBatch()
Loading the validation batch from the queue.
std::size_t fNumValidationBatchQueue
std::unique_ptr< RFlat2DMatrix > fSecondaryLeftoverValidationBatch
std::size_t fNumTrainingBatchQueue
std::size_t GetNumValidationBatchQueue()
void DeActivate()
DeActivate the batchloader.
std::size_t GetNumTrainingBatchQueue()
Wrapper around ROOT::RVec<float> representing a 2D matrix.