Skip to main content

Google Coral用のEdge TPU TFlite形式へのモデル変換

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

Google Coral用のEdge TPU TFlite形式へのモデル変換

はじめに

Coral M.2 Acceleratorは、デュアルEdge TPUを搭載したM.2モジュールで、M.2 Eキーのスロットが利用可能な既存のシステムや製品にEdge TPUコプロセッサを追加します。TensorFlowPyTorchは、最も人気のあるディープラーニングフレームワークです。そのため、Edge TPUを使用するには、モデルをEdge TPU形式にコンパイルする必要があります。

この記事では、モデルをコンパイルしてGoogle Coral TPU上で実行するプロセスを案内し、高性能な機械学習アプリケーションのためにその能力を活用する方法を説明します。

ハードウェアの準備

Raspberry Pi 5 8GBRaspberry Pi M.2 HAT+Coral M.2 Accelerator B+Mキー

ハードウェアのインストール

pir

モデルの変換

note

開始する前に、インストールガイドに従ってGoogle Coral TPUをPi 5にインストールしていることを確認してください。

note

すべてのプロセスはPython 3.11.9でテストされています。

Tensorflowのインストール

pip install tensorflow

tflite_converterの確認

tflite_convert -h

結果は以下のようになります:

2024-07-23 10:41:03.750087: I tensorflow/core/platform/cpu_feature_guard.cc:182] このTensorFlowバイナリは、パフォーマンスクリティカルな操作で利用可能なCPU命令を使用するように最適化されています。
以下の命令を有効にするには:AVX2 FMA、他の操作では適切なコンパイラフラグでTensorFlowを再構築してください。
2024-07-23 10:41:04.276520: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT警告:TensorRTが見つかりませんでした
使用法: tflite_convert [-h] --output_file OUTPUT_FILE [--saved_model_dir SAVED_MODEL_DIR | --keras_model_file KERAS_MODEL_FILE] [--saved_model_tag_set SAVED_MODEL_TAG_SET]
[--saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY] [--enable_v1_converter] [--experimental_new_converter [EXPERIMENTAL_NEW_CONVERTER]]
[--experimental_new_quantizer [EXPERIMENTAL_NEW_QUANTIZER]]

TensorFlow Lite Converterを実行するためのコマンドラインツール。

オプションの引数:
-h, --help このヘルプメッセージを表示して終了します。
--output_file OUTPUT_FILE
出力ファイルの完全なファイルパス。
--saved_model_dir SAVED_MODEL_DIR
SavedModelを含むディレクトリの完全なパス。
--keras_model_file KERAS_MODEL_FILE
tf.Kerasモデルを含むHDF5ファイルの完全なファイルパス。
--saved_model_tag_set SAVED_MODEL_TAG_SET
分析するSavedModel内のMetaGraphDefを識別するタグのコンマ区切りセット。すべてのタグが存在する必要があります。空のタグセットを渡すには、""を渡します。(デフォルト "serve")
--saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY
入力と出力を含むSignatureDefを識別するキー。(デフォルト DEFAULT_SERVING_SIGNATURE_DEF_KEY)
--enable_v1_converter
2.0でTensorFlow V1コンバーターを有効にします。
--experimental_new_converter [EXPERIMENTAL_NEW_CONVERTER]
実験的なフラグ、変更される可能性があります。TOCO変換の代わりにMLIRベースの変換を有効にします。(デフォルト True)
--experimental_new_quantizer [EXPERIMENTAL_NEW_QUANTIZER]
実験的なフラグ、変更される可能性があります。flatbuffer変換の代わりにMLIRベースの量子化器を有効にします。(デフォルト True)

TensorflowモデルをTFliteモデルに変換

tflite_convert --saved_model_dir=YOUR_MODEL_PATH --output_file=YOUR_MODEL_NAME.tflite

TFliteモデルをEdge TPUモデルに変換

note

TFliteモデルをEdge TPUモデルに変換する前に、モデルを最適化する必要があります。Tensorflowモデルの最適化を確認してください。

edgetpuコンパイラのインストール

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list

sudo apt-get update

sudo apt-get install edgetpu-compiler

TFliteモデルをEdge TPUモデルに変換

edgetpu_compiler YOUR_MODEL_NAME.tflite

これで新しいファイルYOUR_MODEL_NAME_edgetpu.tfliteが生成されます。

技術サポートと製品ディスカッション

弊社の製品をお選びいただきありがとうございます!製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しています。お客様のご希望やニーズに応じた複数のコミュニケーションチャネルをご用意しています。

Loading Comments...