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

๋น ๋ฅธ ์‹œ์ž‘ ๊ฐ€์ด๋“œ: NVIDIA Jetson Ultralytics YOLO11

์ด ํฌ๊ด„์ ์ธ ๊ฐ€์ด๋“œ๋Š” NVIDIA Jetson ์žฅ์น˜์— Ultralytics YOLO11 ๋ฐฐํฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์•ˆ๋‚ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž‘๊ณ  ๊ฐ•๋ ฅํ•œ ์žฅ์น˜์—์„œ YOLO11 ์˜ ๊ธฐ๋Šฅ์„ ์ž…์ฆํ•˜๊ธฐ ์œ„ํ•œ ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํฌ๋„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.



Watch: NVIDIA Jetson์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• Ultralytics YOLO11

NVIDIA Jetson ์—์ฝ”์‹œ์Šคํ…œ

์ฐธ๊ณ 

์ด ๊ฐ€์ด๋“œ๋Š” ์•ˆ์ •์ ์ธ ์ตœ์‹  JetPack ๋ฆด๋ฆฌ์Šค JP6.0, JetPack ๋ฆด๋ฆฌ์Šค JP5.1.3์„ ์‹คํ–‰ํ•˜๋Š” NVIDIA Jetson Orin NX 16GB ๊ธฐ๋ฐ˜์˜ Seeed Studio ์žฌ์ปดํ“จํ„ฐ J4012์™€ NVIDIA Jetson Nano 4GB ๊ธฐ๋ฐ˜์˜ Seeed Studio ์žฌ์ปดํ“จํ„ฐ J1020 v2 JetPack ๋ฆด๋ฆฌ์Šค JP4.6.1์„ ์‹คํ–‰ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฐ ๋ ˆ๊ฑฐ์‹œ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  NVIDIA Jetson ํ•˜๋“œ์›จ์–ด ๋ผ์ธ์—…์—์„œ ์ž‘๋™ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

NVIDIA Jetson์ด๋ž€?

NVIDIA Jetson์€ ์—ฃ์ง€ ๋””๋ฐ”์ด์Šค์— ๊ฐ€์†ํ™”๋œ AI(์ธ๊ณต ์ง€๋Šฅ) ์ปดํ“จํŒ…์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ž„๋ฒ ๋””๋“œ ์ปดํ“จํŒ… ๋ณด๋“œ ์‹œ๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค. ์ด ์ž‘๊ณ  ๊ฐ•๋ ฅํ•œ ์žฅ์น˜๋Š” NVIDIA ์˜ GPU ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์— ์˜์กดํ•  ํ•„์š” ์—†์ด ์žฅ์น˜์—์„œ ์ง์ ‘ ๋ณต์žกํ•œ AI ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Jetson ๋ณด๋“œ๋Š” ๋กœ๋ด‡ ๊ณตํ•™, ์ž์œจ ์ฃผํ–‰ ์ฐจ๋Ÿ‰, ์‚ฐ์—… ์ž๋™ํ™” ๋ฐ ์งง์€ ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๋†’์€ ํšจ์œจ์„ฑ์œผ๋กœ ๋กœ์ปฌ์—์„œ AI ์ถ”๋ก ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ธฐํƒ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋Ÿฌํ•œ ๋ณด๋“œ๋Š” ARM64 ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๊ธฐ์กด GPU ์ปดํ“จํŒ… ์žฅ์น˜์— ๋น„ํ•ด ์ €์ „๋ ฅ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

NVIDIA Jetson ์‹œ๋ฆฌ์ฆˆ ๋น„๊ต

