Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::ML::RBatchLoader Class Reference

Building and loading the batches from loaded chunks in RChunkLoader.

In this class the chunks that are loaded into memory (see RChunkLoader) are split into batches used in the ML training which are loaded into a queue. This is done for both the training and validation chunks separately.

Definition at line 39 of file RBatchLoader.hxx.

Public Member Functions

 RBatchLoader (std::size_t batchSize, const std::vector< std::string > &cols, const std::vector< std::size_t > &vecSizes={}, std::size_t numEntries=0, bool dropRemainder=false)
 
void Activate ()
 
std::unique_ptr< RFlat2DMatrixCreateBatch (RFlat2DMatrix &chunTensor, std::size_t idxs)
 Return a batch of data as a unique pointer.
 
void CreateBatches (RFlat2DMatrix &chunkTensor, std::size_t lastbatch)
 Creating the batches from a chunk and add them to the queue.
 
void DeActivate ()
 DeActivate the batchloader.
 
RFlat2DMatrix GetBatch ()
 Loading the batch from the queue.
 
std::size_t GetNumBatches ()
 
std::size_t GetNumBatchQueue ()
 
std::size_t GetNumEntries ()
 
std::size_t GetNumRemainderRows ()
 

Private Attributes

std::condition_variable fBatchCondition
 
std::mutex fBatchLock
 
std::queue< std::unique_ptr< RFlat2DMatrix > > fBatchQueue
 
std::size_t fBatchSize
 
std::vector< std::string > fCols
 
std::unique_ptr< RFlat2DMatrixfCurrentBatch
 
bool fDropRemainder
 
bool fIsActive = false
 
std::size_t fLeftoverBatchSize
 
std::size_t fNumBatches
 
std::size_t fNumColumns
 
std::size_t fNumEntries
 
std::size_t fNumFullBatches
 
std::size_t fNumLeftoverBatches
 
std::unique_ptr< RFlat2DMatrixfPrimaryLeftoverBatch
 
std::unique_ptr< RFlat2DMatrixfSecondaryLeftoverBatch
 
std::size_t fSumVecSizes
 
std::vector< std::size_t > fVecSizes
 

#include <ROOT/ML/RBatchLoader.hxx>

Constructor & Destructor Documentation

◆ RBatchLoader()

ROOT::Experimental::Internal::ML::RBatchLoader::RBatchLoader ( std::size_t batchSize,
const std::vector< std::string > & cols,
const std::vector< std::size_t > & vecSizes = {},
std::size_t numEntries = 0,
bool dropRemainder = false )
inline

Definition at line 71 of file RBatchLoader.hxx.

Member Function Documentation

◆ Activate()

void ROOT::Experimental::Internal::ML::RBatchLoader::Activate ( )
inline

Definition at line 101 of file RBatchLoader.hxx.

◆ CreateBatch()

std::unique_ptr< RFlat2DMatrix > ROOT::Experimental::Internal::ML::RBatchLoader::CreateBatch ( RFlat2DMatrix & chunTensor,
std::size_t idxs )
inline

Return a batch of data as a unique pointer.

After the batch has been processed, it should be destroyed.

Parameters
[in]chunkTensorTensor with the data from the chunk
[in]idxsIndex of batch in the chunk
Returns
Batch

Definition at line 126 of file RBatchLoader.hxx.

◆ CreateBatches()

void ROOT::Experimental::Internal::ML::RBatchLoader::CreateBatches ( RFlat2DMatrix & chunkTensor,
std::size_t lastbatch )
inline

Creating the batches from a chunk and add them to the queue.

Parameters
[in]chunkTensorTensor with the data from the chunk
[in]lastbatchCheck if the batch in the chunk is the last one

Definition at line 154 of file RBatchLoader.hxx.

◆ DeActivate()

void ROOT::Experimental::Internal::ML::RBatchLoader::DeActivate ( )
inline

DeActivate the batchloader.

This means that no more batches are created. Batches can still be returned if they are already loaded

Definition at line 112 of file RBatchLoader.hxx.

