Colaboratoryで、機械学習済みのModelを使い予測値を算出する。

機械学習をやり初めのときに疑問だったことは、
Colaboratoryなり、Anacondaなり使って、モデルを作ることが出来るんだけども、
どうやって、アプリケーションするのか?ということでした。

結論から言ってしまうと、modelデータを保存→ダウンロードして、他のアプリケーションに組み込むです。modelはmodelの形式や、重み・バイアスが、バイナリーデータとして格納されています。
他のアプリケーションで利用する際には、学習時に成形した入力形式が定まっているので、入力する際には注意が必要かと思います。

■Colaboratoryで、機械学習済みのModelを使う

それでは、簡単ではありますが、実際に使ってみます。
色々とやり方はあるかと思いますが、
今回は機械学習済みModelの、重み・バイアスを抽出して、予測値を算出していきます。

大まかな流れとしては、
・学習済みModelをUpload(ディレクトリへ格納)
・モデルの定義
・重み、バイアスのロード
・予測を実行

まずは、学習したModelをUploadします。

/content/model_data/ ディレクトリ配下に
modelDone.hdf5 というファイル名にてUploadする。

Modelを定義します。
これは、機械学習をした際と同じModelを定義します。
Kerasを活用するとします。(Libraryはimport済み)

#modelの定義
model = tf.keras.models.Sequential()
model.add(Flatten(input_shape=(28, 28)))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(10, activation='softmax'))

Modelに対して、重み・バイアスを読み込ませます。

model.load_weights('/content/model_data/modelDone.hdf5')

これで、学習した状態と同じ状態になります。

予測値を算出するには、学習したときと同じ入力形式で、データを入力し、予測を実行させて上げればよいのです。

predicted = model.predict(入力データ)
#変数 predicted に予測値が出力される。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です