Jetson Orin์€ ์ด์ „ ์„ธ๋Œ€์— ๋น„ํ•ด ๋Œ€ํญ ํ–ฅ์ƒ๋œ AI ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” NVIDIA ์•”ํŽ˜์–ด ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” NVIDIA Jetson ์ œํ’ˆ๊ตฐ์˜ ์ตœ์‹  ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ํ‘œ๋Š” ์—์ฝ”์‹œ์Šคํ…œ์— ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ Jetson ๋””๋ฐ”์ด์Šค๋ฅผ ๋น„๊ตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Jetson AGX Orin 64GB ์ ฏ์Šจ ์˜ค๋ฆฐ NX 16GB ์ ฏ์Šจ ์˜ค๋ฆฐ ๋‚˜๋…ธ 8GB Jetson AGX Xavier ์ ฏ์Šจ ์ž๋น„์— NX ์ ฏ์Šจ ๋‚˜๋…ธ
AI ์„ฑ๋Šฅ 275 TOPS 100 TOPS TOP 40 32 TOPS 21 TOPS 472 GFLOPS
GPU 2048์ฝ”์–ด NVIDIA ์•”ํŽ˜์–ด ์•„ํ‚คํ…์ฒ˜ GPU (64 Tensor ์ฝ”์–ด) 1024์ฝ”์–ด NVIDIA ์•”ํŽ˜์–ด ์•„ํ‚คํ…์ฒ˜ GPU (32 Tensor ์ฝ”์–ด) 1024์ฝ”์–ด NVIDIA ์•”ํŽ˜์–ด ์•„ํ‚คํ…์ฒ˜ GPU (32 Tensor ์ฝ”์–ด) 512์ฝ”์–ด NVIDIA ๋ณผํƒ€ ์•„ํ‚คํ…์ฒ˜ GPU (64 Tensor ์ฝ”์–ด) 384์ฝ”์–ด NVIDIA Voltaโ„ข ์•„ํ‚คํ…์ฒ˜ GPU , 48๊ฐœ์˜ Tensor ์ฝ”์–ด ํƒ‘์žฌ 128์ฝ”์–ด NVIDIA ๋งฅ์Šค์›ฐโ„ข ์•„ํ‚คํ…์ฒ˜ GPU
GPU ์ตœ๋Œ€ ์ฃผํŒŒ์ˆ˜ 1.3GHz 918MHz 625MHz 1377 MHz 1100 MHz 921MHz
CPU 12์ฝ”์–ด NVIDIA Armยฎ Cortex A78AE v8.2 64๋น„ํŠธ CPU 3MB L2 + 6MB L3 8์ฝ”์–ด NVIDIA Armยฎ Cortex A78AE v8.2 64๋น„ํŠธ CPU 2MB L2 + 4MB L3 6์ฝ”์–ด Armยฎ Cortexยฎ-A78AE v8.2 64๋น„ํŠธ CPU 1.5MB L2 + 4MB L3 8์ฝ”์–ด NVIDIA Carmel Armยฎv8.2 64๋น„ํŠธ CPU 8MB L2 + 4MB L3 6์ฝ”์–ด NVIDIA Carmel Armยฎv8.2 64๋น„ํŠธ CPU 6MB L2 + 4MB L3 ์ฟผ๋“œ ์ฝ”์–ด Armยฎ Cortexยฎ-A57 MPCore ํ”„๋กœ์„ธ์„œ
CPU ์ตœ๋Œ€ ์ฃผํŒŒ์ˆ˜ 2.2 GHz 2.0 GHz 1.5GHz 2.2 GHz 1.9GHz 1.43GHz
๋ฉ”๋ชจ๋ฆฌ 64GB 256๋น„ํŠธ LPDDR5 204.8GB/s 16GB 128๋น„ํŠธ LPDDR5 102.4GB/s 8GB 128๋น„ํŠธ LPDDR5 68GB/s 32GB 256๋น„ํŠธ LPDDR4x 136.5GB/s 8GB 128๋น„ํŠธ LPDDR4x 59.7GB/s 4GB 64๋น„ํŠธ LPDDR4 25.6GB/s"

์ž์„ธํ•œ ๋น„๊ต ํ‘œ๋Š” ๊ณต์‹ NVIDIA Jetson ํŽ˜์ด์ง€์˜ ๊ธฐ์ˆ  ์‚ฌ์–‘ ์„น์…˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NVIDIA ์ œํŠธํŒฉ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

NVIDIA Jetson ๋ชจ๋“ˆ์„ ๊ตฌ๋™ํ•˜๋Š” JetPack SDK๋Š” ๊ฐ€์žฅ ํฌ๊ด„์ ์ธ ์†”๋ฃจ์…˜์œผ๋กœ, ์—”๋“œํˆฌ์—”๋“œ ๊ฐ€์†ํ™”๋œ AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์™„๋ฒฝํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ณ  ์‹œ์žฅ ์ถœ์‹œ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์ ฏํŒฉ์—๋Š” ๋ถ€ํŠธ๋กœ๋”, Linux ์ปค๋„, ์šฐ๋ถ„ํˆฌ ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ ๋ฐ GPU ์ปดํ“จํŒ…, ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด, ๊ทธ๋ž˜ํ”ฝ ๋ฐ ์ปดํ“จํ„ฐ ๋น„์ „ ๊ฐ€์†ํ™”๋ฅผ ์œ„ํ•œ ์ „์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ธํŠธ๊ฐ€ ํฌํ•จ๋œ Jetson Linux๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์™€ ๊ฐœ๋ฐœ์ž ํ‚คํŠธ ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ์ƒ˜ํ”Œ, ์„ค๋ช…์„œ ๋ฐ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ŠคํŠธ๋ฆฌ๋ฐ ๋น„๋””์˜ค ๋ถ„์„์„ ์œ„ํ•œ DeepStream, ๋กœ๋ณดํ‹ฑ์Šค๋ฅผ ์œ„ํ•œ Isaac, ๋Œ€ํ™”ํ˜• AI๋ฅผ ์œ„ํ•œ Riva์™€ ๊ฐ™์€ ์ƒ์œ„ ์ˆ˜์ค€์˜ SDK๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ์ œํŠธํŒฉ NVIDIA Jetson

