/
AIモデル変換ツール:Caffe編

AIモデル変換ツール:Caffe編

 

環境構築


環境構築手順はこちらをご参照ください。

以下の環境設定はCVツールのコンテナを起動後、毎回実施する必要がありますので、ご注意ください。

  • ambaCV2Xカメラ向けの設定

$ cd /home/cvtool $ source setup_env.sh
  • ambaCV5Xカメラ向けの設定

$ cd /home/cvtool $ source setup_env.sh ipro-ambaCV5X

 

サンプルモデルの変換


ディレクトリを移動します。

$ cd /home/cvtool/conversion/caffe

サンプルモデルをダウンロードします。

モデル変換を実行します。

 

変換後のモデルは以下のディレクトリに出力されます。

  • ambaCV2Xカメラ用のモデル

${OUTPUT_DIR}/${NET_NAME}/${PARSER_OPTION}/[モデル名]

  • ambaCV5Xカメラ用のモデル

${OUTPUT_DIR}/${NET_NAME}_ambaCV5X/${PARSER_OPTION}/[モデル名]


モデルを変換する


  1. /home/cvtool/conversion/caffeをコピーしてください。

  1. setting.conf を、変換するモデルに合わせて変更してください。

  2. モデル変換を実行します。

 

setting.conf仕様


v1.19 まで setting.conf にあった CAVALRY_VERを、v1.20 から削除しています。
v1.19 以前の setting.conf を v1.20以降の cvtool で使用する際は、setting.conf から CAVALRY_VER を削除してください。

  • NET_NAME:ネットワーク名

    • 任意の名前を設定できます。

  • DEPLOY_PROTOTXT:deploy用prototxtファイルへのパス

  • MODEL_DIR:caffemodelが格納されたディレクトリ

    • ディレクトリ下の全てのモデルに対して、変換処理を実行します。

  • DRA_IMAGE_DIR:量子化の最適化処理で使用する、画像ファイルが格納されたディレクトリ

    • 学習に使った画像を格納してください。100~200枚が推奨枚数です。

    • 画像フォーマットはJPEGやPNGなど、OpenCVで対応しているものです。

    • 任意サイズの画像を使用可能です。

  • OUTPUT_DIR:変換後のデータ出力先ディレクトリ

  • PARSER_OPTION:量子化モード

    • FIX8/FIX16/MIX(FIX8/FIX16混合)から選択します。

  • IN_DATA_CHANNEL:モデルの入力画像チャネル数

  • N_DATA_WIDTH:モデルの入力画像サイズ(幅)

  • IN_DATA_HEIGHT:モデルの入力画像サイズ(高さ)

  • IN_MEAN:入力画像の正規化パラメータ(平均値)

    • 数値またはbinaryprotoファイルでの設定が可能です。

    • 数値で設定する場合には、以下のように”,”の間に空白を入れないようにしてください。
      IN_MEAN=127.5,127.5,127.5

    • binaryprotoファイルで設定する場合には、以下のようにファイルへのパスを設定してください。
      IN_MEAN=./model/mean.binaryproto

  • IN_SCALE:入力画像の正規化パラメータ(スケール)

    • チャネルごとに異なる設定値にする場合は、”,”で値を区切ってください。”,”の間には空白を入れないようにしてください。

  • IS_BGR:入力画像のフォーマット(RGB or BGR)

  • IN_LAYER:ネットワークの入力レイヤ名

    • 変換後のモデルでは入力レイヤ名が “${IN_LAYER}_0” に変わります。
      したがって追加アプリ上で変換後のモデルを動かす際も、モデルの入力レイヤとして “_0” を付ける必要があります。

    • 以下の記号が入力レイヤ名に含まれている場合、正常に変換できない可能性があります。
      : | ; , ‘

  • OUT_LAYER:ネットワークの出力レイヤ名

    • 複数指定する場合は”,”で区切ってください

    • 以下の記号が出力レイヤ名に含まれている場合、正常に変換できない可能性があります。
      : | ; , ‘

  • PREPRO:前処理スクリプトパス(python)

    • スクリプトの作り方は“/home/cvtool/common/prepro.py”を参照してください。

  • PREPRO_ARG:前処理スクリプトの引数

  • IN_DATA_FILEFORMAT:入力データのフォーマット

    • 例:uint8->0,0,0,0, float32->1,2,0,7, float16->1,1,0,4)

    • IN_DATA_FILEFORMAT を”0,0,0,0”から変更した場合はPREPROの設定が必要になります。

  • IN_DATA_TRANSPOSE:入力データに対してTRANSPOSE を行う場合指定する


deploy用のprototxtでinputレイヤが定義されていない場合は、以下のようにレイヤを追加してください。

 

Related content

AIモデル変換ツール:ONNX(PyTorch)編
AIモデル変換ツール:ONNX(PyTorch)編
More like this
How to create an AI model for ambaCV5X
How to create an AI model for ambaCV5X
More like this
環境構築
環境構築
More like this
AIモデル変換ツール
AIモデル変換ツール
Read with this
AIモデル変換ツール:Tensorflow編
AIモデル変換ツール:Tensorflow編
More like this
アノテーションツール『labelImg』を使ったAIモデル作成
アノテーションツール『labelImg』を使ったAIモデル作成
Read with this