[Python]TenseorFlow入門から実装まで その4:TensorFlowを使ってみる。

[Python]TenseorFlow入門から実装まで その4:TensorFlowを使ってみる。

TensorFlowや機械学習についてこれまでみてきました。
今回からはTensorFlowを実際に使っていきましょう。

前回は、Colabの使い方を簡単に説明しました。
今回はColabを使ってTensorFlowを使っていきましょう。

↓前回記事

[Python]TenseorFlow入門から実装まで Google Colabを簡単に解説

全体のコード

TensorFlowのインポートする

Colabにアクセスし、ファイル>Python3の新しいノートブックをクリックします。
新しいノートを開いたら、さっそく、TensorFlowをインポートしていきましょう。

これで、インポートが完了しました。

今回すること

今回は手描きで書かれた数字の画像を分類するニューラルネットワークを構築します。
ちなみに、この問題はGoogleでのチュートリアルでも用いられるほど、メジャーな問題です。

今回はMNISTのデータセットを利用し、Kerasにより画像を分類するニューラルネットワークを構築していきましょう。
MNISTはMixed National Institute of Slandered and Technology database  (長いですね。)
ここには、手書きの数字が0-9まで書かれたデータとテスト用のデータが入っています。
TensorFlowなどをはじめとしたニューラルネットワークによる深層学習の入門データとしてとてもよく用いられています。

画像分類には、Kerasというライブラリーを用います。
このKerasはニューラルネットワークライブラリーで、Kerasを利用することで、簡単にニューラルネットワークを構築することができます。

MNISTのデータをインポートする

MINSTはTensorFLowにすでに、テストデータとして含まれています。
テストデータを呼びだすコマンドは、

です。
これで、MNISTのデータを呼び出しました。

データを前処理する

ニューラルネットワークにデータを入れるには値を0から1の間にする必要があります。
しかし、実際には各ピクセルは0から255までの値を持っているので、255で割る必要があります。

値を255.0で割ってるのは、整数から浮動小数点数に変換するために行なっています。

モデルの構築

次にニューラルネットワークのモデルを構築します。
今回はモデルについて詳しい説明はしませんが、
ニューラルネットワークでは層を積み上げてモデルを構築します。

構築したモデルは、コンパイルする必要があるので、コンパイルを行います。

これで、モデルが完成しました。
ここに、MNSITのデータを入れて、モデルを学習させます。

学習させる。

学習はこのコマンドで行います。
Epochsは同じデータで何回学習されるかという、パラメータです。
あまりに沢山の学習を行いすぎると、過学習と言われる現象が生じます。

モデルの評価

でモデルの評価を行います。

今回の結果は

[0.07519032873923424, 0.9762]

でした。0.9762が精度のパラメータで、きちんと分類できた割合です。

実行結果

まとめ

今回は簡単にTensorFlowを使ってみました。

次回からは少しずつ詳しく説明していこうと思います。

Pythonカテゴリの最新記事