Path: blob/master/site/ja/lite/performance/measurement.md
25118 views
ããã©ãŒãã³ã¹æž¬å®
ãã³ãããŒã¯ããŒã«
çŸåšãTensorFlow Lite ãã³ãããŒã¯ããŒã«ã¯æ¬¡ã®éèŠãªããã©ãŒãã³ã¹ææšã®çµ±èšã枬å®ããã³èšç®ããŸãã
åæåæé
ãŠã©ãŒã ã¢ããç¶æ ã®æšè«æé
å®åžžç¶æ ã®æšè«æé
åæåæã®ã¡ã¢ãªäœ¿çšé
å šäœçãªã¡ã¢ãªäœ¿çšé
ãã³ãããŒã¯ããŒã«ã¯ãAndroid ãš iOS ã®ãã³ãããŒã¯ã¢ããªãããã³ããã€ãã£ãã³ãã³ãã©ã€ã³ãã€ããªãšããŠå©çšã§ããŸãããã¹ãŠåäžã®ã³ã¢ããã©ãŒãã³ã¹æž¬å®ããžãã¯ãå ±æããŸããã©ã³ã¿ã€ã ç°å¢ã®éãã«ãããå©çšå¯èœãªãªãã·ã§ã³ãšåºå圢åŒããããã«ç°ãªãããšã«æ³šæããŠãã ããã
Android ãã³ãããŒã¯ã¢ããª
Android ã§ãã³ãããŒã¯ããŒã«ã䜿çšããã«ã¯ã2ã€ã®ãªãã·ã§ã³ããããŸãã1ã€ç®ã¯ãã€ãã£ããã³ãããŒã¯ãã€ããªã§ã2ã€ç®ã¯ Android ãã³ãããŒã¯ã¢ããªã§ããããã¯ãã¢ãã«ãã¢ããªã§ã©ã®ããã«æ©èœããããããæ£ç¢ºã«ææ¡ããããã®ãã®ã§ãããããã®å Žåãããã³ãããŒã¯ããŒã«ã®æ°å€ã¯ãå®éã®ã¢ããªã§ã¢ãã«ã䜿çšããŠæšè«ãå®è¡ããå Žåãšã¯å°ãç°ãªããŸãã
ãã® Android ãã³ãããŒã¯ã¢ããªã«ã¯ UI ããããŸãããadbã³ãã³ãã䜿çšããŠã€ã³ã¹ããŒã«ããã³å®è¡ããadb logcatã³ãã³ãã䜿çšããŠçµæãååŸããŸãã
ã¢ããªãããŠã³ããŒããŸãã¯ãã«ããã
以äžã®ãªã³ã¯ã䜿çšããŠããã€ããªãŒãã«ãã® Android ãã³ãããŒã¯ã¢ããªãããŠã³ããŒãããŸãã
android_aarch64
android_arm
Flex ããªã²ãŒããä»ã㊠TF æŒç®ããµããŒããã Android ãã³ãããŒã¯ã¢ããªã¯ã以äžã®ãªã³ã¯ãã¯ãªãã¯ããŠãã ããã
android_aarch64
android_arm
ãŸãããããã®èª¬æã«åŸã£ãŠããœãŒã¹ããã¢ããªããã«ãããããšãã§ããŸãã
泚ïŒx86 CPU ãŸã㯠Hexagon ããªã²ãŒãã§ Android ãã³ãããŒã¯ apk ãå®è¡ããå ŽåããŸãã¯ã¢ãã«ã« Select TF æŒç®åãŸãã¯ã«ã¹ã¿ã æŒç®åãå«ãŸããŠããå Žåã¯ããœãŒã¹ããã¢ããªããã«ãããå¿ èŠããããŸãã
ãã³ãããŒã¯ãæºåãã
ãã³ãããŒã¯ã¢ããªãå®è¡ããåã«ãã¢ããªãã€ã³ã¹ããŒã«ããæ¬¡ã®ããã«ã¢ãã«ãã¡ã€ã«ãããã€ã¹ã«ããã·ã¥ããŸãã
ãã³ãããŒã¯ãå®è¡ãã
graphã¯å¿ é ãã©ã¡ãŒã¿ã§ãã
graph: string TFLite ã¢ãã«ãã¡ã€ã«ãžã®ãã¹ã
ãã³ãããŒã¯ãå®è¡ããããã®ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãããã«æå®ã§ããŸãã
num_threads: int (ããã©ã«ã=1) TFLite ã€ã³ã¿ãŒããªã¿ã®å®è¡ã«äœ¿çšããã¹ã¬ããã®æ°ã
use_gpu: bool (ããã©ã«ã=false) GPU ãã¬ã²ãŒãã䜿çšããã
use_nnapi: bool (ããã©ã«ã=false) NNAPI ãã¬ã²ãŒãã䜿çšããã
use_xnnpack: bool (ããã©ã«ã=false) XNNPACK ãã¬ã²ãŒãã䜿çšããã
use_hexagon: bool (ããã©ã«ã=false) Hexagon ãã¬ã²ãŒãã䜿çšããã
䜿çšããŠããããã€ã¹ã«ãã£ãŠã¯ããããã®ãªãã·ã§ã³ã®äžéšã䜿çšã§ããªãå Žåã䜿çšããŠã广ããªãå ŽåããããŸãããã³ãããŒã¯ã¢ããªã§å®è¡ã§ãããã®ä»ã®ããã©ãŒãã³ã¹ãã©ã¡ãŒã¿ã«ã€ããŠã¯ããã©ã¡ãŒã¿ãåç §ããŠãã ããã
logcatã³ãã³ãã䜿çšããŠçµæã衚瀺ããŸãã
ãã³ãããŒã¯çµæã¯æ¬¡ã®ããã«å ±åãããŸãã
ãã€ãã£ããã³ãããŒã¯ãã€ããª
ãã³ãããŒã¯ããŒã«ã¯ããã€ãã£ããã€ããªBenchmark_modelãšããŠãæäŸãããŸãããã®ããŒã«ã¯ãLinuxãMacãçµã¿èŸŒã¿ããã€ã¹ãããã³ Android ããã€ã¹ã®ã·ã§ã«ã³ãã³ãã©ã€ã³ããå®è¡ã§ããŸãã
ãã€ããªãããŠã³ããŒããŸãã¯ãã«ããã
以äžã®ãªã³ã¯ã䜿çšããŠããã€ããªãŒãã«ãã®ãã€ãã£ãã³ãã³ãã©ã€ã³ãã€ããªãããŠã³ããŒãããŸãã
linux_x86-64
linux_aarch64
linux_arm
android_aarch64
android_arm
Flex ããªã²ãŒããä»ã㊠TF æŒç®ããµããŒããã ãã€ããªâãã«ãã®ãã€ããªã¯ã以äžã®ãªã³ã¯ãã¯ãªãã¯ããŠãã ããã
linux_x86-64
linux_aarch64
linux_arm
android_aarch64
android_arm
TensorFlow Lite Hexagon ããªã²ãŒãã§ãã³ãããŒã¯ãè¡ãããã«ãå¿
èŠãª libhexagon_interface.so
ãã¡ã€ã«ïŒãã®ãã¡ã€ã«ã®è©³çްã¯ãã¡ãïŒãäºåãã«ãããŸããã察å¿ãããã©ãããã©ãŒã ã®ãã¡ã€ã«ã以äžã®ãªã³ã¯ããããŠã³ããŒããããããã¡ã€ã«ã®ååã libhexagon_interface.so
ã«å€æŽããŠãã ããã
linux_x86-64
linux_aarch64
ã³ã³ãã¥ãŒã¿ã®ãœãŒã¹ãããã€ãã£ããã³ãããŒã¯ãã€ããªããã«ãããããšãã§ããŸãã
Android NDK ããŒã«ãã§ãŒã³ã䜿çšããŠãã«ãããã«ã¯ããŸããã®ã¬ã€ãã«åŸã£ãŠãã«ãç°å¢ãã»ããã¢ãããããããã®ã¬ã€ãã§èª¬æãããŠããããã« Docker ã€ã¡ãŒãžã䜿çšããå¿ èŠããããŸãã
泚æïŒãã³ãããŒã¯ã®ããã« Android ããã€ã¹ã§ãã€ããªãçŽæ¥ããã·ã¥ããŠå®è¡ããããšãå¯èœã§ãããå®éã® Android ã¢ããªå ã§ã®å®è¡ãšæ¯èŒããŠããã©ãŒãã³ã¹ã«ããããªïŒèгå¯å¯èœãªïŒéããçããå¯èœæ§ããããŸããç¹ã«ãAndroid ã®ã¹ã±ãžã¥ãŒã©ãŒã¯ãã¹ã¬ãããšããã»ã¹ã®åªå 床ã«åºã¥ããŠåäœã調æŽããŸããããã¯ããã©ã¢ã°ã©ãŠã³ãã¢ã¯ãã£ããã£/ã¢ããªã±ãŒã·ã§ã³ãšadb shell ...ãä»ããŠå®è¡ãããéåžžã®ããã¯ã°ã©ãŠã³ããã€ããªãšã®éã§ç°ãªããŸãããã®èª¿æŽãããåäœã¯ãTensorFlow Lite ã§ãã«ãã¹ã¬ãã CPU å®è¡ãæå¹ã«ããå Žåã«æãé¡èã«ãªããŸãããããã£ãŠãããã©ãŒãã³ã¹æž¬å®ã«ã¯ Android ãã³ãããŒã¯ã¢ããªãæšå¥šãããŸãã
ãã³ãããŒã¯ãå®è¡ãã
ã³ã³ãã¥ãŒã¿ã§ãã³ãããŒã¯ãå®è¡ããã«ã¯ãã·ã§ã«ãããã€ããªãå®è¡ããŸãã
äžèšãšåããã©ã¡ãŒã¿ã®ã»ããããã€ãã£ãã³ãã³ãã©ã€ã³ãã€ããªã§äœ¿çšã§ããŸãã
ã¢ãã«æŒç®ã®ãããã¡ã€ãªã³ã°
ãã³ãããŒã¯ã¢ãã«ãã€ããªã䜿çšãããšãã¢ãã«æŒç®ã®ãããã¡ã€ã«ãäœæããåæŒç®åã®å®è¡æéãååŸããããšãã§ããŸãããããå®è¡ããã«ã¯ãåŒã³åºãäžã«ãã©ã°--enable_op_profiling=trueãbenchmark_modelã«æž¡ããŸãã詳现ã¯ãã¡ããåç §ããŠãã ããã
1åã®å®è¡ã§è€æ°ã®ããã©ãŒãã³ã¹ãªãã·ã§ã³ãå®è¡ããããã®ãã€ãã£ããã³ãããŒã¯ãã€ããª
ãŸãã1åã®å®è¡ã§è€æ°ã®ããã©ãŒãã³ã¹ãªãã·ã§ã³ããã³ãããŒã¯ããããã«äŸ¿å©ã§ã·ã³ãã«ãª C++ ãã€ããªãæäŸãããŠããŸãããã®ãã€ããªã¯ãäžåºŠã«1ã€ã®ããã©ãŒãã³ã¹ãªãã·ã§ã³ãããã³ãããŒã¯ã§ããªãåè¿°ã®ãã³ãããŒã¯ããŒã«ã«åºã¥ããŠæ§ç¯ãããŠããŸãããããã¯åäžã®ãã«ã/ã€ã³ã¹ããŒã«/å®è¡ããã»ã¹ãå ±æããŸããããã®ãã€ããªã® BUILD ã¿ãŒã²ããåã¯Benchmark_model_performance_optionsã§ãè€æ°ã®è¿œå ãã©ã¡ãŒã¿ãåããŸãããã®ãã€ããªã®éèŠãªãã©ã¡ãŒã¿ã¯æ¬¡ã®ãšããã§ãã
perf_options_list: string (ããã©ã«ã='all') ãã³ãããŒã¯ãã TFLite ããã©ãŒãã³ã¹ãªãã·ã§ã³ã®ã³ã³ãåºåããªã¹ãã
以äžã®ãªã¹ãããããã®ããŒã«çšã«ãã€ããªãŒãã«ãã®ãã€ããªãååŸã§ããŸãã
linux_x86-64
linux_aarch64
linux_arm
android_aarch64
android_arm
iOS ãã³ãããŒã¯ã¢ããª
iOS ããã€ã¹ã§ãã³ãããŒã¯ãå®è¡ããã«ã¯ããœãŒã¹ããã¢ããªããã«ãããå¿ èŠããããŸããTensorFlow Lite ã¢ãã«ãã¡ã€ã«ããœãŒã¹ããªãŒã® benchmark_data ãã£ã¬ã¯ããªã«é 眮ããBenchmark_params.jsonãã¡ã€ã«ã倿ŽããŸãããããã®ãã¡ã€ã«ã¯ã¢ããªã«ããã±ãŒãžåãããã¢ããªã¯ãã£ã¬ã¯ããªããããŒã¿ãèªã¿åããŸãã詳现ã«ã€ããŠã¯ãiOS ãã³ãããŒã¯ã¢ããªãåç §ããŠãã ããã
æ¢ç¥ã®ã¢ãã«ã®ããã©ãŒãã³ã¹ãã³ãããŒã¯
ãã®ã»ã¯ã·ã§ã³ã¯ãäžéšã® Android ããã³ iOS ããã€ã¹ã§æ¢ç¥ã®ã¢ãã«ãå®è¡ããå Žåã® TensorFlow Lite ã®ããã©ãŒãã³ã¹ãã³ãããŒã¯ã«ã€ããŠèª¬æããŸãã
Android ããã©ãŒãã³ã¹ãã³ãããŒã¯
ãããã®ããã©ãŒãã³ã¹ãã³ãããŒã¯æ°ã¯ããã€ãã£ããã³ãããŒã¯ãã€ããªã䜿çšããŠçæãããŠããŸãã
Android ãã³ãããŒã¯ã®å ŽåãCPU ã¢ãã£ããã£ã¯ãããã€ã¹ã§å€ãã³ã¢æ°ã䜿çšããŠå·®ç°ãæžããããã«èšå®ãããŠããŸãïŒè©³çްã¯ãã¡ããåç §ããŠãã ããïŒã
ã¢ãã«ãããŠã³ããŒãããã/data/local/tmp/tflite_modelsãã£ã¬ã¯ããªã«è§£åãããããšãæ³å®ãããŸãããã³ãããŒã¯ãã€ããªã¯ããããã®æç€ºã䜿çšããŠæ§ç¯ããã/data/local/tmpãã£ã¬ã¯ããªã«ãããšæ³å®ãããŸãã
ãã³ãããŒã¯ã®å®è¡ïŒ
nnapi ããªã²ãŒãã§å®è¡ããã«ã¯ã-use_nnapi = trueãèšå®ããŸããGPU ããªã²ãŒãã§å®è¡ããã«ã¯ã-use_gpu = trueãèšå®ããŸãã
以äžã®ããã©ãŒãã³ã¹å€ã¯ Android 10 ã§æž¬å®ãããŠããŸãã
ã¢ãã«å | ããã€ã¹ | CPUã4 ã¹ã¬ãã | GPU | NNAPI |
---|---|---|---|---|
Mobilenet_1.0_224(float) | Pixel 3 | 23.9 ms | 6.45 ms | 13.8 ms |
Pixel 4 | 14.0 ms | 9.0 ms | 14.8 ms | |
Mobilenet_1.0_224 (quant) | Pixel 3 | 13.4 ms | --- | 6.0 ms |
Pixel 4 | 5.0 ms | --- | 3.2 ms | |
NASNet mobile | Pixel 3 | 56 ms | --- | 102 ms |
Pixel 4 | 34.5 ms | --- | 99.0 ms | |
SqueezeNet | Pixel 3 | 35.8 ms | 9.5 ms | 18.5 ms |
Pixel 4 | 23.9 ms | 11.1 ms | 19.0 ms | |
Inception_ResNet_V2 | Pixel 3 | 422 ms | 99.8 ms | 201 ms |
Pixel 4 | 272.6 ms | 87.2 ms | 171.1 ms | |
Inception_V4 | Pixel 3 | 486 ms | 93 ms | 292 ms |
Pixel 4 | 324.1 ms | 97.6 ms | 186.9 ms |
iOS ããã©ãŒãã³ã¹ãã³ãããŒã¯
ãããã®ããã©ãŒãã³ã¹ãã³ãããŒã¯ã®æ°å€ã¯ãiOS ãã³ãããŒã¯ã¢ããªã䜿çšããŠçæãããŠããŸãã
iOS ãã³ãããŒã¯ãå®è¡ããããã«ãé©åãªã¢ãã«ãå«ããããã«ãã³ãããŒã¯ã¢ããªã倿Žãããnum_threadsã2ã«èšå®ããããã«benchmark_params.jsonã倿ŽãããŸããããŸããGPU ããªã²ãŒãã䜿çšããããã«ã"use_gpu" : "1"ããã³"gpu_wait_type" : "aggressive"ãªãã·ã§ã³ãbenchmark_params.jsonã«è¿œå ãããŸãã ã
ã¢ãã«å | ããã€ã¹ | CPUã2 ã¹ã¬ãã | GPU |
---|---|---|---|
Mobilenet_1.0_224(float) | iPhone XS | 14.8 ms | 3.4 ms |
Mobilenet_1.0_224 (quant) | iPhone XS | 11 ms | --- |
NASNet mobile | iPhone XS | 30.4 ms | --- |
SqueezeNet | iPhone XS | 21.1 ms | 15.5 ms |
Inception_ResNet_V2 | iPhone XS | 261.1 ms | 45.7 ms |
Inception_V4 | iPhone XS | 309 ms | 54.4 ms |
TensorFlow Lite ã®å éšããã¬ãŒã¹ãã
Android ã§ TensorFlow Lite ã®å éšããã¬ãŒã¹ãã
泚æ: ãã®æ©èœã¯ Tensorflow Lite v2.4 以éã§å©çšã§ããŸãã
Android ã¢ããªã® TensorFlow Lite ã€ã³ã¿ãŒããªã¿ããã®å éšã€ãã³ãã¯ãAndroid ãã¬ãŒã¹ããŒã«ã§ãã£ããã£ã§ããŸãããã㯠Android Trace API ãšåãã€ãã³ãã§ãããããJava/Kotlin ã³ãŒããããã£ããã£ãããã€ãã³ã㯠TensorFlow Lite å éšã€ãã³ããšå ±ã«è¡šç€ºãããŸãã
ã€ãã³ãã®äŸã¯æ¬¡ã®ãšããã§ãã
æŒç®åã®åŒã³åºã
ããªã²ãŒãã«ããã°ã©ãã®å€æŽ
ãã³ãœã«ã®å²ãåœãŠ
ãã¬ãŒã¹ããã£ããã£ãããªãã·ã§ã³ã¯è€æ°ãããŸãããæ¬ã¬ã€ãã§ã¯ Android Studio CPU Profiler ãšã·ã¹ãã ãã¬ãŒã¹ã¢ããªã«ã€ããŠèª¬æããŸãããã®ä»ã®ãªãã·ã§ã³ã«ã€ããŠã¯ãPerfetto ã³ãã³ãã©ã€ã³ããŒã«ãŸã㯠Systrace ã³ãã³ãã©ã€ã³ããŒã«ãåç §ããŠãã ããã
Java ã³ãŒãã«ãã¬ãŒã¹ã€ãã³ãã远å ãã
ããã¯ãç»ååé¡ãµã³ãã«ã¢ããªã®ã³ãŒãã¹ããããã§ããTensorFlow Lite ã€ã³ã¿ãŒããªã¿ã¯ãrecognizeImage/runInferenceã»ã¯ã·ã§ã³ã§å®è¡ãããŸãããã®æé ã¯ãªãã·ã§ã³ã§ãããæšè«åŒã³åºããè¡ãããå Žæã確èªããã®ã«åœ¹ç«ã¡ãŸãã
TensorFlow Lite ãã¬ãŒã¹ãæå¹ã«ãã
TensorFlow Lite ãã¬ãŒã¹ãæå¹ã«ããã«ã¯ãAndroid ã¢ããªãèµ·åããåã«ãAndroid ã·ã¹ãã ããããã£ã® debug.tflite.trace
ã1ã«èšå®ããŸãã
TensorFlow Lite ã€ã³ã¿ãŒããªã¿ã®åæåæã«ãã®ããããã£ãèšå®ãããŠããå Žåãã€ã³ã¿ãŒããªã¿ããã®äž»èŠãªã€ãã³ãïŒæŒç®åã®åŒã³åºããªã©ïŒããã¬ãŒã¹ãããŸãã
ãã¹ãŠã®ãã¬ãŒã¹ããã£ããã£ããããããããã£å€ã0ã«èšå®ããŠãã¬ãŒã¹ãç¡å¹ã«ããŸãã
Android Studio CPU Profiler
以äžã®æé ã«åŸã£ãŠãAndroid Studio CPU Profiler ã§ãã¬ãŒã¹ããã£ããã£ããŸãã
ãããã¡ãã¥ãŒããå®è¡>ãããã¡ã€ã«ãã¢ããªããéžæããŸãã
ãããã¡ã€ã©ãŒãŠã£ã³ããŠã衚瀺ãããããCPU ã¿ã€ã ã©ã€ã³ã®ä»»æã®å Žæãã¯ãªãã¯ããŸãã
CPU ãããã¡ã€ãªã³ã°ã¢ãŒããããã·ã¹ãã ã³ãŒã«ã®ãã¬ãŒã¹ããéžæããŸãã
ãèšé²ããã¿ã³ãæŒããŸãã
ã忢ããã¿ã³ãæŒããŸãã
ãã¬ãŒã¹çµæã調æ»ããŸãã
ãã®äŸã§ã¯ãã¹ã¬ããå ã®ã€ãã³ãã®éå±€ãšåæŒç®åã®æéã®çµ±èšãããã³ãã¹ã¬ããéã®ã¢ããªå šäœã®ããŒã¿ãããŒã確èªã§ããŸãã
ã·ã¹ãã ãã¬ãŒã¹ã¢ããª
Android Studio ã䜿çšããã«ãã¬ãŒã¹ããã£ããã£ããã«ã¯ã·ã¹ãã ãã¬ãŒã¹ã¢ããªã§è©³ãã説æãããŠããæé ã«åŸããŸãã
ãã®äŸã§ã¯ãåã TFLite ã€ãã³ãããã£ããã£ãããAndroid ããã€ã¹ã®ããŒãžã§ã³ã«å¿ããŠãPerfetto ãŸã㯠Systrace 圢åŒã§ä¿åãããŸããããã£ããã£ããããã¬ãŒã¹ãã¡ã€ã«ã¯ãPerfetto UI ã§éãããšãã§ããŸãã
iOS ã§ TensorFlow Lite ã®å éšããã¬ãŒã¹ãã
泚æ: ãã®æ©èœã¯ Tensorflow Lite v2.5 以éã§å©çšã§ããŸãã
iOS ã¢ããªã® TensorFlow Lite ã€ã³ã¿ãŒããªã¿ãŒããã®å éšã€ãã³ãã¯ãXcode ã«å«ãŸãã Instruments ããŒã«ã§ãã£ããã£ã§ããŸãããã㯠iOS ã® Signpost ã€ãã³ãã§ãããããSwift/Objective-C ã³ãŒããããã£ããã£ãããã€ãã³ãã¯ãTensorFlow Lite å éšã€ãã³ããšå ±ã«è¡šç€ºãããŸãã
ã€ãã³ãã®äŸã¯æ¬¡ã®ãšããã§ãã
æŒç®åã®åŒã³åºã
ããªã²ãŒãã«ããã°ã©ãã®å€æŽ
ãã³ãœã«ã®å²ãåœãŠ
TensorFlow Lite ãã¬ãŒã¹ãæå¹ã«ãã
以äžã®æé ã«åŸã£ãŠãç°å¢å€æ° debug.tflite.trace
ãèšå®ããŸãã
Xcode ã®ãããã¡ãã¥ãŒãã Product > Scheme > Edit Scheme... ãéžæããŸãã
å·Šãã€ã³ã® 'Profile' ãã¯ãªãã¯ããŸãã
'Use the Run action's arguments and environment variables' ãã§ãã¯ããã¯ã¹ããªãã«ããŸãã
'Environment Variables' ã»ã¯ã·ã§ã³ã«
debug.tflite.trace
ã远å ããŸãã
iOS ã¢ããªããããã¡ã€ãªã³ã°ããéã« TesorFlow Lite ã€ãã³ããé€å€ããå Žåã¯ãç°å¢å€æ°ãåé€ããŠãã¬ãŒã¹ãç¡å¹ã«ããŸãã
XCode Instruments
以äžã®æé ã«åŸã£ãŠããã¬ãŒã¹ããã£ããã£ããŸãã
Xcode ã®ãããã¡ãã¥ãŒãã Product > Profile ãéžæããŸãã
Instruments ããŒã«ãèµ·åããéã«ããããã¡ã€ãªã³ã°ãã³ãã¬ãŒãã®äžãã Logging ãã¯ãªãã¯ããŸãã
'Start' ãã¿ã³ãæŒããŸãã
ã忢ããã¿ã³ãæŒããŸãã
'os_signpost' ãã¯ãªãã¯ããŠãOS Logging ã®ãµãã·ã¹ãã ã¢ã€ãã ãå±éããŸãã
'org.tensorflow.lite' OS Logging ãµãã·ã¹ãã ãã¯ãªãã¯ããŸãã
ãã¬ãŒã¹çµæã調æ»ããŸãã
ãã®äŸã§ã¯ãæŒç®åã®æéããšã«ã€ãã³ããšçµ±èšã®éå±€ã衚瀺ãããŸãã
ãã¬ãŒã¹ããŒã¿ã®äœ¿çš
ãã¬ãŒã¹ããŒã¿ã䜿çšãããšãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ã§ããŸãã
以äžã¯ãããã¡ã€ã©ãŒããåŸãããæŽå¯ãšããã©ãŒãã³ã¹ãåäžãããããã®æœåšçãªãœãªã¥ãŒã·ã§ã³ã®äŸã§ãã
䜿çšå¯èœãª CPU ã³ã¢ã®æ°ãæšè«ã¹ã¬ããã®æ°ãããå°ãªãå ŽåãCPU ã¹ã±ãžã¥ãŒãªã³ã°ã®ãªãŒããŒããããããã©ãŒãã³ã¹ãäœäžãããå¯èœæ§ããããŸããã¢ããªã§ä»ã® CPU ãéäžçã«äœ¿çšããã¿ã¹ã¯ãåã¹ã±ãžã¥ãŒã«ããã¢ãã«ã®æšè«ãšã®éè€ãåé¿ããããã€ã³ã¿ãŒããªã¿ãŒã¹ã¬ããã®æ°ã埮調æŽãããã§ããŸãã
æŒç®åãå®å šã«ãã¬ã²ãŒããããŠããªãå Žåãã¢ãã«ã°ã©ãã®äžéšã¯ãæåŸ ãããããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã¿ã§ã¯ãªããCPU ã§å®è¡ãããŸãããµããŒããããŠããªãæŒç®åã¯ãåæ§ã®ãµããŒããããŠããæŒç®åã«çœ®ãæããŸãã