TensorFlowのEstimatorを使って学習済みモデルから予測を行う方法
TensorFlowをEstimatorと組み合わせて使用すれば、「classifier」に用意されている「predict」メソッドを呼び出すだけで、新しいデータに対する予測出力を簡単に取得できます。
関連記事: TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み
本記事ではKeras Sequential APIを使用します。このAPIは、各レイヤーが必ず1つの入力テンソルと1つの出力テンソルを持つ、シンプルなレイヤー積み重ね構造の逐次モデル(Sequentialモデル)を構築するのに適しています。
畳み込みニューラルネットワーク(CNN)を利用することで、画像認識などのタスクに対応した学習モデルを効率的に構築できます。
また、TensorFlow TextにはTensorFlow 2.0で利用可能なテキスト関連のクラスやオペレーションがまとめられており、系列モデリングの前処理などにも活用できます。
以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)はブラウザ上でPythonコードを実行できる環境で、事前設定は一切不要。GPU(グラフィックス処理装置)へも無料でアクセスでき、Jupyter Notebookをベースに構築されています。
Estimatorとは、TensorFlowにおける完全なモデルの高レベルな抽象表現です。スケーリングのしやすさと非同期トレーニングへの対応を目的として設計されています。
ここでは、アヤメ(Iris)データセットを使ってモデルを学習させます。特徴量は4つ、ラベルは1つです。
- がく片の長さ(sepal length)
- がく片の幅(sepal width)
- 花びらの長さ(petal length)
- 花びらの幅(petal width)
コード例
print("Generating predictions from model")
expected = ['Setosa', 'Versicolor', 'Virginica']
predict_x = {
'SepalLength': [5.1, 5.9, 6.9],
'SepalWidth': [3.3, 3.0, 3.1],
'PetalLength': [1.7, 4.2, 5.4],
'PetalWidth': [0.5, 1.5, 2.1],
}
print("Defining input function for prediction")
print("It converts inputs to dataset without labels")
def input_fn(features, batch_size=256):
return tf.data.Dataset.from_tensor_slices(dict(features)).batch(batch_size)
predictions = classifier.predict(
input_fn=lambda: input_fn(predict_x))コード引用元 − https://www.tensorflow.org/tutorials/estimator/premade#first_things_first
出力結果
Generating predictions from model Defining input function for prediction It converts inputs to dataset without labels
解説
- 学習済みのモデルは、精度の高い予測結果を出力します。
- ラベル付けされていない測定値をもとに、アヤメの品種(Setosa/Versicolor/Virginica)を予測するために使用できます。
- 予測処理は、わずか1回の関数呼び出しで実行できます。
-
TensorFlowを使ってMNISTデータセット用のモデルを定義する方法
TensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、各種アルゴリズムやディープラーニングアプリケーションの実装が可能になります。複雑な数値計算を高速に処理できる最適化技術を備えているのが特徴で、これは内部でNumPyと多次元配列を利用しているためです。この多次元配列は「テンソル(Tensor)」とも呼ばれます。また、深層ニューラルネットワークの構築もサポートしています。TensorFlowのインストールWindows環境に「tensorflow」パッケージをインストールするには、以下のコマン
-
TensorFlowとFashion MNISTデータセットを使って、学習済みモデルでPythonによる画像予測を行う方法
TensorFlowはGoogleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く利用されており、複雑な数値計算を高速に処理するための最適化技術を備えています。これは内部でNumPyと多次元配列を使用しているためです。この多次元配列は「テンソル(tensors)」とも呼ばれます。また、TensorFlowは深層ニューラルネットワークの構築もサポートしています。Windows環境では、以下のコマンドで「tensorflow」パッケージをインスト