cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
toolbox::io::dataloader_t< DatasetT, SamplerT > Class Template Reference

通用数据加载器/Generic data loader More...

#include <dataloader.hpp>

Classes

class  iterator
 数据加载器迭代器/Iterator for dataloader More...
 

Public Types

using data_type = typename DatasetT::data_type
 数据类型/Data type
 
using batch_type = std::vector< data_type >
 批次类型/Batch type
 
using index_type = typename SamplerT::index_type
 索引类型/Index type
 

Public Member Functions

 dataloader_t (DatasetT &dataset, SamplerT sampler, std::size_t batch_size, std::size_t prefetch_batches=0, toolbox::base::thread_pool_t *pool=nullptr, bool drop_last=false)
 构造函数/Constructor
 
iterator begin ()
 获取迭代起始点/Get begin iterator
 
iterator end ()
 获取迭代终止点/Get end iterator
 

Detailed Description

template<typename DatasetT, typename SamplerT>
class toolbox::io::dataloader_t< DatasetT, SamplerT >

通用数据加载器/Generic data loader

Template Parameters
DatasetT数据集类型/Dataset type
SamplerT采样器类型/Sampler type
// 示例:创建并使用dataloader_t/Example: create and use dataloader_t
kitti_pcd_dataset_t dataset("/path/to/velodyne");
random_sampler_t sampler(dataset.size());
4); for (auto batch : loader) {
// 处理每个batch/Process each batch
}
通用数据加载器/Generic data loader
Definition dataloader.hpp:55
KITTI点云数据集类/KITTI point cloud dataset class.
Definition kitti_pcd.hpp:33

Member Typedef Documentation

◆ batch_type

template<typename DatasetT , typename SamplerT >
using toolbox::io::dataloader_t< DatasetT, SamplerT >::batch_type = std::vector<data_type>

批次类型/Batch type

◆ data_type

template<typename DatasetT , typename SamplerT >
using toolbox::io::dataloader_t< DatasetT, SamplerT >::data_type = typename DatasetT::data_type

数据类型/Data type

◆ index_type

template<typename DatasetT , typename SamplerT >
using toolbox::io::dataloader_t< DatasetT, SamplerT >::index_type = typename SamplerT::index_type

索引类型/Index type

Constructor & Destructor Documentation

◆ dataloader_t()

template<typename DatasetT , typename SamplerT >
toolbox::io::dataloader_t< DatasetT, SamplerT >::dataloader_t ( DatasetT &  dataset,
SamplerT  sampler,
std::size_t  batch_size,
std::size_t  prefetch_batches = 0,
toolbox::base::thread_pool_t pool = nullptr,
bool  drop_last = false 
)
inline

构造函数/Constructor

Parameters
dataset数据集引用/Reference to dataset
sampler采样器/Sampler
batch_size批次大小/Batch size
prefetch_batches预取批次数/Number of prefetch batches
pool线程池指针/Pointer to thread pool
drop_last是否丢弃最后不足batch的样本/Whether to drop last incomplete batch
// 示例:带线程池和预取/Example: with thread pool and prefetch
thread_pool_t pool(4);
sampler, 8, 2, &pool, true);

Member Function Documentation

◆ begin()

template<typename DatasetT , typename SamplerT >
iterator toolbox::io::dataloader_t< DatasetT, SamplerT >::begin ( )
inline

获取迭代起始点/Get begin iterator

Returns
迭代器/Iterator
// 示例:遍历所有批次/Example: iterate all batches
for (auto it = loader.begin(); it != loader.end(); ++it) {
auto& batch = *it;
}

◆ end()

template<typename DatasetT , typename SamplerT >
iterator toolbox::io::dataloader_t< DatasetT, SamplerT >::end ( )
inline

获取迭代终止点/Get end iterator

Returns
迭代器/Iterator

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