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< RFlat2DMatrix > | CreateBatch (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< RFlat2DMatrix > | fCurrentBatch |
| 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< RFlat2DMatrix > | fPrimaryLeftoverBatch |
| std::unique_ptr< RFlat2DMatrix > | fSecondaryLeftoverBatch |
| std::size_t | fSumVecSizes |
| std::vector< std::size_t > | fVecSizes |
#include <ROOT/ML/RBatchLoader.hxx>
|
inline |
Definition at line 71 of file RBatchLoader.hxx.
|
inline |
Definition at line 101 of file RBatchLoader.hxx.
|
inline |
Return a batch of data as a unique pointer.
After the batch has been processed, it should be destroyed.
| [in] | chunkTensor | Tensor with the data from the chunk |
| [in] | idxs | Index of batch in the chunk |
Definition at line 126 of file RBatchLoader.hxx.
|
inline |
Creating the batches from a chunk and add them to the queue.
| [in] | chunkTensor | Tensor with the data from the chunk |
| [in] | lastbatch | Check if the batch in the chunk is the last one |
Definition at line 154 of file RBatchLoader.hxx.
|
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.
|
inline |
|
inline |
Definition at line 244 of file RBatchLoader.hxx.
|
inline |
Definition at line 247 of file RBatchLoader.hxx.
|
inline |
Definition at line 245 of file RBatchLoader.hxx.
|
inline |
Definition at line 246 of file RBatchLoader.hxx.
|
private |
Definition at line 58 of file RBatchLoader.hxx.
|
private |
Definition at line 57 of file RBatchLoader.hxx.
|
private |
Definition at line 61 of file RBatchLoader.hxx.
|
private |
Definition at line 41 of file RBatchLoader.hxx.
|
private |
Definition at line 43 of file RBatchLoader.hxx.
|
private |
Definition at line 64 of file RBatchLoader.hxx.
|
private |
Definition at line 48 of file RBatchLoader.hxx.
Definition at line 55 of file RBatchLoader.hxx.
|
private |
Definition at line 53 of file RBatchLoader.hxx.
|
private |
Definition at line 52 of file RBatchLoader.hxx.
|
private |
Definition at line 46 of file RBatchLoader.hxx.
|
private |
Definition at line 47 of file RBatchLoader.hxx.
|
private |
Definition at line 50 of file RBatchLoader.hxx.
|
private |
Definition at line 51 of file RBatchLoader.hxx.
|
private |
Definition at line 67 of file RBatchLoader.hxx.
|
private |
Definition at line 68 of file RBatchLoader.hxx.
|
private |
Definition at line 45 of file RBatchLoader.hxx.
|
private |
Definition at line 44 of file RBatchLoader.hxx.