◆ GetBatch()

RFlat2DMatrix ROOT::Experimental::Internal::ML::RBatchLoader::GetBatch ( )
inline

Loading the batch from the queue.

Returns
Batch

Definition at line 137 of file RBatchLoader.hxx.

◆ GetNumBatches()

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::GetNumBatches ( )
inline

Definition at line 244 of file RBatchLoader.hxx.

◆ GetNumBatchQueue()

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::GetNumBatchQueue ( )
inline

Definition at line 247 of file RBatchLoader.hxx.

◆ GetNumEntries()

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::GetNumEntries ( )
inline

Definition at line 245 of file RBatchLoader.hxx.

◆ GetNumRemainderRows()

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::GetNumRemainderRows ( )
inline

Definition at line 246 of file RBatchLoader.hxx.

Member Data Documentation

◆ fBatchCondition

std::condition_variable ROOT::Experimental::Internal::ML::RBatchLoader::fBatchCondition
private

Definition at line 58 of file RBatchLoader.hxx.

◆ fBatchLock

std::mutex ROOT::Experimental::Internal::ML::RBatchLoader::fBatchLock
private

Definition at line 57 of file RBatchLoader.hxx.

◆ fBatchQueue

std::queue<std::unique_ptr<RFlat2DMatrix> > ROOT::Experimental::Internal::ML::RBatchLoader::fBatchQueue
private

Definition at line 61 of file RBatchLoader.hxx.

◆ fBatchSize

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fBatchSize
private

Definition at line 41 of file RBatchLoader.hxx.

◆ fCols

std::vector<std::string> ROOT::Experimental::Internal::ML::RBatchLoader::fCols
private

Definition at line 43 of file RBatchLoader.hxx.

◆ fCurrentBatch

std::unique_ptr<RFlat2DMatrix> ROOT::Experimental::Internal::ML::RBatchLoader::fCurrentBatch
private

Definition at line 64 of file RBatchLoader.hxx.

◆ fDropRemainder

bool ROOT::Experimental::Internal::ML::RBatchLoader::fDropRemainder
private

Definition at line 48 of file RBatchLoader.hxx.

◆ fIsActive

bool ROOT::Experimental::Internal::ML::RBatchLoader::fIsActive = false
private

Definition at line 55 of file RBatchLoader.hxx.

◆ fLeftoverBatchSize

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fLeftoverBatchSize
private

Definition at line 53 of file RBatchLoader.hxx.

◆ fNumBatches

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fNumBatches
private

Definition at line 52 of file RBatchLoader.hxx.

◆ fNumColumns

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fNumColumns
private

Definition at line 46 of file RBatchLoader.hxx.

◆ fNumEntries

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fNumEntries
private

Definition at line 47 of file RBatchLoader.hxx.

◆ fNumFullBatches

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fNumFullBatches
private

Definition at line 50 of file RBatchLoader.hxx.

◆ fNumLeftoverBatches

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fNumLeftoverBatches
private

Definition at line 51 of file RBatchLoader.hxx.

◆ fPrimaryLeftoverBatch

std::unique_ptr<RFlat2DMatrix> ROOT::Experimental::Internal::ML::RBatchLoader::fPrimaryLeftoverBatch
private

Definition at line 67 of file RBatchLoader.hxx.

◆ fSecondaryLeftoverBatch

std::unique_ptr<RFlat2DMatrix> ROOT::Experimental::Internal::ML::RBatchLoader::fSecondaryLeftoverBatch
private

Definition at line 68 of file RBatchLoader.hxx.

◆ fSumVecSizes

std::size_t ROOT::Experimental::Internal::ML::RBatchLoader::fSumVecSizes
private

Definition at line 45 of file RBatchLoader.hxx.

◆ fVecSizes

std::vector<std::size_t> ROOT::Experimental::Internal::ML::RBatchLoader::fVecSizes
private

Definition at line 44 of file RBatchLoader.hxx.

Libraries for ROOT::Experimental::Internal::ML::RBatchLoader:

The documentation for this class was generated from the following file: