ファイナンス、情報通信技術のスキル・アグリゲーション・サイト

' . iseeit.jp 情報通信技術 . '

TensorFlow.js で Keras の学習済み MNIST モデルを体験

TensorFlow.js は、機械学習・ディープラーニングをブラウザ上で実行する JavaScript ライブラリです。

https://js.tensorflow.org

TensorFlow.js では、Keras の学習済みモデルを読み込むためのしくみも用意されています。今回は、Keras で MNIST の学習済みモデルを用意して、TensorFlow.js で読み込み、その Predict を体験してみたいと思います。

なお、学習済みモデルを読み込むための通信も発生しますので、TensorFlow.js を使用しないで、Keras の 学習済み MNIST モデルを体験するウェブアプリも用意しました。

TensorFlow.js による体験ページでは、ページのロード時にモデルの読み込みが発生しますので、通信環境に特にご注意ください。また、ブラウザやそのバージョンによっては動作しない場合もあります。

なお、Keras の学習済み MNIST モデルをウェブアプリで体験するバージョンは、こちらのページです。

下の黒いエリアに手書きの数字を1文字書いてください。パソコンの場合はマウスで対応します。

実行ボタンで、書かれた数字を予測します。

数字予測精度数字予測精度
0 - 5 -
1 - 6 -
2 - 7 -
3 - 8 -
4 - 9 -

学習モデルの作成には、Keras の examples に収録されている https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py の最終行に、モデルを保存する次のコードを1行追加して、実行しました。



model.save('mnist_model.h5')

ちなみに、今回の学習の実行環境は、お名前.com VPS の メモリ 2GB プランで、およそ1週間かかっています。

Keras の学習済みモデルを TensorFlow.js で読み込み可能にする変換コマンドが用意されていますので、インストールします。

公式チュートリアルは、https://js.tensorflow.org/tutorials/import-keras.html です。



$ pip install tensorflowjs

そして、以下のコマンドにより、model ディレクトリに TensorFlow.js で読み込み可能なファイル群が作成されます。なお、TensorFlow.js では、このディレクトリ内に作成されている JSON ファイル(model.json)を指定することにより、学習済みモデルをロードします。



$ tensorflowjs_converter --input_format keras mnist_model.h5 model

Parcel による Build バージョンを追加しました。こちらのページです。

『TensorFlow.js で Keras の学習済み MNIST モデルを体験』を公開しました。

ファイナンシャル・プランニング
6つの係数

終価係数 : 元本を一定期間一定利率で複利運用したとき、将来いくら になるかを計算するときに利用します。

現価係数 : 将来の一定期間後に目標のお金を得るために、現在いくら の元本で複利運用を開始すればよいかを計算するときに利用します。

年金終価係数 : 一定期間一定利率で毎年一定金額を複利運用で 積み立て たとき、将来いくら になるかを計算するときに利用します。

年金現価係数 : 元本を一定利率で複利運用しながら、毎年一定金額を一定期間 取り崩し ていくとき、現在いくら の元本で複利運用を開始すればよいかを計算するときに利用します。

減債基金係数 : 将来の一定期間後に目標のお金を得るために、一定利率で一定金額を複利運用で 積み立て るとき、毎年いくら ずつ積み立てればよいかを計算するときに利用します。

資本回収係数 : 元本を一定利率で複利運用しながら、毎年一定金額を一定期間 取り崩し ていくとき、毎年いくら ずつ受け取りができるかを計算するときに利用します。

積み立て&取り崩しモデルプラン

積立金額→年金額の計算 : 年金終価係数、終価係数、資本回収係数を利用して、複利運用で積み立てた資金から、将来取り崩すことのできる年金額を計算します。

年金額→積立金額の計算 : 年金現価係数、現価係数、減債基金係数を利用して、複利運用で将来の年金プランに必要な資金の積立金額を計算します。