Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonとKerasを使って保存済みモデルを再読み込みする方法

はじめに

TensorFlowはGoogleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションの実装などに幅広く活用されています。研究用途から本番環境まで、さまざまな場面で採用されている実績あるフレームワークです。

Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。

pip install tensorflow

テンソルとは

テンソルはTensorFlowにおける基本的なデータ構造です。フローダイアグラム(データフローグラフ)内のエッジ同士をつなぐ役割を担います。テンソルは多次元配列またはリストそのものであり、主に以下の3つの属性によって識別されます。

  • ランク(Rank):テンソルの次元数を表します。テンソルの階数、つまり定義されたテンソルが持つ次元の数と考えることができます。

  • 型(Type):テンソルの各要素に関連付けられたデータ型を表します。1次元、2次元、n次元など、任意の次元のテンソルが存在します。

  • 形状(Shape):行数と列数の組み合わせを表します。

Kerasとは

Kerasはギリシャ語で「角(つの)」を意味します。ONEIROS(Open ended Neuro-Electronic Intelligent Robot Operating System:開放型神経電子知能ロボットオペレーティングシステム)というプロジェクトの研究の一環として開発されました。TensorFlowフレームワークの上層で動作し、素早く実験を行えるように設計されています。高い拡張性を備え、クロスプラットフォームにも対応しており、TPUやGPUクラスタ上でも実行可能です。さらに、KerasのモデルはWebブラウザやモバイル端末向けにエクスポートすることもできます。

KerasはTensorFlowパッケージにあらかじめ含まれているため、以下のコードですぐに利用できます。

import tensorflow
from tensorflow import keras

以降のコードはGoogle Colaboratoryで実行しています。Google Colab(Colaboratory)を利用すると、ブラウザ上でPythonコードを実行でき、事前の設定は一切不要で、GPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。

保存済みモデルを読み込むコード例

ls saved_model/my_model
new_model = tf.keras.models.load_model('saved_model/my_model')
print("モデルのアーキテクチャを確認します")
new_model.summary()

コード出典:https://www.tensorflow.org/tutorials/keras/save_and_load

実行結果

PythonとKerasを使って保存済みモデルを再読み込みする方法

PythonとKerasを使って保存済みモデルを再読み込みする方法

コードの解説

  • まず、保存済みモデルの内容がコンソールに表示されます。

  • 次に、load_modelメソッドを使って新しいモデルを読み込み、変数に格納します。

  • 最後に、summaryメソッドを呼び出すことで、読み込んだ新しいモデルの詳細情報がコンソールに出力されます。これにより、保存前のモデルと同じ構造(レイヤー構成やパラメータ数など)が正しく復元されていることを確認できます。

まとめ

このように、tf.keras.models.load_model()を使用すれば、一度保存したモデルを簡単に再読み込みできます。学習済みモデルの再利用や推論処理への組み込みにおいて、モデルの保存と読み込みは非常に重要なワークフローです。ぜひ実際に試してみてください。

  1. PythonとKerasを使ってモデルの重みを手動で保存・復元する方法

    TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムや深層学習アプリケーションの実装などに広く利用されています。研究用途から本番環境まで、さまざまな場面で活用されています。Kerasは、ONEIROS(Open ended Neuro-Electronic Intelligent Robot Operating System)プロジェクトの研究の一環として開発されました。KerasはPythonで記述された深層学習APIであり、機械学習の問題解決を効率的に行うための生産性の高いインターフェースを備えた

  2. Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説

    TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