今回の記事はTensorFlow(今回は「Object Detection API」)でTFRecordと既存モデル(MobileNet)を転移学習させたpbモデルをTensorFlow Lite形式のtflite形式に変換する方法をご紹介する内容です。初心者にも分かりやすいように記載するので是非参考にして下さい。
TensorFlow Lite形式に変換できるpbモデルを「Object Detection API」で転移学習させる方法に関しては下記の記事で詳しく記載しているので是非参考にして下さい。
転移学習で自作したpbモデルをtflite形式に変換する方法
まず、転移学習モデルを作成する環境として、「Object Detection API」の環境が必要です。また、こちらpbモデルをtfliteモデルに変換する際もこの環境が必要なので準備しておきましょう。
準備方法は下記記事に記載しているのでそちらを参考にして下さい。
「ローカルPCに「Object Detection API」の環境構築」
「Docker上に「Object Detection API」環境を構築する手順」
上記の環境が構築されている方は「/models/research」のディレクトリで下記コマンドを実行します。
tflite_convert --output=[出力先path(/models/original_data/result1.tflite)] --graph_def_file=[tflite_graph.pbグラフpath(/models/original_data/detect_test/tflite_graph.pb] --input_arrays=normalized_input_iamge_tensor --output_arrays=TFLite_Detection_PostProcess,TFLite_Detection_PostProcess:1,TFLite_Detection_PostProcess:2,TFLite_Detection_PostProcess:3 --input_shapes=1,300,300,3 --allow_custom_ops
上記オプションが多数あるので気になる方は下記記事にまとめたのでご確認ください。
slimのエラー出ればslimフォルダで下記を実行して下さい。
python setup.py build
python setup.py install
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
pbモデルをtflite形式に変換時のエラーについて
変換時のエラーに関しても多数あるので下記の記事にまとめました。エラー発生した方は参照ください。
「tflite_convert実行時のエラー回避方法まとめ」
では今回の記事は以上です。他にも多数の機械学習・Python関連の記事を記載しているので是非興味があればサイト内確認ください。
コメント
[…] 【TensorFlow】転移学習で作った物体検出「.pb」モデルをTensorFlow Lite 形式「.t… […]