resnet-50-tf#

ユースケースと概要説明#

resnet-50-tf は、ImageNet データセットで事前トレーニングされた画像分類モデルである ResNet-50 の TensorFlow* 実装です。元々は保存されたモデル形式で再配布されていましたが、tf.graph_util モジュールを使用したフリーズグラフに変換されました。詳細についてはこちらリポジトリーを参照してください。

凍結グラフへの変換を再現する手順#

  1. TensorFlow* バージョン 1.14.0 をインストールします、

  2. 事前トレーニングされた重みをダウンロードします:

  3. <omz_dir>/models/public/resnet-50-tf/freeze_saved_model.py で、入手可能なサンプルの変換コードを実行します。

python3 freeze_saved_model.py --saved_model_dir path/to/downloaded/saved_model --save_file path/to/resulting/frozen_graph.pb

仕様#

メトリック

タイプ

分類

GFLOPs

8.2164

MParams

25.53

ソース・フレームワーク

TensorFlow*

精度#

メトリック

元のモデル

変換されたモデル

上位 1

76.45%

76.17%

上位 5

93.05%

92.98%

入力#

元のモデル#

画像、名前: map/TensorArrayStack/TensorArrayGatherV3、形状: 1, 224, 224, 3、形式: B, H, W, C、ここで:

  • B - バッチサイズ

  • H - 髙さ

  • W - 幅

  • C - チャネル

チャネルの順番は RGB です。平均値: [123.68、116.78、103.94]

変換されたモデル#

画像、名前: map/TensorArrayStack/TensorArrayGatherV3、形状: 1, 224, 224, 3、形式: B, H, W, C、ここで:

  • B - バッチサイズ

  • H - 髙さ

  • W - 幅

  • C - チャネル

チャネルの順番は BGR です。

出力#

元のモデル#

ImageNet クラスに基づくオブジェクト分類子、名前: softmax_tensor、形状: 1, 1001、出力データ形式: B, C、ここで:

  • B - バッチサイズ

  • C - [0, 1] の範囲の各クラスの予測確率

変換されたモデル#

ImageNet クラスに基づくオブジェクト分類子、名前: softmax_tensor、形状: 1, 1001、出力データ形式: B, C、ここで:

  • B - バッチサイズ

  • C - [0, 1] の範囲の各クラスの予測確率

モデルをダウンロードして OpenVINO™ IR 形式に変換#

以下の例に示すように、モデルをダウンロードし、必要に応じてモデル・ダウンローダーやその他の自動化ツールによってモデルを OpenVINO™ IR 形式に変換できます。

モデル・ダウンローダーの使用例:

omz_downloader --name <model_name>

モデル・コンバーターの使用例:

omz_converter --name <model_name>

デモの使い方#

このモデルは、Open Model Zoo が提供する次のデモで使用して、その機能を示します: