TensorFlow Lite Tool: Toco (轉換器)
toco是用來生成一個可供TensorFlow Lite框架使用tflite文件。
bazel 編譯方式
$ bazel build tensorflow/lite/toco:toco
程式位於tensorflow/lite/toco資料夾下。Toco有三個主要功能,即匯入、匯出和轉換。匯入將輸入轉為Model類別,匯出將模型轉為flite模型或是grpahviz。轉換以輸入標示為基礎對模型操作,並且它會刪除未使用的運算元等。
凍結模型: freeze_graph
freeze_graph是模型固化工具。把模型參數也一同寫進同一個模型檔案中。它的部分核心是convert_variables_to_constrants
summarize_graph 這工具在tensorflow/python/tools
bazel 編譯方式
$ bazel build tensorflow/python/tools:freeze_graph
影像標記 (label_image)
這工具在 tensorflow/lite/examples/label_image類,它是一個月C++寫的影像分類工具。它會讀取一個影像和模型檔案,按照標記的噹案進行分類
首先,下載影像逼較要用到的幾個檔案:
$ ./tensorflow/lite/examples/ios/download_models.sh
然後,建置執行檔案。Android裝置的ABI可以透過以下指令過得:
adb shell getprop | grep abi
假設你的裝置是armv864位元晶片,可以執行下列指令:
$ baxel build --config android_arm64 --config monolithic --cxxopt=-std=c++11 \
//tensorflow/lite/examples/label_image:label_image
若是在x86的機器上,可以執行下列指令:
$ baxel build --config monolithic \
//tensorflow/lite/examples/label_image:label_image
最小整合 (Minimal)
這工具在tensorflow/lite/examples/minimal,它示範了怎像讀取模型、建置解譯器,以及執行預測。
Graphviz (dot format)
TensorFlow提供了很多視覺化工具,例如: 透過toco將TensorFlow張量流圖轉為Graphviz:
$ toco --input_file=tf_files/optimized_graph.lite \
--output_file=tf_files/lite.dot \
--input_format=TFLITE \
--output_format=GRAPHVIZ_DOT \
--input_shape=1,224,224,3 \
--input_array=input \
--output_array=final_result \
--inference_type=FLOAT \
--input_data_type=FLOAT
產生出來的.dot file 可以透過支援Graphviz視覺化工具(例如: Dot Viewer) 來看模型圖
模型評校 (summarize_graph & benchmark_model)
summarize_graph 這工具在tensorflow/tools/graph_transforms,它示範了怎像讀取模型、建置解譯器,以及執行預測。
bazel 編譯方式
$ bazel build tensorflow/tools/graph_transforms:summarize_graph
例如: 執行下面的指令,產生模型概要
$ summarize_graph --in_graph=tf_files/retrained_graph.pb
benchmark_model這工具也是在tensorflow/tools/graph_transforms
bazel 編譯方式
$ bazel build tensorflow/tools/graph_transforms:benchmark_model
例如: 執行下面的指令,產生模型概要
No comments:
Post a Comment