Program Listing for File random.h¶
↰ Return to documentation for file (torch/csrc/api/include/torch/data/samplers/random.h
)
#pragma once
#include <torch/csrc/Export.h>
#include <torch/data/samplers/base.h>
#include <torch/types.h>
#include <cstddef>
#include <vector>
namespace torch {
namespace serialize {
class OutputArchive;
class InputArchive;
} // namespace serialize
} // namespace torch
namespace torch {
namespace data {
namespace samplers {
class TORCH_API RandomSampler : public Sampler<> {
public:
explicit RandomSampler(int64_t size, Dtype index_dtype = torch::kInt64);
~RandomSampler() override;
void reset(optional<size_t> new_size = nullopt) override;
optional<std::vector<size_t>> next(size_t batch_size) override;
void save(serialize::OutputArchive& archive) const override;
void load(serialize::InputArchive& archive) override;
size_t index() const noexcept;
private:
at::Tensor indices_;
int64_t index_ = 0;
};
} // namespace samplers
} // namespace data
} // namespace torch