TensorFlowのEstimatorとPythonを使って予測結果を出力する方法
「predict」メソッドは、これまで一度も見たことのないデータに対して呼び出されます。そして、予測結果と実際の値がコンソール上に表示されます。
関連記事:
TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み
前提知識
本記事では、KerasのSequential APIを使用します。このAPIは、各レイヤーが必ず1つの入力テンソルと1つの出力テンソルを持つ、単純なレイヤーの積み重ねからなるシーケンシャルモデルを構築する際に非常に便利です。
畳み込み層を少なくとも1つ含むニューラルネットワークは、畳み込みニューラルネットワーク(CNN)と呼ばれます。このCNNを利用することで、学習モデルを構築することが可能です。
また、TensorFlow Textには、TensorFlow 2.0で使用できるテキスト処理関連のクラスや演算(オペレーション)のコレクションが含まれています。TensorFlow Textは、系列(シーケンス)モデリングの前処理にも活用できます。
以下のコードの実行には、Google Colaboratoryを使用しています。Google Colab(Colaboratory)を利用すると、ブラウザ上で直接Pythonコードを実行でき、事前の設定は一切不要です。さらに、GPU(グラフィックス処理ユニット)への無料アクセスも提供されており、ColaboratoryはJupyter Notebookをベースに構築されています。
Estimatorとは、TensorFlowにおける完全なモデルの高レベルな抽象化表現です。スケーリングの容易さと非同期トレーニングへの対応を目的として設計されています。
サンプルコード
for pred_dict, expec in zip(predictions, expected):
class_id = pred_dict['class_ids'][0]
probability = pred_dict['probabilities'][class_id]
print('Prediction is "{}" ({:.1f}%), expected "{}"'.format(
SPECIES[class_id], 100 * probability, expec)
)コード引用元 − https://www.tensorflow.org/tutorials/estimator/premade#first_things_first
実行結果
INFO:tensorflow:Calling model_fn. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Graph was finalized. INFO:tensorflow:Restoring parameters from /tmp/tmpbhg2uvbr/model.ckpt-5000 INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. Prediction is "Setosa" (91.3%), expected "Setosa" Prediction is "Versicolor" (52.0%), expected "Versicolor" Prediction is "Virginica" (63.5%), expected "Virginica"
コードの解説
「predict」メソッドを呼び出すことで、モデルによる予測が実行されます。
その後、予測された値が信頼度(確率)とともにコンソールへ出力され、期待される実際のラベルと比較できるようになっています。
-
PythonとKerasを使って復元済みモデルを評価する方法
TensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く利用されており、複雑な数値計算を高速に実行するための最適化技術を備えています。Windowsに「tensorflow」パッケージをインストールするには、以下のコマンドを実行します。pip install tensorflowKerasとはKerasは、ONEIROS(Open ended Neuro-Electronic Intelligent Robot O
-
Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説
TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