์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

Ultralytics YOLO ๋ชจ๋ธ์— ๋Œ€ํ•œ OpenVINO ์ถ”๋ก  ์ตœ์ ํ™”ํ•˜๊ธฐ: ์ข…ํ•ฉ ๊ฐ€์ด๋“œ

OpenVINO ์—์ฝ”์‹œ์Šคํ…œ

์†Œ๊ฐœ

When deploying deep learning models, particularly those for object detection such as Ultralytics YOLO models, achieving optimal performance is crucial. This guide delves into leveraging Intel's OpenVINO toolkit to optimize inference, focusing on latency and throughput. Whether you're working on consumer-grade applications or large-scale deployments, understanding and applying these optimization strategies will ensure your models run efficiently on various devices.

์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™”

์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™”๋Š” ์†Œ๋น„์ž ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋‹จ์ผ ์ž…๋ ฅ์— ๋Œ€ํ•ด ๋‹จ์ผ ๋ชจ๋ธ์˜ ์ฆ‰๊ฐ์ ์ธ ์‘๋‹ต์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ์ž…๋ ฅ๊ณผ ์ถ”๋ก  ๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ง€์—ฐ์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์งง์€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋‹ฌ์„ฑํ•˜๋ ค๋ฉด ํŠนํžˆ ๋™์‹œ ์ถ”๋ก ์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ๋ชจ๋ธ์„ ๊ด€๋ฆฌํ•  ๋•Œ ์‹ ์ค‘ํ•œ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ฃผ์š” ์ „๋žต:

  • ๋””๋ฐ”์ด์Šค๋‹น ๋‹จ์ผ ์ถ”๋ก : ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ๋””๋ฐ”์ด์Šค๋‹น ํ•œ ๋ฒˆ์— ํ•œ ๋ฒˆ์˜ ์ถ”๋ก ์œผ๋กœ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™์‹œ์„ฑ์ด ์ฆ๊ฐ€ํ•˜๋ฉด ์ง€์—ฐ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์œ„ ์žฅ์น˜ ํ™œ์šฉ: ๋ฉ€ํ‹ฐ ์†Œ์ผ“ CPU ๋˜๋Š” ๋ฉ€ํ‹ฐ ํƒ€์ผ GPU์™€ ๊ฐ™์€ ์žฅ์น˜๋Š” ๋‚ด๋ถ€ ํ•˜์œ„ ์žฅ์น˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง€์—ฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • OpenVINO ์„ฑ๋Šฅ ํžŒํŠธ: OpenVINO ์˜ ov::hint::PerformanceMode::LATENCY ์— ๋Œ€ํ•œ ov::hint::performance_mode ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋ธ ์ปดํŒŒ์ผ ์ค‘ ์„ฑ๋Šฅ ํŠœ๋‹์ด ๊ฐ„์†Œํ™”๋˜์–ด ๊ธฐ๊ธฐ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ๋ฏธ๋ž˜์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ถ”๋ก  ์ง€์—ฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ:

  • ๋ชจ๋ธ ์บ์‹ฑ: ์ง€์—ฐ ์‹œ๊ฐ„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ชจ๋ธ ๋กœ๋“œ ๋ฐ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์„ ์ค„์ด๋ ค๋ฉด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋ชจ๋ธ ์บ์‹ฑ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์บ์‹ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ CPU๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅธ ๋ชจ๋ธ ๋กœ๋“œ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ ๋งคํ•‘ ๋Œ€ ์ฝ๊ธฐ: ๋กœ๋“œ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด OpenVINO ์—์„œ ๋ชจ๋ธ ์ฝ๊ธฐ๋ฅผ ๋งคํ•‘์œผ๋กœ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋ธ์ด ์ด๋™์‹ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ์— ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ov::enable_mmap(false) ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‹ค์‹œ ์ฝ๊ธฐ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž๋™ ์žฅ์น˜ ์„ ํƒ: ์ด ๋ชจ๋“œ๋Š” CPU ์—์„œ ์ถ”๋ก ์„ ์‹œ์ž‘ํ•˜๊ณ  ์ค€๋น„๊ฐ€ ๋˜๋ฉด ๊ฐ€์†๊ธฐ๋กœ ์ „ํ™˜ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ถ”๋ก  ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์›ํ™œํ•˜๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค.

์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”

์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”๋Š” ์ˆ˜๋งŽ์€ ์ถ”๋ก  ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ๊ฐœ๋ณ„ ์š”์ฒญ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด์„œ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹:

  1. OpenVINO ์„ฑ๋Šฅ ํžŒํŠธ: ์„ฑ๋Šฅ ํžŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋””๋ฐ”์ด์Šค์—์„œ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋†’์€ ์ˆ˜์ค€์˜ ๋ฏธ๋ž˜ ์ง€ํ–ฅ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

    import openvino.properties.hint as hints
    
    config = {hints.performance_mode: hints.PerformanceMode.THROUGHPUT}
    compiled_model = core.compile_model(model, "GPU", config)
    
  2. ๋ช…์‹œ์  ๋ฐฐ์น˜ ๋ฐ ์ŠคํŠธ๋ฆผ: ๊ณ ๊ธ‰ ์„ฑ๋Šฅ ํŠœ๋‹์„ ์œ„ํ•œ ๋ช…์‹œ์  ์ผ๊ด„ ์ฒ˜๋ฆฌ ๋ฐ ์ŠคํŠธ๋ฆผ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ ๋ณด๋‹ค ์„ธ๋ถ„ํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ฒ˜๋ฆฌ๋Ÿ‰ ์ง€ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„:

์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ตœ๋Œ€ํ™”ํ•˜๋ ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • ๊ธฐ๊ธฐ์˜ ๊ธฐ๋Šฅ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์—ฌ ์ž…๋ ฅ์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋ณ‘๋ ฌ ์‹คํ–‰์„ ์œ„ํ•ด ์˜ˆ์•ฝ๋œ ๋™์‹œ ์ถ”๋ก  ์š”์ฒญ์œผ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝœ๋ฐฑ์ด ํฌํ•จ๋œ ๋น„๋™๊ธฐ API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํšจ์œจ์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๋””๋ฐ”์ด์Šค ๊ณ ๊ฐˆ์„ ๋ฐฉ์ง€ํ•˜์„ธ์š”.

๋‹ค์ค‘ ์žฅ์น˜ ์‹คํ–‰:

OpenVINO์˜ ๋ฉ€ํ‹ฐ ๋””๋ฐ”์ด์Šค ๋ชจ๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ ๋””๋ฐ”์ด์Šค ๊ด€๋ฆฌ ์—†์ด๋„ ๋””๋ฐ”์ด์Šค ๊ฐ„ ์ถ”๋ก  ์š”์ฒญ์˜ ๊ท ํ˜•์„ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•˜์—ฌ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ™•์žฅ์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

Ultralytics YOLO ๋ชจ๋ธ์„ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ ์ฒ˜๋ฆฌ๋Ÿ‰์— ๋งž๊ฒŒ ์ตœ์ ํ™”ํ•˜๋ฉด OpenVINO ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ์— ์„ค๋ช…๋œ ์ „๋žต์„ ์‹ ์ค‘ํ•˜๊ฒŒ ์ ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋ธ์ด ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰๋˜์–ด ๋‹ค์–‘ํ•œ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™” ๋˜๋Š” ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™” ์ค‘ ์–ด๋–ค ๊ฒƒ์„ ์„ ํƒํ• ์ง€๋Š” ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ๋ฐฐํฌ ํ™˜๊ฒฝ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.

์ž์„ธํ•œ ๊ธฐ์ˆ  ์ •๋ณด์™€ ์ตœ์‹  ์—…๋ฐ์ดํŠธ๋Š” OpenVINO ๋ฌธ์„œ์™€ Ultralytics YOLO ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค์—์„œ๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹ฌ์ธต์ ์ธ ๊ฐ€์ด๋“œ, ํŠœํ† ๋ฆฌ์–ผ ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๋ชจ๋ธ์ด ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ๋‹จ์ˆœํžˆ ๊ตฌ์„ฑ์„ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ณ  ์ •๋ณด์— ์ž…๊ฐํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ์‘๋‹ต์„ ์ตœ์ ํ™”ํ•˜๋“  ๋Œ€๊ทœ๋ชจ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๊ทน๋Œ€ํ™”ํ•˜๋“ , Ultralytics YOLO ๋ชจ๋ธ๊ณผ OpenVINO ์˜ ์กฐํ•ฉ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ณ ์„ฑ๋Šฅ AI ์†”๋ฃจ์…˜์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํˆดํ‚ท์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

OpenVINO ์„ ์‚ฌ์šฉํ•˜์—ฌ ์งง์€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์œ„ํ•ด Ultralytics YOLO ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

์งง์€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์œ„ํ•ด Ultralytics YOLO ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์ „๋žต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:

  1. ์žฅ์น˜๋‹น ๋‹จ์ผ ์ถ”๋ก : ์ง€์—ฐ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋””๋ฐ”์ด์Šค๋‹น ์ถ”๋ก ์„ ํ•œ ๋ฒˆ์— ํ•œ ๋ฒˆ์œผ๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•˜์œ„ ์žฅ์น˜ ํ™œ์šฉ: ์ง€์—ฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ€ํ‹ฐ ์†Œ์ผ“ CPU ๋˜๋Š” ๋ฉ€ํ‹ฐ ํƒ€์ผ GPU์™€ ๊ฐ™์€ ์žฅ์น˜๋ฅผ ํ™œ์šฉํ•˜์„ธ์š”.
  3. OpenVINO ์„ฑ๋Šฅ ํžŒํŠธ: OpenVINO ์‚ฌ์šฉ ov::hint::PerformanceMode::LATENCY ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ ์ปดํŒŒ์ผ ์ค‘์— ๋””๋ฐ”์ด์Šค์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ํŠœ๋‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™”์— ๋Œ€ํ•œ ๋ณด๋‹ค ์‹ค์šฉ์ ์ธ ํŒ์€ ๊ฐ€์ด๋“œ์˜ ์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™” ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Ultralytics YOLO ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด OpenVINO ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

OpenVINO ์„ฑ๋Šฅ ์ €ํ•˜ ์—†์ด ๋””๋ฐ”์ด์Šค ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜์—ฌ Ultralytics YOLO ๋ชจ๋ธ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ฃผ์š” ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์„ฑ๋Šฅ ํžŒํŠธ: ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ์—์„œ ๊ฐ„๋‹จํ•˜๊ณ  ๋†’์€ ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ ํŠœ๋‹.
  • ๋ช…์‹œ์  ์ผ๊ด„ ์ฒ˜๋ฆฌ ๋ฐ ์ŠคํŠธ๋ฆผ: ๊ณ ๊ธ‰ ์„ฑ๋Šฅ์„ ์œ„ํ•œ ๋ฏธ์„ธ ์กฐ์ •.
  • ๋ฉ€ํ‹ฐ ๋””๋ฐ”์ด์Šค ์‹คํ–‰: ์ž๋™ํ™”๋œ ์ถ”๋ก  ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ„ํŽธํ•ด์ง‘๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์˜ˆ์‹œ:

import openvino.properties.hint as hints

config = {hints.performance_mode: hints.PerformanceMode.THROUGHPUT}
compiled_model = core.compile_model(model, "GPU", config)

์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ƒ์„ธ ๊ฐ€์ด๋“œ์˜ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™” ์„น์…˜์—์„œ ํ™•์ธํ•˜์„ธ์š”.

OpenVINO ์—์„œ ์ฒซ ๋ฒˆ์งธ ์ถ”๋ก  ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ฒซ ๋ฒˆ์งธ ์ถ”๋ก  ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๋ ค๋ฉด ๋‹ค์Œ ์‚ฌ๋ก€๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š”:

  1. ๋ชจ๋ธ ์บ์‹ฑ: ๋ชจ๋ธ ์บ์‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œ ๋ฐ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์„ ์ค„์ž…๋‹ˆ๋‹ค.
  2. ๋ชจ๋ธ ๋งคํ•‘ ๋Œ€ ์ฝ๊ธฐ: ๋งคํ•‘ ์‚ฌ์šฉ(ov::enable_mmap(true))๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ฝ๊ธฐ(ov::enable_mmap(false)) ๋ชจ๋ธ์ด ์ด๋™์‹ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ์— ์žˆ๋Š” ๊ฒฝ์šฐ.
  3. ์ž๋™ ์žฅ์น˜ ์„ ํƒ: ์ž๋™ ๋ชจ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ CPU ์ถ”๋ก ์œผ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ€์†๊ธฐ๋กœ ์›ํ™œํ•˜๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ถ”๋ก  ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ „๋žต์€ ์ฒซ ๋ฒˆ์งธ ์ถ”๋ก  ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š” Ultralytics YOLO ์™€ OpenVINO?

์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋ ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • ์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™”: ์ฆ‰๊ฐ์ ์ธ ์‘๋‹ต์ด ํ•„์š”ํ•œ ์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์˜ˆ: ์†Œ๋น„์ž ๋“ฑ๊ธ‰ ์•ฑ)์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.
  • ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”: ๋™์‹œ ์ถ”๋ก ์ด ๋งŽ์€ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๊ฐ€์žฅ ์ ํ•ฉํ•˜๋ฉฐ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋Œ€๊ทœ๋ชจ ๋ฐฐํฌ).

OpenVINO ์˜ ๊ณ ๊ธ‰ ์„ฑ๋Šฅ ํžŒํŠธ์™€ ๋ฉ€ํ‹ฐ ๋””๋ฐ”์ด์Šค ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ ์ ˆํ•œ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ OpenVINO ์„ฑ๋Šฅ ํžŒํŠธ๋ฅผ ์„ ํƒํ•˜์„ธ์š”.

OpenVINO ์™ธ์— ๋‹ค๋ฅธ AI ํ”„๋ ˆ์ž„์›Œํฌ์™€ ํ•จ๊ป˜ Ultralytics YOLO ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

์˜ˆ, Ultralytics YOLO ๋ชจ๋ธ์€ ๋งค์šฐ ๋‹ค์žฌ๋‹ค๋Šฅํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ AI ํ”„๋ ˆ์ž„์›Œํฌ์™€ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

Ultralytics ํ†ตํ•ฉ ํŽ˜์ด์ง€์—์„œ ๋” ๋งŽ์€ ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ์‚ดํŽด๋ณด์„ธ์š”.


๐Ÿ“… Created 7 months ago โœ๏ธ Updated 20 days ago

๋Œ“๊ธ€