Iterate over two dataloaders

Hi all,

How would one iterate over two different dataloaders?

auto data_set_0 = CustomDataset(...).map(torch::data::transforms::Stack<>());
auto data_set_1 = CustomDataset(...).map(torch::data::transforms::Stack<>());

auto data_loader_0 = torch::data::make_data_loader<torch::data::samplers::SequentialSampler>(
            std::move(data_set_0),
            torch::data::DataLoaderOptions().batch_size(...).workers(...));

auto data_loader_1 = torch::data::make_data_loader<torch::data::samplers::SequentialSampler>(
            std::move(data_set_1),
            torch::data::DataLoaderOptions().batch_size(...).workers(...));

// something like
for (auto& batch_0, auto& batch_1 : zip(*data_loader_0, *data_loader_1)) {

}

Thanks!

Maybe you could use std::transform as described here but it seems you might need to make sure both iterators have the same length.

Thanks for the answer, I managed to get a working example using simple iterators with data_loader_0->begin()!