PyTorch の動作確認をしてみた(4)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.6.5 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 3.1 MLPの構築と学習(P.046 – P.049) である。
GPU転送の方法について書かれていたので, 少し動作確認を行った.

※プログラムの詳細は、書籍を参考(P.046 – P.049)にして下さい。


■①MLPの構築例(CPU版/合計2層).

■実行結果(CPU版/合計2層).


■②MLPの構築例(GPU版/合計2層).

■実行結果(GPU版/合計2層).


■③MLPの構築例(CPU版/合計20層).

■実行結果(CPU版/合計20層).


■④MLPの構築例(GPU版/合計20層).

■実行結果(GPU版/合計20層).


■注意点として, 以下のことが分かった.
① 層の数を増やしても, 必ずしも, 正解率が上がらない点が分かった.
実行結果(CPU版/合計2層): 0.998330550918197
実行結果(CPU版/合計20層): 0.7907623817473567
を比較すると, 実行結果(CPU版/合計2層) の 前者の方が, 正解率が高いことが分かる.

実行結果(GPU版/合計2層): 0.9977740678909294
実行結果(GPU版/合計20層): 0.887590428491931
を比較すると, 実行結果(GPU版/合計2層) の 前者の方が, 正解率が高いことが分かる.

② ここでのMLPにおいては, GPU転送しても, 高速化するわけではないことが分かった.
実行結果(CPU版/合計2層): Elapsed Time: 1.666921854019165[sec]
実行結果(GPU版/合計2層): Elapsed Time: 3.92018461227417[sec]
比較すると, 実行結果(CPU版/合計2層) の 前者の方が, 処理が早く完了していたことが分かる.

実行結果(CPU版/合計20層): Elapsed Time: 7.015232563018799[sec]
実行結果(GPU版/合計20層): Elapsed Time: 14.03317642211914[sec]
比較すると, 実行結果(CPU版/合計20層) の 前者の方が, 処理が早く完了していたことが分かる.


■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

■参照サイト
PyTorch (6) Convolutional Neural Network.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください