Skip to content

deepixel-inc/Tflite-Benchmark-Program

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 

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

Packages

 
 
 

Contributors