AI モデルのさまざまなストレージ形式 (pb、onnx、ckpt、tflite、h5) の紹介

.ckpt モデル ファイル

tensorflow フレームワークで保存されたモデルには、次のサブファイルが含まれています。

  • model.ckpt.meta: Tensorflow 計算グラフ構造を保存します。これはニューラル ネットワークのネットワーク構造として理解できます。
  • model.ckpt : Tensorflow プログラム内の各変数の値を保存します。変数はモデルのトレーニング可能な部分です。
  • チェックポイント : すべてのモデル ファイルのリストをディレクトリに保存します

.pb モデル ファイル

pbはプロトコルバッファの略称です。TensorFlow トレーニング モデルの後に保存された pb ファイルは、ソース コードを含まないモデル (ニューラル ネットワーク) の構造を表すバイナリ ファイルであり、通常はソース コードにマッピングできません。これは、C 言語のコンパイルによって生成されたマシン コードが一般にソース コードにマッピングし直せないのと似ています。

tensorflow は、graph_util.convert_variables_to_constants 関数を通じて sess グラフをフリーズされたグラフに変換し、pb ファイル形式を保存できます。

.tflite モデル ファイル

Tflite は、Google 独自の軽量推論ライブラリであり、主にモバイル AI モデルの展開に使用されます。

TFLite は、量子化や浮動小数点演算など、モバイル プラットフォーム向けの一連のコア演算子を提供します。TFLite は、FlatBuffers に基づいた新しいモデル ファイル形式を定義します。FlatBuffers は、データにアクセスする前に、通常はオブジェクトごとのメモリ割り当てと組み合わされる解析/解凍手順を必要としないという点で、プロトコル バッファーに似ています。さらに、FlatBuffers のコード フットプリントは、プロトコル バッファーのコード フットプリントよりも 1 桁小さくなります。

.hdf5 モデル ファイル

tf.keras フレームワークに基づいて保存されたモデル ファイルの保存形式。

HDF5 ファイルには通常、  拡張子として.h5 または .hdf5が付いており、ファイルを開いて内容をプレビューするには特別なソフトウェアが必要です。HDF5ファイル構造 には、 グループ と データセットという2 つの主要なオブジェクト があります。

  • グループは フォルダーに似ており、各 HDF5 ファイルは実際にはルート ディレクトリ (ルート) グループ'/'です。
  • データセットはNumPy の配列 に似ています 。

各データセットは、生データ (生) データ値 と メタデータ(他のデータについて説明し、情報を与えるデータのセット => 生データ)の 2 つの部分に分けることができます  。

.onnx モデル ファイル

ONNX は、トレーニング済みモデルを保存する機械学習用に設計されたオープン ファイル形式です。これにより、さまざまな深層学習フレームワーク (Pytorch、MXNet など) がモデル データを同じ形式で保存できるようになります。つまり、ONNX は、さまざまな主流の深層学習フレームワークへのモデルの移行を容易にする中間表現形式です。

ONNX は protobuf を使用して AI モデルをシリアル化します。最上位層はモデル (Model) 構造で、主に関連するメタデータとグラフ (Graph) で構成されます。グラフはメタデータ、モデル パラメーター、入出力、コンピューティングで構成されます。ノード ( ) シーケンスNode, これらのノードは、計算非巡回グラフを構成します。各計算ノードは、主にノード名、演算子、入力リスト、出力リスト、および属性リストで構成される演算子呼び出しを表します。属性リストは、主にいくつかの実行時定数を記録します。たとえば、モデルのトレーニング中に生成される係数値。

ONNX モデル分析プロセス:

.onnx ファイルを読んでモデル構造を取得します。
モデル構造を通じてグラフ構造にアクセスします。
グラフを通じてネットワーク全体のすべてのノード、入力、出力にアクセスします。
ノード構造を通じて、各 OP のパラメーター情報を取得できます。 。
このうち、initializer と value_info もグラフ構造内に定義されており、それぞれモデルの重みパラメータと各ノードの出力情報を格納します。
 

おすすめ

転載: blog.csdn.net/u010420283/article/details/123974775