タイトル通りですが,PyTorchのライブラリを用いてデータを読み込む速度が尋常じゃなく遅いです.
Python
1# データローダを定義 2transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]) 3trainset = torchvision.datasets.MNIST(root='./', train=True, download=True, transform=transform) 4trainloader = torch.utils.data.DataLoader(trainset, batch_size=256, shuffle=True)
Python
1# Trainsetの読み込み時間の計測 2t = time.time() 3for x in trainset: 4 pass 5print(time.time() - t) # 7.56477427482605
Python
1# Dataloaderの読み込み時間の計測 2t = time.time() 3for x, y in trainloader: 4 pass 5 6print(time.time() - t) # 7.814661026000977 7
1x28x28の画像を,バッチサイズ256で60,000枚を読み込むのに8秒弱はかかり過ぎだと思うのです….
ちなみに,環境はGoogle Colabなので,マシンの性能がネックになっていることはないと思います.
pin_memory=Trueを試したり,num_workersを適当に8として実行してみたりしましたが,殆ど変化はありませんでした.
助言をいただけると幸いです.
回答1件
あなたの回答
tips
プレビュー