Search

PythonによるAI開発には必須、「Colab」でGPUやTPUを利用するには - ITpro

全2668文字

Pythonのプログラミング環境には複数の選択肢がある。この特集では、3つの代表的なPythonプログラミング環境を取り上げ、それぞれの特徴や構築方法などを解説する。

 最後に、Colabの特徴であるGPU/TPUの利用について説明します。Colabでは、AI関連の計算を高速に行うGPUやTPUが使えます。実際にGPU/TPUを使って、簡単なプログラムを実行してみましょう。まずはニューラルネットワークを使って画像を判別するプログラムを作り、動作確認を行います。その後、同じプログラムをGPUを使って実行してみます。

ニューラルネットワークの作成と学習

 本稿で画像の判別に使うのは、「MNIST」(エムニスト)というデータセットです。MNISTは、図23のような0~9の手書き数字画像のデータを集めたものです。全部で7万枚の画像が収録されており、各画像がどの数字を表すのかという正解情報(ラベル)も付属しています。

図23●MNISTに含まれる画像の例

図23●MNISTに含まれる画像の例

[画像のクリックで拡大表示]

 ここでは、入力された画像が0~9のうちどの数字なのかを、ニューラルネットワークを使って判別するプログラムを作成します。まずはMNISTを使って、ニューラルネットワークの学習を行います。次に、学習済みのニューラルネットワークを使って、入力された任意の手書き数字の画像を判別します。

 前述の方法でColabにログインし、新しいノートブックを作成してください。そして、セルにリスト8を入力し、「Shift」+「Enter」キーで実行してください。

リスト8●TensorFlowを使ってMNISTをダウンロード・加工するコード

リスト8●TensorFlowを使ってMNISTをダウンロード・加工するコード

[画像のクリックで拡大表示]

 リスト8では、GoogleのAIライブラリーであるTensorFlow(テンソルフロー)を使っています。また、MNISTをダウンロードした後に、ニューラルネットワークで扱えるようにデータ処理をしています。

 実行結果は図24のようになります。

図24●リスト8の実行結果

図24●リスト8の実行結果

[画像のクリックで拡大表示]

 次は、リスト9を入力し、実行してください。ニューラルネットワークを作成し、学習とテストを行います。

リスト9●ニューラルネットワークを作成して学習・テストするコード

リスト9●ニューラルネットワークを作成して学習・テストするコード

[画像のクリックで拡大表示]

 上記のプログラムは、実行に少し時間がかかります。図25のように、画面に進捗が表示されるので、実行が終わるまでお待ちください。「Epoch」(エポック)はデータの全体を学習する回数を表し、「accuracy」は正解率を表します。

図25●リスト9の実行結果

図25●リスト9の実行結果

[画像のクリックで拡大表示]

 各エポックの学習にかかった時間は、「7s」(7秒、sはsecondの略)のように表示されます。学習時間の合計は34秒でした。

Adblock test (Why?)



from "プログラム" - Google ニュース https://ift.tt/uhGv8ga
via IFTTT

Bagikan Berita Ini

Related Posts :

0 Response to "PythonによるAI開発には必須、「Colab」でGPUやTPUを利用するには - ITpro"

Post a Comment

Powered by Blogger.