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

YOLOv8 ๋ชจ๋ธ์—์„œ PaddlePaddle ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•

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

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

PaddlePaddle ์œผ๋กœ ๋‚ด๋ณด๋‚ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

PaddlePaddle ๋กœ๊ณ 

๋ฐ”์ด๋‘์—์„œ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค, PaddlePaddle(๋ณ‘๋ ฌ ๋ถ„์‚ฐ ๋”ฅ ๋Ÿฌ๋‹)์€ ์ค‘๊ตญ ์ตœ์ดˆ์˜ ์˜คํ”ˆ ์†Œ์Šค ๋”ฅ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ์—ฐ๊ตฌ์šฉ์œผ๋กœ ๊ตฌ์ถ•๋œ ์ผ๋ถ€ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋‹ฌ๋ฆฌ PaddlePaddle ๋Š” ์‚ฌ์šฉ ํŽธ์˜์„ฑ๊ณผ ์‚ฐ์—… ์ „๋ฐ˜์— ๊ฑธ์นœ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ์šฐ์„ ์‹œํ•ฉ๋‹ˆ๋‹ค.

TensorFlow ๋ฐ PyTorch ๊ณผ ๊ฐ™์€ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์œ ์‚ฌํ•œ ๋„๊ตฌ์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ชจ๋“  ๊ฒฝํ—˜ ์ˆ˜์ค€์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋†์—…๊ณผ ๊ณต์žฅ์—์„œ ์„œ๋น„์Šค ๋น„์ฆˆ๋‹ˆ์Šค์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ 477๋งŒ ๋ช…์ด ๋„˜๋Š” ๋Œ€๊ทœ๋ชจ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ( PaddlePaddle)๊ฐ€ AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

PaddlePaddle ๋ชจ๋ธ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

PaddlePaddle ๋ชจ๋ธ์€ ๋‹ค์–‘ํ•œ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์œ ์—ฐ์„ฑ, ์„ฑ๋Šฅ ๋ฐ ํ™•์žฅ์„ฑ์— ๊ธฐ์—ฌํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ๋™์ -์ •์  ๊ทธ๋ž˜ํ”„: PaddlePaddle ์—์„œ๋Š” ๋ชจ๋ธ์„ ์ •์  ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ -์ •์  ์ปดํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๊ณ  ์ถ”๋ก  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • ์—ฐ์‚ฐ์ž ํ“จ์ „: PaddlePaddle TensorRT ์™€ ๊ฐ™์ด ์—ฐ์‚ฐ์ž ์œตํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ์„ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์„ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์ „์†ก๊ณผ ๊ณ„์‚ฐ ๋‹จ๊ณ„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฏ€๋กœ ์ถ”๋ก  ์†๋„๊ฐ€ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.

  • ์–‘์žํ™”: PaddlePaddle ๋Š” ํ•™์Šต ํ›„ ์–‘์žํ™” ๋ฐ ์–‘์žํ™” ์ธ์‹ ํ•™์Šต์„ ํฌํ•จํ•œ ์–‘์žํ™” ๊ธฐ๋ฒ•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋‚ฎ์€ ์ •๋ฐ€๋„์˜ ๋ฐ์ดํ„ฐ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์„ฑ๋Šฅ์„ ํšจ๊ณผ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐํฌ ์˜ต์…˜ PaddlePaddle

YOLOv8 ๋ชจ๋ธ์„ PaddlePaddle ์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ธฐ ์ „์— PaddlePaddle ๋ชจ๋ธ์ด ๋›ฐ์–ด๋‚œ ๋‹ค์–‘ํ•œ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

PaddlePaddle ๋Š” ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ ์˜ต์…˜์€ ์‚ฌ์šฉ ํŽธ์˜์„ฑ, ์œ ์—ฐ์„ฑ ๋ฐ ์„ฑ๋Šฅ์˜ ๋šœ๋ ทํ•œ ๊ท ํ˜•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ํŒจ๋“ค ์„œ๋น™: ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” PaddlePaddle ๋ชจ๋ธ์„ ๊ณ ์„ฑ๋Šฅ RESTful API๋กœ ๋ฐฐํฌํ•˜๋Š” ์ž‘์—…์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ํŒจ๋“ค ์„œ๋น™์€ ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ, ์˜จ๋ผ์ธ A/B ํ…Œ์ŠคํŠธ, ๋Œ€๋Ÿ‰์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ํ™•์žฅ์„ฑ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

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

  • ํŒจ๋“ค ๋ผ์ดํŠธ: ํŒจ๋“ค ๋ผ์ดํŠธ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ ๋””๋ฐ”์ด์Šค์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ARM CPU, GPU ๋ฐ ๊ธฐํƒ€ ํŠน์ˆ˜ ํ•˜๋“œ์›จ์–ด์—์„œ ๋” ์ž‘์€ ํฌ๊ธฐ์™€ ๋” ๋น ๋ฅธ ์ถ”๋ก ์„ ์œ„ํ•ด ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • Paddle.js: Paddle.js๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์ง์ ‘ PaddlePaddle ๋ชจ๋ธ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Paddle.js๋Š” ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ Paddle.js์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋ธ ๋ณ€ํ™˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจ๋“ค ํ—ˆ๋ธŒ์—์„œ ๋ชจ๋ธ์„ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WebGL/WebGPU/WebAssembly๋ฅผ ์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PaddlePaddle ์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ: YOLOv8 ๋ชจ๋ธ ๋ณ€ํ™˜

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

์„ค์น˜

ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

์„ค์น˜

# Install the required package for YOLOv8
pip install ultralytics

์„ค์น˜ ๊ณผ์ •๊ณผ ๊ด€๋ จ๋œ ์ž์„ธํ•œ ์ง€์นจ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” Ultralytics ์„ค์น˜ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. YOLOv8 ์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋™์•ˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ณผ ํŒ์„ ํ™•์ธํ•˜์„ธ์š”.

์‚ฌ์šฉ๋ฒ•

์‚ฌ์šฉ ์ง€์นจ์„ ์‚ดํŽด๋ณด๊ธฐ ์ „์— ๋ชจ๋“  Ultralytics YOLOv8 ๋ชจ๋ธ์—์„œ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์„ ํƒํ•œ ๋ชจ๋ธ์ด ๋‚ด๋ณด๋‚ด๊ธฐ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š”์ง€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”.

์‚ฌ์šฉ๋ฒ•

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

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

์ง€์›๋˜๋Š” ๋‚ด๋ณด๋‚ด๊ธฐ ์˜ต์…˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐฐํฌ ์˜ต์…˜์— ๋Œ€ํ•œUltralytics ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‚ด๋ณด๋‚ธ YOLOv8 PaddlePaddle ๋ชจ๋ธ ๋ฐฐํฌ

Ultralytics YOLOv8 ๋ชจ๋ธ์„ PaddlePaddle ํ˜•์‹์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ๋‚ด๋ณด๋‚ธ ํ›„์—๋Š” ์ด์ œ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PaddlePaddle ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ด๊ณ  ๊ถŒ์žฅ๋˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ด์ „ ์‚ฌ์šฉ ์ฝ”๋“œ ์กฐ๊ฐ์— ์„ค๋ช…๋œ ๋Œ€๋กœ YOLO("./model_paddle_model") ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์–‘ํ•œ ๋‹ค๋ฅธ ์„ค์ •์—์„œ PaddlePaddle ๋ชจ๋ธ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์€ ๋‹ค์Œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”:

  • ํŒจ๋“ค ์„œ๋น™: ํŒจ๋“ค ์„œ๋น™์„ ์‚ฌ์šฉํ•˜์—ฌ PaddlePaddle ๋ชจ๋ธ์„ ๊ณ ์„ฑ๋Šฅ ์„œ๋น„์Šค๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”.

  • ํŒจ๋“ค ๋ผ์ดํŠธ: ํŒจ๋“ค ๋ผ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ ๋””๋ฐ”์ด์Šค์—์„œ ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด์„ธ์š”.

  • Paddle.js: Paddle.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ํด๋ผ์ด์–ธํŠธ ์ธก AI์šฉ PaddlePaddle ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”.

์š”์•ฝ

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Ultralytics YOLOv8 ๋ชจ๋ธ์„ PaddlePaddle ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ PaddlePaddle ์˜ ๊ฐ•์ ์„ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ PaddlePaddle ๊ณต์‹ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•˜์„ธ์š”.

Ultralytics YOLOv8 ๋ชจ๋ธ์„ ํ†ตํ•ฉํ•˜๋Š” ๋” ๋งŽ์€ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”? ํ†ตํ•ฉ ๊ฐ€์ด๋“œ ํŽ˜์ด์ง€์—์„œ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ์‚ดํŽด๋ณด๊ณ  ๊ท€์ค‘ํ•œ ๋ฆฌ์†Œ์Šค์™€ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Ultralytics YOLOv8 ๋ชจ๋ธ์„ PaddlePaddle ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜์š”?

Ultralytics YOLOv8 ๋ชจ๋ธ์„ PaddlePaddle ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด export YOLO ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ Python ์„ ์‚ฌ์šฉํ•œ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค:

์‚ฌ์šฉ๋ฒ•

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

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

์ž์„ธํ•œ ์„ค์ • ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ Ultralytics ์„ค์น˜ ๊ฐ€์ด๋“œ ๋ฐ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ชจ๋ธ ๋ฐฐํฌ์— PaddlePaddle ์„ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ด์ ์ด ์žˆ๋‚˜์š”?

PaddlePaddle ๋Š” ๋ชจ๋ธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

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

Ultralytics YOLOv8 ๋ชจ๋ธ์„ PaddlePaddle ์œผ๋กœ ๋‚ด๋ณด๋‚ด๋ฉด ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ์—์„œ ์œ ์—ฐ์„ฑ๊ณผ ๊ณ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜์—ฌ ํ–ฅ์ƒ๋œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PaddlePaddle ์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

YOLOv8 ๋ชจ๋ธ์„ ๋ฐฐํฌํ•  ๋•Œ PaddlePaddle ์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

PaddlePaddle๋Š” ์‚ฐ์—… ๋ฐ ์ƒ์—…์šฉ AI ๋ฐฐํฌ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ฐ•๋ ฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” TensorFlow ๋ฐ PyTorch ๊ณผ ์œ ์‚ฌํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. YOLOv8 ๋ชจ๋ธ์„ PaddlePaddle ์œผ๋กœ ๋‚ด๋ณด๋‚ด๋ฉด ์ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

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

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด YOLOv8 ๋ชจ๋ธ์„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•  ๋•Œ PaddlePaddle ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

PaddlePaddle ์€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋น„ํ•ด ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ๊ฐœ์„ ํ•˜๋‚˜์š”?

PaddlePaddle ๋Š” ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ๊ณ ๊ธ‰ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

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

์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์€ ํšจ์œจ์ ์ธ ๋ชจ๋ธ ์‹คํ–‰์„ ์šฐ์„ ์‹œํ•˜๋ฏ€๋กœ PaddlePaddle ๊ณ ์„ฑ๋Šฅ YOLOv8 ๋ชจ๋ธ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ํƒ์›”ํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ์ตœ์ ํ™”์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ PaddlePaddle ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

PaddlePaddle ๋ชจ๋ธ์€ YOLOv8 ๋ชจ๋ธ์— ์–ด๋–ค ๋ฐฐํฌ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋‚˜์š”?

PaddlePaddle ์œ ์—ฐํ•œ ๋ฐฐํฌ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ํŒจ๋“ค ์„œ๋น™: ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ์˜จ๋ผ์ธ A/B ํ…Œ์ŠคํŠธ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ”„๋กœ๋•์…˜์— ์ด์ƒ์ ์ธ RESTful API๋กœ ๋ชจ๋ธ์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
  • ํŒจ๋“ค ์ถ”๋ก  API: ์‚ฌ์šฉ์ž ์ง€์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ชจ๋ธ ์‹คํ–‰์— ๋Œ€ํ•œ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ํŒจ๋“ค ๋ผ์ดํŠธ: ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ ๋””๋ฐ”์ด์Šค์˜ ์ œํ•œ๋œ ๋ฆฌ์†Œ์Šค์— ๋งž๊ฒŒ ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • Paddle.js: ์›น ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์ง์ ‘ ๋ชจ๋ธ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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



์ƒ์„ฑ 2024-03-11, ์—…๋ฐ์ดํŠธ 2024-07-05
์ž‘์„ฑ์ž: glenn-jocher (5), Burhan-Q (1), abirami-vina (2)

๋Œ“๊ธ€