FC2カウンター FPGAの部屋 2019年03月15日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Edge TPU の”Retrain an image classification model”をやってみる2(転移学習したモデルをEdge TPU 用にコンパイル)

Edge TPU の”Retrain an image classification model”をやってみる1”の続きをやってみよう。画像分類モデルを再学習する。最後の層だけ転移学習したところまでやったので、その続きをやってみよう。

転移学習をしている途中に、TensorBoard で状況を見ようということで、ターミナルを起動して、docker exec で現在起動しているDocker コンテナに接続して、TensorBoard を起動する。
docker exec -it edgetpu-classify /bin/bash
tensorboard --logdir=./transfer_learn/train/

edgetpu-classify は現在起動してるDocker コンテナの名前である。
Edge_TPU_29_190313.png

TensorBoard の表示の一部を示す。
Edge_TPU_30_190313.png

転移学習が終了したので、ターミナルを新しく起動しないで、最後のチェックポイントの性能評価を実行する。
./run_evaluation.sh --network_type mobilenet_v1
Edge_TPU_31_190313.png

精度は 0.75 だった。

Edge TPU 用にモデルをコンパイルしよう。
チェックポイント300 を指定して TensorFlow Liteに変換する。
./convert_checkpoint_to_edgetpu_tflite.sh --network_type mobilenet_v1 --checkpoint_num 300
Edge_TPU_32_190313.png

すると、Docker コンテナ上の /tensorflow/models/research/slim/transfer_learn/models/ に output_tflite_graph.tflite が出力される。これは、ホストパソコンの ~/python-tflite-source/edgetpu/classify/models/ に出力されている。
Edge_TPU_33_190313.png

ホストパソコンでEdge TPU Model Compiler ページを開く。
Upload your model に output_tflite_graph.tflite をドラックアンドドロップする。
”I have read and acknowledged Google's Terms of Service.”と”I agree that my model will only be used for applications that follow Google's AI Principles.”のチェックボックスにチェックを入れる。
Edge_TPU_34_190313.png

するとコンパイルが始まる。
Edge_TPU_35_190313.png

Model successfully compiled したら、Download model をクリックしてコンパイル済みモデルをダウンロードする。
Edge_TPU_36_190313.png

~/ダウンロード/temp に output_tflite_graph_1552476979_edgetpu.tflite をダウンロードした。
Edge_TPU_37_190313.png

output_tflite_graph_1552476979_edgetpu.tflite を ~/python-tflite-source/edgetpu/classify/models/ にコピーする。(ホストパソコン側です)
cd ダウンロード/temp
sudo mv output_tflite_graph_1552476979_edgetpu.tflite ~/python-tflite-source/edgetpu/classify/models/

Edge_TPU_38_190314.png

ホストパソコンで output_tflite_graph_1552476979_edgetpu.tflite の名前を output_tflite_graph_edgetpu.tflite に変更した。
cd ~/python-tflite-source/edgetpu/classify/models/
sudo mv output_tflite_graph_1552476979_edgetpu.tflite output_tflite_graph_edgetpu.tflite

するとDocker コンテナでも output_tflite_graph_edgetpu.tflite が見えている。
Edge_TPU_39_190314.png
  1. 2019年03月15日 04:30 |
  2. Edge TPU
  3. | トラックバック:0
  4. | コメント:0