NVIDIA Jetson ์žฅ์น˜๋ฅผ ๊ตฌ์ž…ํ•œ ํ›„ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” NVIDIA JetPack์„ ์žฅ์น˜์— ํ”Œ๋ž˜์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. NVIDIA Jetson ์žฅ์น˜๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ณต์‹ ๊ฐœ๋ฐœ ํ‚คํŠธ( NVIDIA )๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ, Jetson Orin Nano ๊ฐœ๋ฐœ์ž ํ‚คํŠธ์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์žฅ์น˜ ๋ถ€ํŒ…์„ ์œ„ํ•ด JetPack์ด ํฌํ•จ๋œ SD ์นด๋“œ๋ฅผ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๋‹ค๋ฅธ NVIDIA ๊ฐœ๋ฐœ ํ‚คํŠธ๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ SDK ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JetPack์„ ์žฅ์น˜์— ํ”Œ๋ž˜์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์”จ๋“œ ์ŠคํŠœ๋””์˜ค ์žฌ์ปดํ“จํ„ฐ J4012 ์žฅ์น˜๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ JetPack์„ ํฌํ•จ๋œ SSD์— ํ”Œ๋ž˜์‹œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์”จ๋“œ ์ŠคํŠœ๋””์˜ค ์žฌ์ปดํ“จํ„ฐ J1020 v2 ์žฅ์น˜๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ JetPack์„ eMMC/ SSD์— ํ”Œ๋ž˜์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. NVIDIA Jetson ๋ชจ๋“ˆ๋กœ ๊ตฌ๋™๋˜๋Š” ๋‹ค๋ฅธ ํƒ€์‚ฌ ์žฅ์น˜๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ, ๋ช…๋ น์ค„ ํ”Œ๋ž˜์‹ฑ์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ 

์œ„์˜ ๋ฐฉ๋ฒ• 3๊ณผ 4์˜ ๊ฒฝ์šฐ, ์‹œ์Šคํ…œ์„ ํ”Œ๋ž˜์‹œํ•˜๊ณ  ๋””๋ฐ”์ด์Šค๋ฅผ ๋ถ€ํŒ…ํ•œ ํ›„ ๋””๋ฐ”์ด์Šค ํ„ฐ๋ฏธ๋„์—์„œ "sudo apt update && sudo apt install nvidia-jetpack -y"๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ•„์š”ํ•œ ๋‚˜๋จธ์ง€ JetPack ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์„ค์น˜ํ•˜์„ธ์š”.

์ ฏ์Šจ ๋””๋ฐ”์ด์Šค ๊ธฐ๋ฐ˜์˜ ์ ฏํŒฉ ์ง€์›

์•„๋ž˜ ํ‘œ์—๋Š” ๋‹ค์–‘ํ•œ NVIDIA Jetson ์žฅ์น˜์—์„œ ์ง€์›๋˜๋Š” NVIDIA JetPack ๋ฒ„์ „์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œํŠธํŒฉ 4 ์ œํŠธํŒฉ 5 ์ œํŠธํŒฉ 6
์ ฏ์Šจ ๋‚˜๋…ธ โœ… โŒ โŒ
Jetson TX2 โœ… โŒ โŒ
์ ฏ์Šจ ์ž๋น„์— NX โœ… โœ… โŒ
Jetson AGX Xavier โœ… โœ… โŒ
Jetson AGX Orin โŒ โœ… โœ…
์ ฏ์Šจ ์˜ค๋ฆฐ NX โŒ โœ… โœ…
์ ฏ์Šจ ์˜ค๋ฆฐ ๋‚˜๋…ธ โŒ โœ… โœ…

Docker๋กœ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜๊ธฐ

Ultralytics YOLO11 NVIDIA Jetson์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ๋ฏธ๋ฆฌ ๋นŒ๋“œ๋œ Jetson์šฉ ๋„์ปค ์ด๋ฏธ์ง€๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„์˜ ํ‘œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” Jetson ์žฅ์น˜์— ๋”ฐ๋ผ JetPack ๋ฒ„์ „์„ ์„ ํƒํ•˜์„ธ์š”.

t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack5
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack6
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t

์ด ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด NVIDIA Jetson ์„น์…˜์˜ TensorRT ์‚ฌ์šฉ์œผ๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์„ค์น˜๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

Docker๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ธฐ๋ณธ ์„ค์น˜ํ•˜๋ ค๋ฉด ์•„๋ž˜ ๋‹จ๊ณ„๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

JetPack 6.x์—์„œ ์‹คํ–‰

Ultralytics ํŒจํ‚ค์ง€ ์„ค์น˜

์—ฌ๊ธฐ์„œ๋Š” ์„ ํƒ์  ์ข…์†์„ฑ๊ณผ ํ•จ๊ป˜ Jetson์— Ultralytics ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜์—ฌ ๋ชจ๋ธ์„ ๋‹ค๋ฅธ ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ ์œ„ํ•ด PyTorch ๋ชจ๋ธ์„ ๋‹ค๋ฅธ ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NVIDIA TensorRT ๋‚ด๋ณด๋‚ด๊ธฐ์— ์ฃผ๋กœ ์ดˆ์ ์„ ๋งž์ถœ ๊ฒƒ์ž…๋‹ˆ๋‹ค. TensorRT ์„ ์‚ฌ์šฉํ•˜๋ฉด Jetson ์žฅ์น˜์—์„œ ์ตœ๋Œ€ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  1. ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ, pip ์„ค์น˜ ๋ฐ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. ์„ค์น˜ ultralytics ์„ ํƒ์  ์ข…์†์„ฑ์ด ์žˆ๋Š” pip ํŒจํ‚ค์ง€

    pip install ultralytics[export]
    
  3. ๋””๋ฐ”์ด์Šค ์žฌ๋ถ€ํŒ…

    sudo reboot
    

