Repository files navigation ๐ TFLite ๋ชจ๋ธ ๋ฒค์น๋งํฌ ํ
์คํธ ๊ฐ์ด๋
์ด ๋ฌธ์๋ TensorFlow Lite(TFLite) ๋ชจ๋ธ์ ์ฑ๋ฅ(์ถ๋ก ์๊ฐ, ๋ฆฌ์์ค ์ฌ์ฉ๋ ๋ฑ)์ ์ ๋์ ์ผ๋ก ์ธก์ ํ๊ธฐ ์ํ TFLite Benchmark Tool ์ฌ์ฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.
Benchmark ๊ฒฐ๊ณผ ํ๋ฉด
์ฃผ์ ์งํ ์ค๋ช
[๊ทธ๋ฆผ 1] TFLite ์ฑ๋ฅ ์ธก์ ๋ฉ์ธ ๊ฒฐ๊ณผ
๐ ๋ชจ๋ธ ๋ก๋ ๋ฐ ์คํ โข Select Model (.tflite): ํ์ต๋ tflite ๋ชจ๋ธ์ ์ ํํ์ฌ ๋ก๋
โข Run Benchmark: ๋ก๋๋ tflite ๋ชจ๋ธ์ ๋์์ผ๋ก ์ข
ํฉ ํ๋กํ์ผ๋ง ๋ฐ์ดํฐ ์ฐ์ถ (Benchmark summary ์ฐธ๊ณ )
โ๏ธ ์คํ ์ค์ [Current Settings] ๋ฒค์น๋งํฌ ์ํ ์ ์ ์ฉ๋ ํ๊ฒฝ ์ค์ ๊ฐ์
๋๋ค.
๋ชจ๋ธ ์ฑ๋ฅ์ ์ธก์ ํ๊ธฐ ์ , CPU ๋ฆฌ์์ค ํ ๋น ๋ฐ ํ๋์จ์ด ๊ฐ์ ์ต์
์ ์ ์ํ๋ ค๋ฉด ์ฐ์ธก ์๋จ โ๏ธ๋ฅผ ๋๋ฌ์ฃผ์ธ์. [๊ทธ๋ฆผ2] ์ฐธ์กฐ
โข Threads (1) : ์ถ๋ก ์ ํ์ฉ๋ CPU ์ฝ์ด ์
โข Target FPS (30.0) : ๋ชฉํ ์ด๋น ํ๋ ์ ์
โข Warm-up Runs (10) : ์ธก์ ์ ์์ ํ ์คํ ํ์
โข Benchmark Runs (50) : ์ค์ ํต๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ถํ๊ธฐ ์ํด ๋ฐ๋ณต ์คํํ ํ์
๐ ๋ฒค์น๋งํฌ ์์ฝ [Benchmark Summary] โข Model Name: ํ
์คํธ์ ์ฌ์ฉ๋ .tflite ๋ชจ๋ธ ํ์ผ๋ช
โข Model Size: ๊ธฐ๊ธฐ์ ์ ์ฅ๋ ๋ชจ๋ธ ํ์ผ์ ๋ฌผ๋ฆฌ์ ์ฉ๋
โข Inference Time: 1ํ ์ถ๋ก ํ๊ท ์๊ฐ
โข Actual FPS: ์ค์ ์ธก์ ๋ ์ด๋น ํ๋ ์ ์
โข CPU Usage: ๋ชจ๋ธ ์คํ ์ค CPU์ ๊ฐํด์ง๋ ์ฐ์ฐ ๋ถํ์จ
โข Memory Usage: ์ ์ ์ค์ธ RAM ์ฉ๋
โข CPU Freq: ๋ฒค์น๋งํฌ ์ค CPU๊ฐ ์ต๋ ํด๋ญ ์ฑ๋ฅ์ ์ผ๋ง๋ ์ ์งํ๋์ง
[โIMPORTANTโ] ๐จ ์ ํํ ์ธก์ ์ ์ํ ํ๋
ํ๊ฒฝ ์ค์ ๐จ
1. ์ ์ ๊ด๋ฆฌ: ์ฑ๋ฅ ์ ํ(Throttling) ๋ฐฉ์ง๋ฅผ ์ํด ๋ฐฐํฐ๋ฆฌ ์ ์ ๋ชจ๋ ๋นํ์ฑํ ๊ถ์ฅ
2. ์ด ๊ด๋ฆฌ: ๋ฐ์ด๋ก ์ธํ ํ๋์จ์ด ์ฑ๋ฅ ์ ํ๋ฅผ ๋ง๊ธฐ ์ํด ๊ธฐ๊ธฐ๊ฐ ๋๊ฐ๋ ์ํ์์ ์ธก์ ๊ถ์ฅ
3. ์ ๋ ฅ ๊ณต๊ธ: ์ ์ ๋ณ๋ ์๋ ์ผ์ ํ ์ถ๋ ฅ์ ์ํด ์ถฉ์ ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ ์ํ์์ ์งํํ ๊ฒ์ ๊ถ์ฅ
4. ์ ๋ฐ๋ ํ๋ณด: ย ย ย ย โข Inference Time์ ๋งค ์คํ ์ ๋ณ๋์ฑ์ด ๋ฐ์ํ ์ ์์ด CPU ์ต๋ ํด๋ญ(100.00%) ์ ์ง ์ํ์์ ์งํ ๊ถ์ฅ
ย ย ย ย โข ๋ฐ์ดํฐ์ ์ ๋ฐ๋๋ฅผ ์ํด 10ํ ์ ๋ ๋ฐ๋ณต ์ํ ํ ํ๊ท ๊ฐ์ผ๋ก ํ์ฐ์ ๊ถ์ฅ
Benchmark ์ค์ ํ๋ฉด
์ฃผ์ ์งํ ์ค๋ช
[๊ทธ๋ฆผ 2] Benchmark Setting ์์ ๊ฐ๋ฅ ํ๋ฉด
๐ ๏ธ ๋ฒค์น๋งํฌ ์ค์ [Benchmark Setting]
1. ๊ธฐ๋ณธ ์คํ ์ค์
๋ชจ๋ธ์ด ๊ตฌ๋๋๋ ๋ฌผ๋ฆฌ์ ํ๊ฒฝ์ ์ค์ ํฉ๋๋ค.
Number of Threads (1): ์ถ๋ก (Inference) ํ๋ก์ธ์ค์ ํ ๋นํ CPU ์ฝ์ด์ ๊ฐ์
Target FPS (30.0): ์ฑ์ด ๋ชฉํ๋ก ํ๋ ์ด๋น ํ๋ ์ ์
Warm-up Runs (10): ๋ณธ๊ฒฉ์ ์ธ ์ธก์ ์ , ์บ์ ๋ก๋ ๋ฐ ํ๋์จ์ด ๊ฐ์๊ธฐ(Delegate) ์ด๊ธฐํ๋ฅผ ์ํด ์ฌ์ ์คํํ๋ ํ์
Benchmark Runs (50): ํต๊ณ์ ์ ๋ขฐ๋๋ฅผ ์ป๊ธฐ ์ํด ๋ฐ๋ณต ์ํํ ์ด ํ์
2. ๊ฐ์ ์ต์
(Acceleration Options)
๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์ ํน์ ํ๋์จ์ด๋ฅผ ํ์ฉํ์ฌ ์ฑ๋ฅ์ ๊ทน๋ํํ๋ ์ค์ ์
๋๋ค.
Use XNNPack (ON): ๋ถ๋ ์์์ (Floating-point) ๋ชจ๋ธ์ ์ํด ์ค๊ณ๋ CPU ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Use NNAPI Acceleration (OFF): ์๋๋ก์ด๋ ์ ๊ฒฝ๋ง API๋ฅผ ํตํด ํ๋์จ์ด ๊ฐ์(GPU, DSP, NPU ๋ฑ)์ ์ฌ์ฉํ ์ง ์ฌ๋ถ
About
A practical guide for benchmarking TensorFlow Lite (TFLite) models, covering inference performance, resource usage, and runtime configuration using the TFLite Benchmark Tool.
Topics
Resources
Stars
Watchers
Forks
You canโt perform that action at this time.