け い ざ ん の D I Y 工 房

◆Home
◆住まいの D I Y
◆パソコン D I Y
◆ROBOT D I Y
◆電子工作 D I Y
◆Science

●学習data Convert ckpt .pb .tflite

 2022.06.24

VOTTで Annotationした dataを MacBookで学習させると ckpt fileができます。
ckpt fileのままでは tenserflowLiteでは使用できませんので、
data形式の変換をします。dataの変換はこの様に行います。
学習済data : ckpt形式 ⇒ .pb形式 ⇒ .tflite形式


【MacBook Air  ckpt ⇒ .pb 変換】
学習済 model をconvert ckpt ⇒ .pb
$ cd ~/models/research
$ python object_detection/exporter_main_v2.py \
--input_type image_tensor \
--pipeline_config_path ./object_detection_tools/config/efficientdet_d0_coco17_tpu-32.config \
--trained_checkpoint_dir ./saved_model_01 \
--output_directory ./exported_graphs

$ exported_graphs
 Folderが出来て、中に .pb fileができます。

txt file の変換
$ cp object_detection_tools/scripts/convert_pbtxt_label.py ./
$ python convert_pbtxt_label.py \
-l='object_detection_tools/data/tf_label_map.pbtxt' > \
./exported_graphs/labels.txt


【物体検出を動作させる】
Macには cameraが付いているので、物体検出を動作させる事ができます。
.pb形式のdataを実行してみます。
$ cd ~/models/research
$ python object_detection_tools/scripts/object_detection_tf2.py \
-l='./exported_graphs/labels.txt' \
-m='./exported_graphs/saved_model/'

● camera 画像は表示されて物体検出の programは動作している。
 ただし、自作した道路標識は認識せず。


【MacBook ⇒ raspberrypi 転送】
作成した学習済dataを RasPi側で動作させるため転送を行います。

$ cd /Users/「ユーザー名」/miniforge3/envs/py38/models/research
$ scp -r exported_graphs/* pi@192.168.1.11:/home/Virtual/models/research/exported_graphs01/
転送 OK


【RaspberryPi 側 物体検出を動作させる】
RasPi側で .pb形式dataを実行してみます。


【RasPi側環境】
・RasPi
・RAM
・O S
・SSD
・Hard
・Camera
・python
・tensorflow
RaspberryPi 4B
4 GB
RaspberryPi (buster) armv7l 32bit Ver.10
micro SD 64GB
SunFounder PiCar-4WD kit
RaspberryPi Camera module
local: python3.7.3 global: 3.8.13 system: 3.9.2
ver 2.2.0


$ cd /home/Virtual/models/research
$ python object_detection_tools/scripts/object_detection_tf2.py \
-l=”./exported_graphs01/labels.txt” \
-m=”./exported_graphs01/saved_model/”

SSHから実行すると Errorになる。
RasPi 側から動作させると Errorは出ないが画面表示が出無い。


【MacBook Air  .pb ⇒ .tflite 変換】

学習済 model をconvert .pb ⇒ .tflite
$ cd ~/models/research
$ tflite_convert \
--output_file=tflite_data/result1.tflite \
--graph_def_file=exported_graphs01/saved_model/saved_model.pb \
--input_arreys=monalized_input_image_tensor \
--output_arrays=TFLite_Detection_PostProcess,TFLite_Detection_PostProcess:1, TFLite_Detection_PostProcess:2,TFLite_Detection_PostProcess:3 \
--input_shapes=1,300,300,3 \
--change_concat_input_ranges=false \
--allow_custom_ops=true


----------------------------------------------------------------------------------------------------------------------------
・けいざん美術館
・Blog 油絵もろもろ
・EXCEL VBAであくせく
・けいざんの食べログ


                 Site Designed by Kasio Keizan