From 81aecb05949abdc6454656f2e824bf73bc0ed84c Mon Sep 17 00:00:00 2001 From: Franck Dary <franck.dary@lis-lab.fr> Date: Tue, 30 Jun 2020 16:14:24 +0200 Subject: [PATCH] Shuffling batches Tensor in ConfigDataset --- torch_modules/src/ConfigDataset.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/torch_modules/src/ConfigDataset.cpp b/torch_modules/src/ConfigDataset.cpp index 2b42eef..30954a3 100644 --- a/torch_modules/src/ConfigDataset.cpp +++ b/torch_modules/src/ConfigDataset.cpp @@ -94,6 +94,7 @@ void ConfigDataset::Holder::reset() nextIndexToGive = 0; nbGiven = 0; torch::load(loadedTensor, files[loadedTensorIndex], NeuralNetworkImpl::device); + loadedTensor = torch::index_select(loadedTensor, 0, torch::randperm(loadedTensor.size(0), at::kLong)); } c10::optional<std::tuple<torch::Tensor,torch::Tensor,std::string>> ConfigDataset::Holder::get_batch(std::size_t batchSize) @@ -107,6 +108,7 @@ c10::optional<std::tuple<torch::Tensor,torch::Tensor,std::string>> ConfigDataset return c10::optional<std::tuple<torch::Tensor,torch::Tensor,std::string>>(); nextIndexToGive = 0; torch::load(loadedTensor, files[loadedTensorIndex], NeuralNetworkImpl::device); + loadedTensor = torch::index_select(loadedTensor, 0, torch::randperm(loadedTensor.size(0), at::kLong)); } int nbElementsToGive = std::min<int>(batchSize, loadedTensor.size(0)-nextIndexToGive); -- GitLab