PyTorchでは、データセットからミニバッチを取り出すのにDataLoader(torch.utils.data.DataLoader)がよく用いられるが、大きなサイズのデータを用いて実験しているときに、PyTorchのDataLoaderを用いると、とても時間がかかることがわかった。比較のためにデータセットからミニバッチを取り出すイタレータを自作し試してみたが、それと比べてもPytorchのDataLoaderはかなり遅いことがわかった。特にこれは、大きなサイズのデータを用いている時にはボトルネックになりうると思われる。 [追記:2020/03/23] 遅い原因はDataLoaderにデフォルトで使われているBatchSamplerであるというコメントをいただきました。詳しくはコメントをご覧ください。 設定 以下では、データ数が100万のlabelとtargetからバッチサイズ1万のミ