PyTorch ๋ฐ ํ† ์น˜๋น„์ „ ์„ค์น˜

์œ„์˜ ultralytics ์„ค์น˜๋Š” Torch ๋ฐ Torchvision์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ pip๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ ์ด ๋‘ ํŒจํ‚ค์ง€๋Š” ARM64 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜์ธ Jetson ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ์—๋Š” ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฏธ๋ฆฌ ๋นŒ๋“œ๋œ PyTorch pip ํœ ์„ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•˜๊ณ  ์†Œ์Šค์—์„œ Torchvision์„ ์ปดํŒŒ์ผ/์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ torch 2.3.0 ๊ทธ๋ฆฌ๊ณ  torchvision 0.18 JP6.0์— ๋”ฐ๋ฅด๋ฉด

sudo apt-get install libopenmpi-dev libopenblas-base libomp-dev -y
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.3.0-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.18.0a0+6043bc2-cp310-cp310-linux_aarch64.whl

๋‹ค๋ฅธ JetPack ๋ฒ„์ „์— ๋Œ€ํ•œ ๋ชจ๋“  ๋‹ค๋ฅธ ๋ฒ„์ „์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด PyTorch ์˜ Jetson์šฉ ํŽ˜์ด์ง€ ( PyTorch )๋ฅผ ๋ฐฉ๋ฌธํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋ชฉ๋ก์€ PyTorch, Torchvision ํ˜ธํ™˜์„ฑ ํŽ˜์ด์ง€์—์„œPyTorch ๋ฐ Torchvision ํ˜ธํ™˜์„ฑ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์„ค์น˜ onnxruntime-gpu

๊ทธ๋ฆฌ๊ณ  onnxruntime-gpu PyPI์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ํŒจํ‚ค์ง€์—๋Š” aarch64 ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํŒจํ‚ค์ง€๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€๋Š” ์ผ๋ถ€ ๋‚ด๋ณด๋‚ด๊ธฐ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋‘ ๋‹ค๋ฅธ onnxruntime-gpu ๋‹ค๋ฅธ JetPack ๋ฐ Python ๋ฒ„์ „์— ํ•ด๋‹นํ•˜๋Š” ํŒจํ‚ค์ง€๊ฐ€ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. onnxruntime-gpu 1.18.0 ์™€ ํ•จ๊ป˜ Python3.10 ์ง€์›.

wget https://nvidia.box.com/shared/static/48dtuob7meiw6ebgfsfqakc9vse62sg4.whl -O onnxruntime_gpu-1.18.0-cp310-cp310-linux_aarch64.whl
pip install onnxruntime_gpu-1.18.0-cp310-cp310-linux_aarch64.whl

์ฐธ๊ณ 

onnxruntime-gpu ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด numpy ๋ฒ„์ „์ด ์ž๋™์œผ๋กœ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ numpy๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 1.23.5 ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค:

pip install numpy==1.23.5

JetPack 5.x์—์„œ ์‹คํ–‰

Ultralytics ํŒจํ‚ค์ง€ ์„ค์น˜

์—ฌ๊ธฐ์„œ๋Š” PyTorch ๋ชจ๋ธ์„ ๋‹ค๋ฅธ ๋‹ค๋ฅธ ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ์„ ํƒ์  ์ข…์†์„ฑ๊ณผ ํ•จ๊ป˜ Jetson์— Ultralytics ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. NVIDIA TensorRT ๋‚ด๋ณด๋‚ด๊ธฐ์— ์ฃผ๋กœ ์ดˆ์ ์„ ๋งž์ถœ ๊ฒƒ์ž…๋‹ˆ๋‹ค. TensorRT ์„ ์‚ฌ์šฉํ•˜๋ฉด Jetson ์žฅ์น˜์—์„œ ์ตœ๋Œ€ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  1. ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ, pip ์„ค์น˜ ๋ฐ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. ์„ค์น˜ ultralytics ์„ ํƒ์  ์ข…์†์„ฑ์ด ์žˆ๋Š” pip ํŒจํ‚ค์ง€

    pip install ultralytics[export]
    
  3. ๋””๋ฐ”์ด์Šค ์žฌ๋ถ€ํŒ…

    sudo reboot
    

PyTorch ๋ฐ ํ† ์น˜๋น„์ „ ์„ค์น˜

