今はまだハローワールド

Just another kindly reminder

Google Colaboratoryとローカル環境(Jupyter Lab)の学習時間の比較

Google Colaboratoryとローカル環境(Jupyter Lab)の機械学習の学習(最適化)時間を比較する。

それぞれCPUとGPUで計測する。

方法

今回の手法にはPyTorchチュートリアル(日本語翻訳版)0.8. クイックスタートをベースとして利用する。後述のア. 時間の計測とイ. CPU/GPU切り替えのコードを加えたら、通常通り上から実行すればよい。

ア. 時間の計測

学習(最適化)の時間の測定には、学習ループのセルの先頭に「%%time」を記述する。

%%time
epochs = 5
for t in range(epochs):
    print(f"Epoch {t+1}\n-------------------------------")
    train(train_dataloader, model, loss_fn, optimizer)
    test(test_dataloader, model)
print("Done!")

moch.hatenablog.com

イ. CPU/GPU切り替え

上記クイックスタートの「モデルの構築」のセルにおいて、CPUまたはGPUを直接指定する記述を追加する。(例)CPUを指定:

// device = "cuda" if torch.cuda.is_available() else "cpu"
device = "cpu"
// device = "cuda"

結果

Google Colaboratory(クラウド

CPU: 1min 18s

GPU: 59.7 s

Jupyter Lab(ローカル)

CPU: 45.6s

GPU: 26s

ColabではGPU指定はできないとはいえ、この結果を見るとローカルで環境を用意すると学習が半分で済む計算になる。

ローカル環境の詳細

今回の測定にはRyzen 3600 + GTX 1060 (6GB)にCUDA 10.2をインストールして次の環境を利用している。

moch.hatenablog.com