40 explicit Compose(std::vector<std::shared_ptr<Transform>> steps) : steps_(std::move(steps)) {}
43 for (
const auto& step : steps_) {
44 sample = step->apply(std::move(sample));
50 std::vector<std::shared_ptr<Transform>> steps_;
60 : base_(std::move(base)), transform_(std::move(transform)) {}
62 [[nodiscard]] int64_t
size()
const override {
return base_->size(); }
64 [[nodiscard]]
Sample get(int64_t index)
const override {
return transform_->apply(base_->get(index)); }
67 std::shared_ptr<Dataset> base_;
68 std::shared_ptr<Transform> transform_;
Eager, ordered list of Transforms applied in sequence – pulsatrix's analogue of torchvision....
Definition transform.hpp:38
Sample apply(Sample sample) const override
Applies this transform to a sample.
Definition transform.hpp:42
Compose(std::vector< std::shared_ptr< Transform > > steps)
Definition transform.hpp:40
Random-access dataset abstraction – pulsatrix's analogue of PyTorch's torch.utils....
Definition dataset.hpp:33
Random-access dataset abstraction – Sample, Dataset (size()/get()).
Definition acquisition_functions.hpp:16
One dataset sample: an ordered list of Tensor fields (e.g. {features, label} or {image,...
Definition dataset.hpp:19