์œ„์˜ ultralytics ์„ค์น˜๋Š” Torch ๋ฐ Torchvision์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ pip๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ ์ด ๋‘ ํŒจํ‚ค์ง€๋Š” ARM64 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜์ธ Jetson ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ์—๋Š” ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฏธ๋ฆฌ ๋นŒ๋“œ๋œ PyTorch pip ํœ ์„ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•˜๊ณ  ์†Œ์Šค์—์„œ Torchvision์„ ์ปดํŒŒ์ผ/์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ํ˜„์žฌ ์„ค์น˜๋œ PyTorch ๋ฐ Torchvision ์ œ๊ฑฐ

    pip uninstall torch torchvision
    
  2. JP5.1.3์— ๋”ฐ๋ผ PyTorch 2.1.0์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

    sudo apt-get install -y libopenblas-base libopenmpi-dev
    wget https://developer.download.nvidia.com/compute/redist/jp/v512/pytorch/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl -O torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
    pip install torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
    
  3. PyTorch v2.1.0์— ๋”ฐ๋ผ Torchvision v0.16.2๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

    sudo apt install -y libjpeg-dev zlib1g-dev
    git clone https://github.com/pytorch/vision torchvision
    cd torchvision
    git checkout v0.16.2
    python3 setup.py install --user
    

๋‹ค๋ฅธ JetPack ๋ฒ„์ „์— ๋Œ€ํ•œ ๋ชจ๋“  ๋‹ค๋ฅธ ๋ฒ„์ „์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด PyTorch ์˜ Jetson์šฉ ํŽ˜์ด์ง€ ( PyTorch )๋ฅผ ๋ฐฉ๋ฌธํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋ชฉ๋ก์€ PyTorch, Torchvision ํ˜ธํ™˜์„ฑ ํŽ˜์ด์ง€์—์„œPyTorch ๋ฐ Torchvision ํ˜ธํ™˜์„ฑ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์„ค์น˜ onnxruntime-gpu

๊ทธ๋ฆฌ๊ณ  onnxruntime-gpu PyPI์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ํŒจํ‚ค์ง€์—๋Š” aarch64 ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํŒจํ‚ค์ง€๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€๋Š” ์ผ๋ถ€ ๋‚ด๋ณด๋‚ด๊ธฐ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋‘ ๋‹ค๋ฅธ onnxruntime-gpu ๋‹ค๋ฅธ JetPack ๋ฐ Python ๋ฒ„์ „์— ํ•ด๋‹นํ•˜๋Š” ํŒจํ‚ค์ง€๊ฐ€ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. onnxruntime-gpu 1.17.0 ์™€ ํ•จ๊ป˜ Python3.8 ์ง€์›.

wget https://nvidia.box.com/shared/static/zostg6agm00fb6t5uisw51qi6kpcuwzd.whl -O onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
pip install onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl

์ฐธ๊ณ 

onnxruntime-gpu ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด numpy ๋ฒ„์ „์ด ์ž๋™์œผ๋กœ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ numpy๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 1.23.5 ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค:

pip install numpy==1.23.5

NVIDIA Jetson์—์„œ TensorRT ์‚ฌ์šฉ

Ultralytics ์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ๋ชจ๋ธ ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹ ์ค‘ TensorRT ์€ NVIDIA Jetson ์žฅ์น˜์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•  ๋•Œ ์ตœ๊ณ ์˜ ์ถ”๋ก  ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, Jetson๊ณผ ํ•จ๊ป˜ TensorRT ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ TensorRT ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ์„ TensorRT ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์ถ”๋ก  ์‹คํ–‰

๋‚ด๋ณด๋‚ธ ๋ชจ๋ธ๋กœ ์ถ”๋ก ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด PyTorch ํ˜•์‹์˜ YOLO11n ๋ชจ๋ธ์„ TensorRT ์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT
model.export(format="engine")  # creates 'yolo11n.engine'

# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format
yolo export model=yolo11n.pt format=engine  # creates 'yolo11n.engine'

# Run inference with the exported model
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'

์ฐธ๊ณ 

๋‹ค๋ฅธ ๋ชจ๋ธ ํ˜•์‹์œผ๋กœ ๋ชจ๋ธ์„ ๋‚ด๋ณด๋‚ผ ๋•Œ ์ถ”๊ฐ€ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‚ด๋ณด๋‚ด๊ธฐ ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.

NVIDIA ๋”ฅ๋Ÿฌ๋‹ ์•ก์…€๋Ÿฌ๋ ˆ์ดํ„ฐ(DLA) ์‚ฌ์šฉ

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

๋‹ค์Œ Jetson ์žฅ์น˜์—๋Š” DLA ํ•˜๋“œ์›จ์–ด๊ฐ€ ์žฅ์ฐฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์ ฏ์Šจ ์˜ค๋ฆฐ NX 16GB
  • ์ ฏ์Šจ AGX ์˜ค๋ฆฐ ์‹œ๋ฆฌ์ฆˆ
  • ์ ฏ์Šจ AGX ์ž๋น„์— ์‹œ๋ฆฌ์ฆˆ
  • ์ ฏ์Šจ ์ž๋น„์— NX ์‹œ๋ฆฌ์ฆˆ

์˜ˆ

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", half=True)  # dla:0 or dla:1 corresponds to the DLA cores

# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format with DLA enabled (only works with FP16 or INT8)
yolo export model=yolo11n.pt format=engine device="dla:0" half=True  # dla:0 or dla:1 corresponds to the DLA cores

# Run inference with the exported model on the DLA
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'

์ฐธ๊ณ 

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

NVIDIA ์ ฏ์Šจ ์˜ค๋ฆฐ YOLO11 ๋ฒค์น˜๋งˆํฌ

