TensorFlowでモデルのテスト、リセット、最新チェックポイントの読み込みを行う方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く利用されています。研究用途から本番環境まで幅広く使われており、複雑な数値計算を高速に実行するための最適化技術を備えています。これは内部でNumPyと多次元配列を使用しているためです。この多次元配列は「テンソル」と呼ばれています。また、TensorFlowは深層ニューラルネットワークの構築をサポートしており、高い拡張性を持つほか、多くの人気データセットも同梱されています。
Windowsに「tensorflow」パッケージをインストールするには、以下のコマンドを実行します。
pip install tensorflow
Kerasは、ONEIROS(Open ended Neuro-Electronic Intelligent Robot Operating System)というプロジェクトの研究の一環として開発されました。KerasはPythonで書かれたディープラーニングAPIであり、機械学習の問題を効率的に解決するための生産性の高いインターフェースを備えた高レベルAPIです。TensorFlowフレームワーク上で動作し、素早く実験を行えるように設計されています。機械学習ソリューションの開発とカプセル化に不可欠な抽象化機能とビルディングブロックを提供しています。
Kerasは高い拡張性を持ち、クロスプラットフォームにも対応しています。そのため、TPUやGPUクラスタ上でも実行可能です。さらに、KerasモデルはWebブラウザやモバイルデバイス上で動作するようエクスポートすることもできます。KerasはTensorFlowパッケージにあらかじめ含まれており、以下のコードでアクセスできます。
import tensorflow from tensorflow import keras
以下のコードはGoogle Colaboratoryで実行しています。Google Colab(Colaboratory)を使うと、ブラウザ上でPythonコードを実行でき、事前の設定は一切不要で、GPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。
以下がコードです。
コード例
print("新しいモデルインスタンスを作成します")
model = create_model()
print("以前保存した重みを読み込みます")
model.load_weights(latest)
print("モデルを再評価します")
loss, acc = model.evaluate(test_images, test_labels, verbose=2)
print("復元されたモデルの精度: {:5.3f}%".format(100 * acc))コード出典: https://www.tensorflow.org/tutorials/keras/save_and_load
出力結果
新しいモデルインスタンスを作成します 以前保存した重みを読み込みます モデルを再評価します 32/32 - 0s - loss: 0.4828 - sparse_categorical_accuracy: 0.8770 復元されたモデルの精度:87.700%
解説
まず、「create_model」メソッドを使用して、再度新しいモデルインスタンスを作成します。
次に、「load_weights」メソッドを使って、以前保存しておいた重みをこのインスタンスに読み込みます。
そして、「evaluate」メソッドによって、この新しいモデルを評価します。
これにより、評価時の精度(accuracy)と損失(loss)が算出されます。
最後に、これらの値がコンソールに出力されます。
-
TensorFlowとPythonを使ってモデルをトレーニングする方法
TensorFlowでは、fitメソッドを使ってモデルをトレーニングできます。このメソッドには、エポック数(データセット全体を何回繰り返して学習させるかを示す数値)とトレーニング用データを指定します。実行環境について本記事のコードはGoogle Colaboratory(Google Colab)で実行しています。Google Colabはブラウザ上でPythonコードを実行できるサービスで、面倒な環境構築が不要なうえ、GPU(グラフィックス処理ユニット)を無料で利用できるのが大きな特徴です。ColaboratoryはJupyter Notebookをベースに構築されています。モデルのトレーニ
-
Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説
TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