概要
AIを使用する追加アプリを開発する際には、Caffe/Tensorflow/ONNXで作成したモデルをAIカメラ内蔵のアクセラレータ(CVFlow)で実行可能なバイナリ(cavalry.bin)に変換する必要があります。
AIモデル変換ツール(以下、CVツール)はこの変換処理を行うツールです。
本ツールは、ユーザがAIモデルの学習に習熟していることを前提として作成されています。
CVツールはAIモデルの学習に関する機能を提供するものではありません。
各フレームワークでの学習は、ユーザが前もって実施してください。CVツールはAIモデルとしてCNNを対象としています。
tensorflow v2.xのモデルは事前にtfliteに変換が必要です。
PyTorchのモデルは事前にONNXに変換が必要です。
開発フロー
学習済みモデルをCVflowの実行可能バイナリに変換するまでのフローを記載します。
CVツールでは図中の色付きの項目に対する処理を実施します。
Conversion
学習モデルをcavalry.binに変換します。
Conversionではモデルの再学習は行いません。
カメラのアクセラレータ(CVFlow)は16bitまたは8bitの固定小数点で演算を行うため、元のモデルは16bitまたは8bitに量子化されます。
量子化の設定は、下記3種類から、ユーザが選択可能です。
16bit固定
16bit/8bit混合(各演算のbit幅は、ツールが自動で決定します)
8bit固定
通常、8bitの方が推論時間は高速になりますが、精度は劣化します。