41 : num_samples_(num_samples) {}
44 CHECK_LE(num_samples_, total_num_samples);
45 sample_idxs_.resize(total_num_samples);
46 std::iota(sample_idxs_.begin(), sample_idxs_.end(), 0);
50 return std::numeric_limits<size_t>::max();
54 Shuffle(
static_cast<uint32_t
>(num_samples_), &sample_idxs_);
56 std::vector<size_t> sampled_idxs(num_samples_);
57 for (
size_t i = 0; i < num_samples_; ++i) {
58 sampled_idxs[i] = sample_idxs_[i];
void Initialize(const size_t total_num_samples) override
std::vector< size_t > Sample() override
RandomSampler(const size_t num_samples)
size_t MaxNumSamples() override
void Shuffle(const uint32_t num_to_shuffle, std::vector< T > *elems)