Blog

TensorFlow LiteからNeural Network Consoleへの取込

Monday, February 15, 2021

News

Posted by suzuki

エッジデバイスなどで用いられるTensorFlow Liteでの学習済みモデルをNeural Network Consoleへ取り込む方法について解説します。TensorFlow Liteの量子化モデルへも対応しており、Neural Network Consoleへ取込むことができます。取込み後、説明可能なAIなどのNeural Network Consoleのプラグイン機能にて評価をすることができます。取込み方法は、2ステップからなります。先ずは、TensorFlow LiteからNnabla形式のファイルへの変換、そして、Neural Network ConsoleへのONNXファイルを取込みます。その前に、最新バージョンのNeural Network Consoleを準備しましょう。

Neural Network Console

Neural Network Console の最新バージョンをご準備ください。 Neural Network Console Ver2.0では、学習済みモデルの取込みの拡充、XAI機能の拡充、日本語対応などがアップデートされています。Ver1.9以下では、Tensor Flow Liteの取り込みはできません。

TensorFlow LiteからNnabla形式のファイルへの変換

TensorFlow Liteの学習済みモデルをONNXフォーマットへ変換します。現時点(2021/2/8)では、tflite2onnxというサードパーティーのツールにて前段のTensorFlow LiteからONNXへの変換します。

この部分は、各自のコマンドライン(コマンドプロンプト、Powershell、Python環境など)にて変換することになります。なお、Neural Network Consoleからもコマンドプロンプトを簡単に呼び出すことができます。プロジェクト名が並んだ画面から右クリックします。その他ツールをからコマンドプロンプトを選択すると、コマンドプロンプトが起動します。

tflite2onnxをインストール

pip install tflite2onnx

インストールが成功すると次のようなメッセージがでます。

  • Successfully installed flatbuffers-1.12 tflite-2.4.0 tflite2onnx-0.3.2

ONNXフォーマットへの変換

TensorFlow Liteフォーマットのhogehoge.tfliteをONNXファイルへ変換します。 変換後のファイルの拡張子を .onnx にして、先ほどの tflite2onnxにて変換します。

tflite2onnx hogehoge.tflite hogehoge.onnx

hogehoge.onnxが生成されます。

Neural Network ConsoleへのONNXファイルの取込み方

  1. Neural Network Consoleを起動します。
  2. 新しいプロジェクトを開きます。
  3. 右クリックをして、インポートを選び、nntxt,nnp,ONNXを選択します。
  4. 先ほどONNへ変換したファイルhogehoge.onnxを選びます。
  5. 変換が自動で始まり、Neural Network Consoleへ取込むことができます。