今では機械学習は個人でも環境を整えればできるようになりましたよね。こちらに関してはディープラーニング技術によるところが大きいですが、その際に大切なポイントとなるのがGPUです。
なお、GPUとは汎用的な処理を行うCPUに対して、画像処理に特化しているPCパーツのこと。機械学習ではこちらを利用することで、飛躍的に機械学習が進歩したことは広く知られています。
この記事では、GPUの簡単な解説から機械学習をするときにGPUを確認するべき理由やまた、自分のPCでGPUを確認する方法をPythonのライブラリであるTensorFlowとkerasを使ってお話します。最後にはもしGPUが認識していない場合にやるべきことや、機械学習をこれから実際にやろうとしている人に、おすすめの情報をお伝えしましょう。しっかりと記事の内容を理解した上で、みなさんの端末のGPUを確認してください。
そこで今回は機械学習を行うなら必須となる、GPUを確認する方法を説明しましょう。
そもそもGPUとは
それでは、そもそもGPUとはどのようなものであるのかを簡単に説明していきます。
GPUとは画像処理を行うためのPCパーツのこと
まず、GPUとは画像処理を行うためのPCパーツのこと。機械学習に利用される前には高画質のゲームをするためなどに利用されていました。ちなみにこちらは同じPCパーツであるCPUとは、いくつかの違いがあります。
これらの違いによって大量のデータの処理では、CPUよりもGPUの方が処理速度が速く、近年では機械学習に利用されるようになりました。
CPUとGPUが一体化しているGPUもある
また、種類としてはCPUとGPUが一体化しているGPUもあります。こちらは最近登場したものでそれまでのグラフィックボードという単体のパーツではなく、CPUに組み込んであるタイプのGPUのこと。消費電力が少ないなどのメリットがあり、プログラミング作業にも向いています。
なお、本格的な機械学習を目指すなら単体のGPUが向いていますが、学習のためなら一体型のGPUの選択もおすすめ。
以上が簡単なGPUの説明になります。これを踏まえて以下では機械学習をするときにGPUを確認するべき理由を説明していきましょう。
機械学習をするときにGPUを確認するべき理由
それでは、なぜ機械学習をするときにGPUを確認するべきなのかを以下で説明していきましょう。
機械学習のディープラーニングはGPUで処理を行うのが基本だから
まず、現在では機械学習のディープラーニングはGPUで処理を行うのが基本です。もちろん、CPUを利用して機械学習を行う方法もあるにはありますが、やはり扱うデータ量が多くなればなるほど、処理能力の差は非常に大きくなります。
ですから、機械学習はGPUでやっていくのがよいので、利用の際にはしっかりと自身のGPUの確認しましょう。
性能の高いGPUを利用すれば機械学習を効率的に進められるから
次に性能の高いGPUを利用すれば機械学習を効率的に進められます。
やはり性能のよいGPUを利用すれば、大量のデータでもすぐに処理が行えるので、効率的に機械学習が進むのは間違いありません。ですので、機械学習を行う前にGPUの性能確認を行っておいたほうがよいでしょう。
補足として機械学習に利用されるGPUに関してはNVIDIA製のシェアが大きいです。これは汎用計算向けの開発環境が整っていることによりますが、ライバルのAMD製のGPUでもツールなどを駆使すれば同様の条件で機械学習ができます。
ですので、購入を検討する場合にはNVIDIA製以外のGPUも検討してみましょう。以上が機械学習をするときにGPUを確認するべき理由についてです。
これらを踏まえて以下から自分のPCでGPUを確認する方法をTensorFlow、Kerasの場合で説明していきましょう。
自分のPCでGPUを確認する方法〜TensorFlow編〜
それでは、自分のPCでGPUを確認する方法をTensorFlowの場合で説明します。
TensorFlowとはGoogleが公開している、Pythonで機械学習を行うためのライブラリです。そのため、みなさんのPCで手軽に機械学習を行う際に、TensorFlowはなくてはならないものなのです。
今回はこちらのライブラリについては詳しく説明しませんが、以下の方法で簡単にPCでGPUを確認ができます。
Pythonを立ち上げる
まず、Pythonを立ち上げてください。こちらに関してはお使いのPCのコマンドプロンプトや統合開発環境などから呼び出せばよいです。
適切なコマンド入力を行う
次に、適切なコマンド入力を行えばGPUを確認できます。方法は以下の2つ。
使っているCPUとGPUを表示させる方法で確認する
device_lib.list_local_devices()
こちらは実行すると使っているCPUとGPUが出力されるコマンドになっています。この際にCPUだけしか表示されていない場合には、GPUが確認できていません。一方でCPUとGPUの両者が表示されていれば、GPUを確認できていることになります。
GPUが認識しているかどうかで確認する方法
tf.test.gpu_device_name()
こちらのコマンド入力もGPUを確認できますが、有効であるのかについては以下の出力結果で判断できます。
‘/device:GPU:0’
’’
以上が自分のPCのTensorFlowでGPUを確認する方法になります。基本的にはPythonが使えれば問題なくできるはずです。しかしながらGPUが搭載されているはずなのに、上の方法をやってみてもGPUを確認できないこともあります。
その場合には最後の章を読んで何が原因なのかを確認してみましょう。
自分のPCでGPUを確認する方法〜Keras編〜
それでは、自分のPCでGPUを確認する方法をKerasの場合で説明します。
Kerasとは上のTensorFlowと同様に、機械学習の際に利用できるPythonのライブラリです。機械学習でニューラルネットワークを形成する際にこちらを利用すれば、簡単なコードで実現できるのが特徴でした。しかし、現在KerasはTensorFlowに同梱されているtf.kerasに一本化されています。
ですので、基本的には上の方法と同様にやれば大丈夫です。
Pythonを立ち上げる
まず、Pythonを立ち上げましょう。具体的にはコマンドプロンプトなどのコマンドラインが利用できるようなればOKです。
適切なコマンド入力を行う
次に、適切なコマンド入力を行いましょう。こちらは以下の2つのコマンド入力でGPUの確認ができます。
使っているCPUとGPUを表示させる方法で確認する
device_lib.list_local_devices()
こちらはコマンドを入力して、出力結果にGPUが含まれていれば、GPUが認識されていることになります。逆にCPUしか見当たらなければGPUが確認できないということです。
GPUが認識しているかどうかで確認する方法
tf.test.gpu_device_name()
こちらは出力結果によって以下のようにGPUが確認出来ているかがわかります。
‘/device:GPU:0’
’’
以上が自分のPCのKerasでGPUを確認する方法です。
それでは、次からGPUが認識していなかったらやるべきことを説明します。
もしGPUが認識していなかったら、やるべきこと
上の方法で自分のPCのGPUを確認しても認識していない場合には、以下の点を確認してみましょう。
物理的な問題やバージョンなどが正しいのかを確認する
GPUを確認した際に認識されない場合には上のような問題によることが多いです。より具体的には以下のような点が考えられます。
まず、GPUが搭載されていなければ、当たり前のことですがGPUを確認しても認識されません。もしくはGPUに問題がある場合も認識されないでしょう。
そしてGPUに対応したTensorFlowが導入されていないとGPUを確認しても認識されません。実はTensorFlowは通常のものとGPU対応の二つのバージョンがあります。
こちらは通常の手順で導入を行うと、GPUに対応していないものをインストールすることになるので、その場合にはアンインストールを行って、「tensorflow-gpu」をインストールしましょう。
最後に、TensorFlowに対応したバージョンのアプリケーションが、正しく導入されているのかを確認してください。より具体的にはNVIDIA製のGPUを利用している場合には、CUDAやcuDNNなどのバージョンについてです。
以上がもしGPUが認識していなかったらやるべきことについてです。
機械学習にはGPUが必要なので説明した方法でしっかりと確認しましょう。そうすれば効率的に機械学習を行えます。
さて今回は、GPUを使って機械学習をするためにTensorFlowとKerasでのGPUの確認方法を解説しました。
- GPUとは画像処理を行うためのPCパーツのことである
- 機械学習はGPUで処理を行うのが基本であるから確認が必要
- TensorFlowとKerasではPythonから適切なコマンドを入力すれば確認できる
- 紹介した方法でGPUが確認できなければバージョンなどを確認する
しかし始めてみようと考えている方の中には今から設定などをいじっても上手くGPUでの機械学習ができない人もいるでしょう。そんな人におすすめしたいのが「Google Colaboratory」を利用する方法。
実はGPUでの機械学習は自分のPCでなくてもできます。これは教育目的で利用できるサービスを使ってみる方法です。これなら自宅のPCの性能が低くても機械学習ができますよね。具体的にはPythonのライブラリ「Jupyterノートブック」をベースにした環境で仮想マシンを利用して、CPUもしくはGPUの機械学習をします。Googleアカウントさえあればすぐにでも機械学習ができるので、よろしければこちらを利用してみてください。そうすれば機械学習のハードルを下げて始めることができます。
ぜひ、みなさんのPCもしくは仮想マシンなどで、GPUでの機械学習をやってみましょう。きっと素晴らしい発見がそこにはあるに違いありません。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。