Tensorflowを使ってみよう
カテゴリ:Pythonの話
こんにちは!インターン生の西です!今回はPythonのライブラリであるTensorflowについて紹介していきたいと思います!
1.Tensorflowとは
TensorflowとはGoogle社が開発したライブラリで、ディープランニング向けのライブラリです。Tensorflowなどでの機械学習や、データ解析では、Jupyter Notebookというブラウザ上で開発できる環境を使うことをお勧めします。Jupyter Notebookでは、コードの実行結果を保存しておくことができるのでとても便利です。今回は、Jupyter Notebookをインストールしている前提で説明していきます。(Anaconda Navigatorでインストールできます。)
2.Tensorflowの導入
Tensorflowをインストールするのに今回はAnacondaを使いますので事前にAnacondaをインストールしておいてください。
( https://www.anaconda.com/products/individual )
・Tensorflow仮想環境作成
まずは、Anaconda NavigatorでTensorflow仮想環境を作成しましょう。
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/1dc5a4495da8eaa70793f3edbe6db8ca-1024x608.png)
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/982ac1777f0bf2944ef851444fecad54-1024x608.png)
Tensorflow仮想環境が作成できたら次は、仮想環境上でTensorflowをインストールしていきましょう。
・Tensorflowのインストール
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/f96df9a64c421fdcb36651531cdf01b4-1024x607.png)
仮想環境上でコマンドプロンプトを開き、Tensorflowをインストールします。
インストール方法は公式サイトを参考にしてください。
https://www.tensorflow.org/install
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/image-1024x610.png)
インストールが完了したら実際に動かしてみましょう!
3.Tensorflowチュートリアル
Tensorflowの公式サイト(https://www.tensorflow.org/tutorials/quickstart/beginner?hl=ja )にある初心者向けクイックスタートを使って動かしてみましょう。ここではKerasを使って、以下のことを行っていきます。(Kerasとは高速プロトタイピング、最先端の研究、本番環境での運用に使用されるTensorflowの高レベルAPIです。)
1.画像を分類するニュートラルネットワークの構築
2.このニュートラルネットワークの訓練
3.モデルの正解率の評価
まずは、TensorflowのパッケージをダウンロードしてプログラムにTensorflowをインポートします。
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/image-1.png)
そして、MNISTデータセットを準備し、サンプルを整数から浮動小数点数に変換します。
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/b2f416f56812cba87e2c31e2d3ed41c2.png)
層を積み重ねて「tf.keras.Sequential」モデルを構築します。訓練のためにオプティマイザと損失関数を選びます。
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/263598b69900181bd2b54604a7801387.png)
最後にモデルを訓練してから評価します。
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/a44963c33c016965fd3c7b6d2e2aceef.png)
このような実行結果が出たら完成です。
![](https://inglow.jp/wordpress/wp-content/uploads/2020/07/bc21ba0cdd97c91b258d72694e74cc45.png)
4.さいごに
Tensorflowには先ほど使ったKerasなどの高レベルAPIがあり、メリットとして以下のことがあげられます
- ユーザーエラーに対して、明確で実用的なフィードバックが提供される
- モジュールの接続による構成が可能
- 拡張が容易
このような機能を備えたTensorflowは、医療現場に役立つような研究にも使われており様々な用途があるので、とても便利なライブラリです!