Pytorch GPU版の処理速度を早くするために、MNISTのデータを
初めにGPUへ転送しておく事にした。
その結果、処理速度が向上したので以下にメモしておく。
1.基本となる処理
Pytorch CPU版とGPU版の処理時間比較で使ったGPU版プログラムである。
2.処理時間
訓練に287秒(基本版より94秒早い)、テストに3.3秒(基本版より3秒早い)であり、認識精度は同じ。
それでもCPU版に比べると、訓練は72秒遅くテストは同じ時間である。
3.プログラムの変更内容
下図枠内のように、初めに画像データをテンソルとしてGPU上に作成しておく。
ラベルはCPU上で良いので、変数を別にした。
<個人的な感想>
GPU転送を最小にしてもCPU版よりも処理時間が遅くなる理由が分からない。
CPU版よりも早くなると期待したが・・・。
画素サイズが28 x 28の小さなものでは、行列積計算時間がCPUよりGPUの方が
大きいのか。