YOLO11 Ultralytics ๋ฒค์น˜๋งˆํฌ๋Š” PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel , TF GraphDef , TF Lite, PaddlePaddle, NCNN ๋“ฑ 10๊ฐ€์ง€ ๋ชจ๋ธ ํฌ๋งท์œผ๋กœ ์†๋„์™€ ์ •ํ™•๋„๋ฅผ ์ธก์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒค์น˜๋งˆํฌ๋Š” ๊ธฐ๋ณธ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํฌ๊ธฐ 640์˜ FP32 ์ •๋ฐ€๋„์—์„œ Jetson Orin NX 16GB ์žฅ์น˜๋กœ ๊ตฌ๋™๋˜๋Š” Seeed Studio ์žฌ์ปดํ“จํ„ฐ J4012์—์„œ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋น„๊ต ์ฐจํŠธ

๋ชจ๋“  ๋ชจ๋ธ ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ NVIDIA Jetson์—์„œ ์ž‘๋™ํ•˜์ง€๋งŒ ์•„๋ž˜ ๋น„๊ต ์ฐจํŠธ์—๋Š” PyTorch, TorchScript, TensorRT ๋งŒ ํฌํ•จํ–ˆ๋Š”๋ฐ, ์ด๋Š” Jetson์—์„œ GPU ์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ๋‚ด๋ณด๋‚ด๊ธฐ๋Š” CPU ๋งŒ ์‚ฌ์šฉํ•˜๋ฉฐ ์„ฑ๋Šฅ์ด ์œ„์˜ ์„ธ ๊ฐ€์ง€๋ณด๋‹ค ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ฐจํŠธ ๋’ค์˜ ์„น์…˜์—์„œ ๋ชจ๋“  ๋‚ด๋ณด๋‚ด๊ธฐ์— ๋Œ€ํ•œ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NVIDIA Jetson ์—์ฝ”์‹œ์Šคํ…œ

์ƒ์„ธ ๋น„๊ต ํ‘œ

์•„๋ž˜ ํ‘œ๋Š” 10๊ฐ€์ง€ ํ˜•์‹(PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel , TF GraphDef , TF Lite, PaddlePaddle, NCNN)์— ๋Œ€ํ•œ 5๊ฐ€์ง€ ๋ชจ๋ธ(YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x)์˜ ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ๋กœ, ๊ฐ ์กฐํ•ฉ์˜ ์ƒํƒœ, ํฌ๊ธฐ, mAP50-95(B) ๋ฉ”ํŠธ๋ฆญ ๋ฐ ์ถ”๋ก  ์‹œ๊ฐ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ

ํ˜•์‹ ์ƒํƒœ ๋””์Šคํฌ ํฌ๊ธฐ(MB) mAP50-95(B) ์ถ”๋ก  ์‹œ๊ฐ„(ms/im)
PyTorch โœ… 5.4 0.6176 19.80
TorchScript โœ… 10.5 0.6100 13.30
ONNX โœ… 10.2 0.6082 67.92
OpenVINO โœ… 10.4 0.6082 118.21
TensorRT (FP32) โœ… 14.1 0.6100 7.94
TensorRT (FP16) โœ… 8.3 0.6082 4.80
TensorRT (INT8) โœ… 6.6 0.3256 4.17
TF SavedModel โœ… 25.8 0.6082 185.88
TF GraphDef โœ… 10.3 0.6082 256.66
TF Lite โœ… 10.3 0.6082 284.64
PaddlePaddle โœ… 20.4 0.6082 477.41
NCNN โœ… 10.2 0.6106 32.18
ํ˜•์‹ ์ƒํƒœ ๋””์Šคํฌ ํฌ๊ธฐ(MB) mAP50-95(B) ์ถ”๋ก  ์‹œ๊ฐ„(ms/im)
PyTorch โœ… 18.4 0.7526 20.20
TorchScript โœ… 36.5 0.7416 23.42
ONNX โœ… 36.3 0.7416 162.01
OpenVINO โœ… 36.4 0.7416 159.61
TensorRT (FP32) โœ… 40.3 0.7416 13.93
TensorRT (FP16) โœ… 21.7 0.7416 7.47
TensorRT (INT8) โœ… 13.6 0.3179 5.66
TF SavedModel โœ… 91.1 0.7416 316.46
TF GraphDef โœ… 36.4 0.7416 506.71
TF Lite โœ… 36.4 0.7416 842.97
PaddlePaddle โœ… 72.5 0.7416 1172.57
NCNN โœ… 36.2 0.7419 66.00
ํ˜•์‹ ์ƒํƒœ ๋””์Šคํฌ ํฌ๊ธฐ(MB) mAP50-95(B) ์ถ”๋ก  ์‹œ๊ฐ„(ms/im)
PyTorch โœ… 38.8 0.7595 36.70
TorchScript โœ… 77.3 0.7643 50.95
ONNX โœ… 76.9 0.7643 416.34
OpenVINO โœ… 77.1 0.7643 370.99
TensorRT (FP32) โœ… 81.5 0.7640 30.49
TensorRT (FP16) โœ… 42.2 0.7658 14.93
TensorRT (INT8) โœ… 24.3 0.4118 10.32
TF SavedModel โœ… 192.7 0.7643 597.08
TF GraphDef โœ… 77.0 0.7643 1016.12
TF Lite โœ… 77.0 0.7643 2494.60
PaddlePaddle โœ… 153.8 0.7643 3218.99
NCNN โœ… 76.8 0.7691 192.77
ํ˜•์‹ ์ƒํƒœ ๋””์Šคํฌ ํฌ๊ธฐ(MB) mAP50-95(B) ์ถ”๋ก  ์‹œ๊ฐ„(ms/im)
PyTorch โœ… 49.0 0.7475 47.6
TorchScript โœ… 97.6 0.7250 66.36
ONNX โœ… 97.0 0.7250 532.58
OpenVINO โœ… 97.3 0.7250 477.55
TensorRT (FP32) โœ… 101.6 0.7250 38.71
TensorRT (FP16) โœ… 52.6 0.7265 19.35
TensorRT (INT8) โœ… 31.6 0.3856 13.50
TF SavedModel โœ… 243.3 0.7250 895.24
TF GraphDef โœ… 97.2 0.7250 1301.19
TF Lite โœ… 97.2 0.7250 3202.93
PaddlePaddle โœ… 193.9 0.7250 4206.98
NCNN โœ… 96.9 0.7252 225.75
ํ˜•์‹ ์ƒํƒœ ๋””์Šคํฌ ํฌ๊ธฐ(MB) mAP50-95(B) ์ถ”๋ก  ์‹œ๊ฐ„(ms/im)
PyTorch โœ… 109.3 0.8288 85.60
TorchScript โœ… 218.1 0.8308 121.67
ONNX โœ… 217.5 0.8308 1073.14
OpenVINO โœ… 217.8 0.8308 955.60
TensorRT (FP32) โœ… 221.6 0.8307 75.84
TensorRT (FP16) โœ… 113.1 0.8295 35.75
TensorRT (INT8) โœ… 62.2 0.4783 22.23
TF SavedModel โœ… 545.0 0.8308 1497.40
TF GraphDef โœ… 217.8 0.8308 2552.42
TF Lite โœ… 217.8 0.8308 7044.58
PaddlePaddle โœ… 434.9 0.8308 8386.73
NCNN โœ… 217.3 0.8304 486.36

๋‹ค์–‘ํ•œ ๋ฒ„์ „์˜ NVIDIA Jetson ํ•˜๋“œ์›จ์–ด์—์„œ ์‹คํ–‰๋˜๋Š” Seeed Studio๋ฅผ ํ†ตํ•ด ๋” ๋งŽ์€ ๋ฒค์น˜๋งˆํ‚น ๊ฒฐ๊ณผ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”.

๊ฒฐ๊ณผ ์žฌํ˜„

๋ชจ๋“  ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹์—์„œ ์œ„์˜ Ultralytics ๋ฒค์น˜๋งˆํฌ๋ฅผ ์žฌํ˜„ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”:

์˜ˆ

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Benchmark YOLO11n speed and accuracy on the COCO8 dataset for all all export formats
results = model.benchmarks(data="coco8.yaml", imgsz=640)
# Benchmark YOLO11n speed and accuracy on the COCO8 dataset for all all export formats
yolo benchmark model=yolo11n.pt data=coco8.yaml imgsz=640

๋ฒค์น˜๋งˆํ‚น ๊ฒฐ๊ณผ๋Š” ์‹œ์Šคํ…œ์˜ ์ •ํ™•ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ๊ณผ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์‹คํ–‰ํ•  ๋‹น์‹œ ์‹œ์Šคํ…œ์˜ ํ˜„์žฌ ์ž‘์—…๋Ÿ‰์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ๊ฐ€์žฅ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ๋ ค๋ฉด ๋งŽ์€ ์ˆ˜์˜ ์ด๋ฏธ์ง€๊ฐ€ ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. data='coco8.yaml' (4 val images), ordata='coco.yaml'` (5000๊ฐœ val ์ด๋ฏธ์ง€).

NVIDIA Jetson ์‚ฌ์šฉ ์‹œ ๋ชจ๋ฒ” ์‚ฌ๋ก€

NVIDIA Jetson์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, NVIDIA Jetson์„ ์‹คํ–‰ํ•˜๋Š” YOLO11 ์—์„œ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋”ฐ๋ผ์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๋ชจ๋ฒ” ์‚ฌ๋ก€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ตœ๋Œ€ ์ „๋ ฅ ๋ชจ๋“œ ํ™œ์„ฑํ™”

    Jetson์—์„œ ์ตœ๋Œ€ ์ „๋ ฅ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด CPU, GPU ์ฝ”์–ด๊ฐ€ ๋ชจ๋‘ ์ผœ์ ธ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    sudo nvpmodel -m 0
    
  2. Jetson ํด๋ก ์‚ฌ์šฉ

    Jetson ํด๋Ÿญ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  CPU, GPU ์ฝ”์–ด๊ฐ€ ์ตœ๋Œ€ ์ฃผํŒŒ์ˆ˜๋กœ ํด๋Ÿญ๋ฉ๋‹ˆ๋‹ค.

    sudo jetson_clocks
    
  3. Jetson ํ†ต๊ณ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜

    ์ ฏ์Šจ ํ†ต๊ณ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์˜จ๋„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  CPU, GPU, RAM ์‚ฌ์šฉ๋ฅ , ์ „์› ๋ชจ๋“œ ๋ณ€๊ฒฝ, ์ตœ๋Œ€ ํด๋Ÿญ์œผ๋กœ ์„ค์ •, ์ ฏํŒฉ ์ •๋ณด ํ™•์ธ๊ณผ ๊ฐ™์€ ๊ธฐํƒ€ ์‹œ์Šคํ…œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    sudo apt update
    sudo pip install jetson-stats
    sudo reboot
    jtop
    

Jetson ํ†ต๊ณ„

๋‹ค์Œ ๋‹จ๊ณ„

NVIDIA Jetson์— YOLO11 ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์ •ํ•˜์‹  ๊ฒƒ์„ ์ถ•ํ•˜๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์ถ”๊ฐ€ ํ•™์Šต ๋ฐ ์ง€์›์€ Ultralytics YOLO11 ๋ฌธ์„œ์—์„œ ๋” ๋งŽ์€ ๊ฐ€์ด๋“œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

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

NVIDIA Jetson ์žฅ์น˜์— Ultralytics YOLO11 ๋ฐฐํฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

NVIDIA Jetson ์žฅ์น˜์— Ultralytics YOLO11 ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € NVIDIA JetPack SDK๋กœ Jetson ์žฅ์น˜๋ฅผ ํ”Œ๋ž˜์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋น ๋ฅธ ์„ค์ •์„ ์œ„ํ•ด ์‚ฌ์ „ ๋นŒ๋“œ๋œ Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ ‘๊ทผ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‹จ๊ณ„๋Š” Docker๋กœ ๋น ๋ฅธ ์‹œ์ž‘ ๋ฐ ๊ธฐ๋ณธ ์„ค์น˜๋กœ ์‹œ์ž‘ ์„น์…˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NVIDIA Jetson ์žฅ์น˜์—์„œ YOLO11 ๋ชจ๋ธ์—์„œ ์–ด๋–ค ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํฌ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

YOLO11 ๋ชจ๋ธ์„ ๋‹ค์–‘ํ•œ NVIDIA Jetson ์žฅ์น˜์—์„œ ๋ฒค์น˜๋งˆํ‚นํ•œ ๊ฒฐ๊ณผ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, TensorRT ํ˜•์‹์ด ๊ฐ€์žฅ ์šฐ์ˆ˜ํ•œ ์ถ”๋ก  ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์„ธ๋ถ€ ๋น„๊ต ํ‘œ ์„น์…˜์˜ ํ‘œ๋Š” ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ํ˜•์‹์— ๊ฑธ์ณ mAP50-95 ๋ฐ ์ถ”๋ก  ์‹œ๊ฐ„๊ณผ ๊ฐ™์€ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ์— ๋Œ€ํ•œ ์ข…ํ•ฉ์ ์ธ ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

NVIDIA Jetson์— YOLO11 ๋ฐฐํฌ ์‹œ TensorRT ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

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

NVIDIA Jetson์— PyTorch ๋ฐ Torchvision์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

NVIDIA Jetson์— PyTorch ๋ฐ Torchvision์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋จผ์ € pip๋ฅผ ํ†ตํ•ด ์„ค์น˜๋˜์—ˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์กด ๋ฒ„์ „์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ Jetson์˜ ARM64 ์•„ํ‚คํ…์ฒ˜์— ํ˜ธํ™˜๋˜๋Š” PyTorch ๋ฐ Torchvision ๋ฒ„์ „์„ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์€ PyTorch ๋ฐ Torchvision ์„ค์น˜ ์„น์…˜์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

YOLO11 ์„ ์‚ฌ์šฉํ•  ๋•Œ NVIDIA Jetson์—์„œ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

YOLO11 ์„ ์‚ฌ์šฉํ•˜์—ฌ NVIDIA Jetson์˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค:

  1. ์ตœ๋Œ€ ์ „๋ ฅ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ CPU ๋ฐ GPU ์ฝ”์–ด๋ฅผ ๋ชจ๋‘ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ชจ๋“  ์ฝ”์–ด๋ฅผ ์ตœ๋Œ€ ์ฃผํŒŒ์ˆ˜๋กœ ์‹คํ–‰ํ•˜๋„๋ก Jetson ํด๋Ÿญ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
  3. ์‹œ์Šคํ…œ ๋ฉ”ํŠธ๋ฆญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด Jetson Stats ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ๋ฐ ์ž์„ธํ•œ ๋‚ด์šฉ์€ NVIDIA Jetson ์‚ฌ์šฉ ์‹œ ๋ชจ๋ฒ” ์‚ฌ๋ก€ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

8๊ฐœ์›” ์ „ ์ƒ์„ฑ๋จ โœ๏ธ 3 ์ผ ์ „ ์—…๋ฐ์ดํŠธ ๋จ

๋Œ“๊ธ€