μ½˜ν…μΈ λ‘œ κ±΄λ„ˆλ›°κΈ°

배포λ₯Ό μœ„ν•΄ YOLOv8 μ—μ„œ TF GraphDef 으둜 λ‚΄λ³΄λ‚΄λŠ” 방법

YOLOv8 κ³Ό 같은 μ΅œμ²¨λ‹¨ 컴퓨터 λΉ„μ „ λͺ¨λΈμ„ λ‹€μ–‘ν•œ ν™˜κ²½μ— 배포할 λ•Œ ν˜Έν™˜μ„± λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. Google 의 TensorFlow GraphDef λ˜λŠ” TF GraphDef 은 ν”Œλž«νΌμ— 독립적인 μ§λ ¬ν™”λœ λͺ¨λΈ ν‘œν˜„μ„ μ œκ³΅ν•¨μœΌλ‘œμ¨ 해결책을 μ œμ‹œν•©λ‹ˆλ‹€. TF GraphDef λͺ¨λΈ ν˜•μ‹μ„ μ‚¬μš©ν•˜λ©΄ λͺ¨λ°”일 λ””λ°”μ΄μŠ€λ‚˜ 특수 ν•˜λ“œμ›¨μ–΄μ™€ 같이 전체 TensorFlow μ—μ½”μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•  수 μ—†λŠ” ν™˜κ²½μ—μ„œ YOLOv8 λͺ¨λΈμ„ 배포할 수 μžˆμŠ΅λ‹ˆλ‹€.

이 κ°€μ΄λ“œμ—μ„œλŠ” λͺ¨λΈμ„ λ‚΄λ³΄λ‚΄λŠ” 방법을 λ‹¨κ³„λ³„λ‘œ μ•ˆλ‚΄ν•©λ‹ˆλ‹€. Ultralytics YOLOv8 λͺ¨λΈμ„ TF GraphDef λͺ¨λΈ ν˜•μ‹μœΌλ‘œ λ‚΄λ³΄λ‚΄λŠ” 방법을 λ‹¨κ³„λ³„λ‘œ μ•ˆλ‚΄ν•©λ‹ˆλ‹€. λͺ¨λΈμ„ λ³€ν™˜ν•˜λ©΄ 배포λ₯Ό κ°„μ†Œν™”ν•˜κ³  YOLOv8 의 컴퓨터 λΉ„μ „ κΈ°λŠ₯을 더 λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό ν”Œλž«νΌμ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

TensorFlow GraphDef

TF GraphDef 으둜 내보내야 ν•˜λŠ” 이유 ?

TF GraphDef λŠ” Google μ—μ„œ κ°œλ°œν•œ TensorFlow μ—μ½”μ‹œμŠ€ν…œμ˜ κ°•λ ₯ν•œ ꡬ성 μš”μ†Œμž…λ‹ˆλ‹€. YOLOv8 κ³Ό 같은 λͺ¨λΈμ„ μ΅œμ ν™”ν•˜κ³  λ°°ν¬ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. TF GraphDef 으둜 내보내면 λͺ¨λΈμ„ μ—°κ΅¬μš©μ—μ„œ μ‹€μ œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œ 이동할 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 전체 TensorFlow ν”„λ ˆμž„μ›Œν¬κ°€ μ—†λŠ” ν™˜κ²½μ—μ„œλ„ λͺ¨λΈμ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

GraphDef ν˜•μ‹μ€ λͺ¨λΈμ„ μ§λ ¬ν™”λœ 계산 κ·Έλž˜ν”„λ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 이λ₯Ό 톡해 μƒμˆ˜ 폴딩, μ–‘μžν™”, κ·Έλž˜ν”„ λ³€ν™˜κ³Ό 같은 λ‹€μ–‘ν•œ μ΅œμ ν™” 기법을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ΅œμ ν™”λ₯Ό 톡해 효율적인 μ‹€ν–‰, λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰ κ°μ†Œ, μΆ”λ‘  속도 ν–₯상을 보μž₯ν•©λ‹ˆλ‹€.

GraphDef λͺ¨λΈμ€ GPU, TPU, AI μΉ©κ³Ό 같은 ν•˜λ“œμ›¨μ–΄ 가속기λ₯Ό μ‚¬μš©ν•  수 μžˆμ–΄ YOLOv8 μΆ”λ‘  νŒŒμ΄ν”„λΌμΈμ˜ μ„±λŠ₯을 크게 ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€. TF GraphDef ν˜•μ‹μ€ λͺ¨λΈκ³Ό ν•΄λ‹Ή 쒅속성이 ν¬ν•¨λœ λ…λ¦½ν˜• νŒ¨ν‚€μ§€λ₯Ό μƒμ„±ν•˜μ—¬ λ‹€μ–‘ν•œ μ‹œμŠ€ν…œμœΌλ‘œμ˜ 배포 및 톡합을 κ°„μ†Œν™”ν•©λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯ TF GraphDef λͺ¨λΈ

TF GraphDef λŠ” λͺ¨λΈ 배포 및 μ΅œμ ν™”λ₯Ό κ°„μ†Œν™”ν•  수 μžˆλŠ” μ°¨λ³„ν™”λœ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

μ£Όμš” νŠΉμ§•μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  • λͺ¨λΈ 직렬화: TF GraphDef 은 TensorFlow λͺ¨λΈμ„ ν”Œλž«νΌμ— 독립적인 ν˜•μ‹μœΌλ‘œ μ§λ ¬ν™”ν•˜μ—¬ μ €μž₯ν•˜λŠ” 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. 이 μ§λ ¬ν™”λœ ν‘œν˜„μ„ μ‚¬μš©ν•˜λ©΄ 원본 Python μ½”λ“œλ² μ΄μŠ€ 없이도 λͺ¨λΈμ„ λ‘œλ“œν•˜κ³  μ‹€ν–‰ν•  수 μžˆμœΌλ―€λ‘œ 배포가 더 μ‰¬μ›Œμ§‘λ‹ˆλ‹€.

  • κ·Έλž˜ν”„ μ΅œμ ν™”: TF GraphDef 을 μ‚¬μš©ν•˜λ©΄ 계산 κ·Έλž˜ν”„λ₯Ό μ΅œμ ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ΅œμ ν™”λ₯Ό 톡해 μ‹€ν–‰ 흐름을 κ°„μ†Œν™”ν•˜κ³ , 쀑볡을 쀄이며, νŠΉμ • ν•˜λ“œμ›¨μ–΄μ— 맞게 μž‘μ—…μ„ μ‘°μ •ν•˜μ—¬ μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • 배포 μœ μ—°μ„±: GraphDef ν˜•μ‹μœΌλ‘œ 내보낸 λͺ¨λΈμ€ λ¦¬μ†ŒμŠ€κ°€ μ œν•œλœ λ””λ°”μ΄μŠ€, μ›Ή λΈŒλΌμš°μ €, 특수 ν•˜λ“œμ›¨μ–΄κ°€ μ„€μΉ˜λœ μ‹œμŠ€ν…œ λ“± λ‹€μ–‘ν•œ ν™˜κ²½μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ TensorFlow λͺ¨λΈμ„ 더 ν­λ„“κ²Œ 배포할 수 μžˆλŠ” κ°€λŠ₯성이 μ—΄λ¦½λ‹ˆλ‹€.

  • ν”„λ‘œλ•μ…˜ 포컀슀: GraphDef λŠ” ν”„λ‘œλ•μ…˜ 배포λ₯Ό μœ„ν•΄ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 효율적인 μ‹€ν–‰, 직렬화 κΈ°λŠ₯ 및 μ‹€μ œ μ‚¬μš© 사둀에 λΆ€ν•©ν•˜λŠ” μ΅œμ ν™”λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.

배포 μ˜΅μ…˜ TF GraphDef

YOLOv8 λͺ¨λΈμ„ TF GraphDef 둜 λ‚΄λ³΄λ‚΄λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‚΄νŽ΄λ³΄κΈ° 전에 이 ν˜•μ‹μ΄ μ‚¬μš©λ˜λŠ” λͺ‡ 가지 일반적인 배포 상황을 μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

λ‹€μ–‘ν•œ ν”Œλž«νΌμ—μ„œ TF GraphDef 으둜 효율적으둜 λ°°ν¬ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • TensorFlow μ„œλΉ™: 이 ν”„λ ˆμž„μ›Œν¬λŠ” ν”„λ‘œλ•μ…˜ ν™˜κ²½μ— TensorFlow λͺ¨λΈμ„ λ°°ν¬ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. TensorFlow Serving은 λͺ¨λΈ 관리, 버전 관리 및 λŒ€κ·œλͺ¨μ˜ 효율적인 λͺ¨λΈ μ œκ³΅μ„ μœ„ν•œ 인프라λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. GraphDef 기반 λͺ¨λΈμ„ ν”„λ‘œλ•μ…˜ μ›Ή μ„œλΉ„μŠ€ λ˜λŠ” API에 μ›ν™œν•˜κ²Œ 톡합할 수 μžˆλŠ” λ°©λ²•μž…λ‹ˆλ‹€.

  • λͺ¨λ°”일 및 μž„λ² λ””λ“œ λ””λ°”μ΄μŠ€: TensorFlow Lite와 같은 도ꡬλ₯Ό μ‚¬μš©ν•˜λ©΄ TF GraphDef λͺ¨λΈμ„ 슀마트폰, νƒœλΈ”λ¦Ώ 및 λ‹€μ–‘ν•œ μž„λ² λ””λ“œ μž₯μΉ˜μ— μ΅œμ ν™”λœ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 그런 λ‹€μŒ λͺ¨λΈμ„ λ‘œμ»¬μ—μ„œ μ‹€ν–‰λ˜λŠ” μ˜¨λ””λ°”μ΄μŠ€ 좔둠에 μ‚¬μš©ν•  수 있으며, μ’…μ’… μ„±λŠ₯ ν–₯상과 μ˜€ν”„λΌμΈ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

  • μ›Ή λΈŒλΌμš°μ €: TensorFlow.jsλ₯Ό μ‚¬μš©ν•˜λ©΄ μ›Ή λΈŒλΌμš°μ € λ‚΄μ—μ„œ TF GraphDef λͺ¨λΈμ„ 직접 배포할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” JavaScriptλ₯Ό 톡해 YOLOv8 의 κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈ μΈ‘μ—μ„œ μ‹€ν–‰λ˜λŠ” μ‹€μ‹œκ°„ 객체 탐지 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μœ„ν•œ 길을 μ—΄μ–΄μ€λ‹ˆλ‹€.

  • 특수 ν•˜λ“œμ›¨μ–΄: TF GraphDef ν”Œλž«νΌμ— ꡬ애받지 μ•ŠλŠ” νŠΉμ„± 덕뢄에 가속기 및 TPU(Tensor 처리 μž₯치)와 같은 λ§žμΆ€ν˜• ν•˜λ“œμ›¨μ–΄λ₯Ό νƒ€κ²ŸνŒ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ μž₯μΉ˜λŠ” μ—°μ‚° 집약적인 λͺ¨λΈμ— μ„±λŠ₯ 이점을 μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

YOLOv8 λͺ¨λΈλ‘œ 내보내기 TF GraphDef

YOLOv8 개체 감지 λͺ¨λΈμ„ λ‹€μ–‘ν•œ μ‹œμŠ€ν…œκ³Ό ν˜Έν™˜λ˜λŠ” TF GraphDef ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜μ—¬ μ—¬λŸ¬ ν”Œλž«νΌμ—μ„œ μ„±λŠ₯을 κ°œμ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ„€μΉ˜

ν•„μš”ν•œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜λ €λ©΄ μ‹€ν–‰ν•©λ‹ˆλ‹€:

μ„€μΉ˜

# 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 TF GraphDef format
model.export(format="pb")  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolov8n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model=yolov8n.pt format=pb  # creates 'yolov8n.pb'

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

μ§€μ›λ˜λŠ” 내보내기 μ˜΅μ…˜μ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ 배포 μ˜΅μ…˜μ— λŒ€ν•œUltralytics λ¬Έμ„œ νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

내보내기 배포 YOLOv8 TF GraphDef λͺ¨λΈ

YOLOv8 λͺ¨λΈμ„ TF GraphDef ν˜•μ‹μœΌλ‘œ 내보낸 ν›„μ—λŠ” λ‹€μŒ λ‹¨κ³„λŠ” λ°°ν¬μž…λ‹ˆλ‹€. TF GraphDef λͺ¨λΈμ„ μ‹€ν–‰ν•˜κΈ° μœ„ν•œ 기본적이고 ꢌμž₯λ˜λŠ” 첫 번째 λ‹¨κ³„λŠ” μ•žμ„œ μ‚¬μš© μ½”λ“œ 쑰각에 ν‘œμ‹œλœ λŒ€λ‘œ YOLO("model.pb") λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

ν•˜μ§€λ§Œ TF GraphDef λͺ¨λΈ 배포에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ λ‹€μŒ λ¦¬μ†ŒμŠ€λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”:

  • TensorFlow μ„œλΉ™: ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œ λ¨Έμ‹  λŸ¬λ‹ λͺ¨λΈμ„ 효율적으둜 λ°°ν¬ν•˜κ³  μ„œλΉ„μŠ€ν•˜λŠ” 방법을 μ•Œλ €μ£ΌλŠ” TensorFlow μ„œλΉ™μ— λŒ€ν•œ κ°€μ΄λ“œμž…λ‹ˆλ‹€.

  • TensorFlow Lite: 이 νŽ˜μ΄μ§€μ—μ„œλŠ” TensorFlow Liteλ₯Ό μ‚¬μš©ν•˜μ—¬ λ¨Έμ‹  λŸ¬λ‹ λͺ¨λΈμ„ μ˜¨λ””λ°”μ΄μŠ€ 좔둠에 μ΅œμ ν™”λœ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€.

  • TensorFlow.js: TensorFlow λ˜λŠ” Keras λͺ¨λΈμ„ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ‚¬μš©ν•  수 μžˆλ„λ‘ TensorFlow.js ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 방법을 μ•Œλ €μ£ΌλŠ” λͺ¨λΈ λ³€ν™˜ κ°€μ΄λ“œμž…λ‹ˆλ‹€.

μš”μ•½

이 κ°€μ΄λ“œμ—μ„œλŠ” Ultralytics YOLOv8 λͺ¨λΈμ„ TF GraphDef ν˜•μ‹μœΌλ‘œ λ‚΄λ³΄λ‚΄λŠ” 방법에 λŒ€ν•΄ μ‚΄νŽ΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ μ΅œμ ν™”λœ YOLOv8 λͺ¨λΈμ„ λ‹€μ–‘ν•œ ν™˜κ²½μ— μœ μ—°ν•˜κ²Œ 배포할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©λ²•μ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ TF GraphDef 곡식 λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

Ultralytics YOLOv8 을 λ‹€λ₯Έ ν”Œλž«νΌ 및 ν”„λ ˆμž„μ›Œν¬μ™€ ν†΅ν•©ν•˜λŠ” 방법에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ 톡합 κ°€μ΄λ“œ νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”. ν”„λ‘œμ νŠΈμ—μ„œ YOLOv8 을 μ΅œλŒ€ν•œ ν™œμš©ν•˜λŠ” 데 도움이 λ˜λŠ” ν›Œλ₯­ν•œ λ¦¬μ†ŒμŠ€μ™€ μΈμ‚¬μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문

YOLOv8 λͺ¨λΈμ„ TF GraphDef ν˜•μ‹μœΌλ‘œ 내보내렀면 μ–΄λ–»κ²Œ ν•˜λ‚˜μš”?

Ultralytics YOLOv8 λͺ¨λΈμ„ TensorFlow GraphDef (TF GraphDef ) ν˜•μ‹μœΌλ‘œ μ›ν™œν•˜κ²Œ 내보낼 수 μžˆμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ€ ν”Œλž«νΌμ— 독립적인 μ§λ ¬ν™”λœ λͺ¨λΈ ν‘œν˜„μ„ μ œκ³΅ν•˜λ―€λ‘œ λͺ¨λ°”일 및 μ›Ήκ³Ό 같은 λ‹€μ–‘ν•œ ν™˜κ²½μ— λ°°ν¬ν•˜λŠ” 데 μ΄μƒμ μž…λ‹ˆλ‹€. YOLOv8 λͺ¨λΈμ„ TF GraphDef 으둜 내보내렀면 λ‹€μŒ 단계λ₯Ό λ”°λ₯΄μ„Έμš”:

μ‚¬μš©λ²•

from ultralytics import YOLO

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

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolov8n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model="yolov8n.pt" format="pb"  # creates 'yolov8n.pb'

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

λ‹€μ–‘ν•œ 내보내기 μ˜΅μ…˜μ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ λͺ¨λΈ 내보내기 κ΄€λ ¨ λ¬Έμ„œ(Ultralytics )λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

YOLOv8 λͺ¨λΈ 배포에 TF GraphDef 을 μ‚¬μš©ν•˜λ©΄ μ–΄λ–€ 이점이 μžˆλ‚˜μš”?

YOLOv8 λͺ¨λΈμ„ TF GraphDef ν˜•μ‹μœΌλ‘œ 내보내면 λ‹€μŒκ³Ό 같은 μ—¬λŸ¬ 가지 이점이 μžˆμŠ΅λ‹ˆλ‹€:

  1. ν”Œλž«νΌ 독립성: TF GraphDef ν”Œλž«νΌ 독립 ν˜•μ‹μ„ μ œκ³΅ν•˜μ—¬ λͺ¨λ°”일 및 μ›Ή λΈŒλΌμš°μ €λ₯Ό λΉ„λ‘―ν•œ λ‹€μ–‘ν•œ ν™˜κ²½μ— λͺ¨λΈμ„ 배포할 수 μžˆμŠ΅λ‹ˆλ‹€.
  2. μ΅œμ ν™”: 이 ν˜•μ‹μ€ μƒμˆ˜ μ ‘κΈ°, μ–‘μžν™”, κ·Έλž˜ν”„ λ³€ν™˜ λ“± μ—¬λŸ¬ 가지 μ΅œμ ν™”λ₯Ό 톡해 μ‹€ν–‰ νš¨μœ¨μ„ 높이고 λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ„ μ€„μž…λ‹ˆλ‹€.
  3. ν•˜λ“œμ›¨μ–΄ 가속: TF GraphDef ν˜•μ‹μ˜ λͺ¨λΈμ€ GPU, TPU, AI μΉ©κ³Ό 같은 ν•˜λ“œμ›¨μ–΄ 가속기λ₯Ό ν™œμš©ν•˜μ—¬ μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

ν˜œνƒμ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ TF GraphDef λ¬Έμ„œμ—μ„œ ν™•μΈν•˜μ„Έμš”.

λ‹€λ₯Έ 객체 감지 λͺ¨λΈλ³΄λ‹€ Ultralytics YOLOv8 을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μΈκ°€μš”?

Ultralytics YOLOv8 λŠ” YOLOv5 및 YOLOv7κ³Ό 같은 λ‹€λ₯Έ λͺ¨λΈμ— λΉ„ν•΄ λ§Žμ€ 이점을 μ œκ³΅ν•©λ‹ˆλ‹€. λͺ‡ 가지 μ£Όμš” 이점은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  1. μ΅œμ²¨λ‹¨ μ„±λŠ₯: YOLOv8 μ‹€μ‹œκ°„ 객체 감지, μ„ΈλΆ„ν™” 및 λΆ„λ₯˜λ₯Ό μœ„ν•œ νƒμ›”ν•œ 속도와 정확성을 μ œκ³΅ν•©λ‹ˆλ‹€.
  2. μ‚¬μš© νŽΈμ˜μ„±: λͺ¨λΈ ν•™μŠ΅, 검증, 예츑, 내보내기λ₯Ό μœ„ν•œ μ‚¬μš©μž μΉœν™”μ μΈ APIλ₯Ό μ œκ³΅ν•˜μ—¬ μ΄ˆλ³΄μžλΆ€ν„° μ „λ¬Έκ°€κΉŒμ§€ λˆ„κ΅¬λ‚˜ μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  3. 폭넓은 ν˜Έν™˜μ„±: ONNX , TensorRT, CoreML, TensorFlow λ“± λ‹€μ–‘ν•œ 내보내기 ν˜•μ‹μ„ μ§€μ›ν•˜μ—¬ λ‹€μ–‘ν•œ 배포 μ˜΅μ…˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

μžμ„Έν•œ λ‚΄μš©μ€ YOLOv8 μ—μ„œ μžμ„Ένžˆ μ•Œμ•„λ³΄μ„Έμš”.

TF GraphDef 을 μ‚¬μš©ν•˜μ—¬ 특수 ν•˜λ“œμ›¨μ–΄μ— YOLOv8 λͺ¨λΈμ„ λ°°ν¬ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•˜λ‚˜μš”?

YOLOv8 λͺ¨λΈμ„ TF GraphDef ν˜•μ‹μœΌλ‘œ 내보내면 λ‹€μ–‘ν•œ 특수 ν•˜λ“œμ›¨μ–΄ ν”Œλž«νΌμ— 배포할 수 μžˆμŠ΅λ‹ˆλ‹€. 일반적인 배포 μ‹œλ‚˜λ¦¬μ˜€λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  • TensorFlow μ„œλΉ™: ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œ ν™•μž₯ κ°€λŠ₯ν•œ λͺ¨λΈ 배포λ₯Ό μœ„ν•΄ TensorFlow Serving을 μ‚¬μš©ν•˜μ„Έμš”. λͺ¨λΈ 관리와 효율적인 μ„œλΉ™μ„ μ§€μ›ν•©λ‹ˆλ‹€.
  • λͺ¨λ°”일 λ””λ°”μ΄μŠ€: TF GraphDef λͺ¨λΈμ„ λͺ¨λ°”일 및 μž„λ² λ””λ“œ λ””λ°”μ΄μŠ€μ— μ΅œμ ν™”λœ TensorFlow Lite둜 λ³€ν™˜ν•˜μ—¬ λ””λ°”μ΄μŠ€ λ‚΄ 좔둠이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • μ›Ή λΈŒλΌμš°μ €: μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈ μΈ‘ 좔둠을 μœ„ν•΄ TensorFlow.jsλ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ λ°°ν¬ν•©λ‹ˆλ‹€.
  • AI μ•‘μ…€λŸ¬λ ˆμ΄ν„°: TPU와 λ§žμΆ€ν˜• AI 칩을 ν™œμš©ν•˜μ—¬ μΆ”λ‘  속도λ₯Ό λ†’μž…λ‹ˆλ‹€.

μžμ„Έν•œ λ‚΄μš©μ€ 배포 μ˜΅μ…˜ μ„Ήμ…˜μ„ ν™•μΈν•˜μ„Έμš”.

YOLOv8 λͺ¨λΈμ„ λ‚΄λ³΄λ‚΄λŠ” λ™μ•ˆ λ°œμƒν•˜λŠ” 일반적인 λ¬Έμ œμ— λŒ€ν•œ ν•΄κ²° 방법은 μ–΄λ””μ—μ„œ 찾을 수 μžˆλ‚˜μš”?

YOLOv8 λͺ¨λΈ 내보내기와 κ΄€λ ¨λœ 일반적인 문제λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ Ultralytics μ—μ„œ 쒅합적인 κ°€μ΄λ“œμ™€ λ¦¬μ†ŒμŠ€λ₯Ό ν™•μΈν•˜μ„Έμš”. μ„€μΉ˜ λ˜λŠ” λͺ¨λΈ 내보내기 쀑에 λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ λ‹€μŒμ„ μ°Έμ‘°ν•˜μ„Έμš”:

μ΄λŸ¬ν•œ λ¦¬μ†ŒμŠ€λŠ” YOLOv8 λͺ¨λΈ 내보내기 및 배포와 κ΄€λ ¨λœ λŒ€λΆ€λΆ„μ˜ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 도움이 될 κ²ƒμž…λ‹ˆλ‹€.



2024-03-22 생성됨, 2024-07-05 μ—…λ°μ΄νŠΈλ¨
μž‘μ„±μž: glenn-jocher (5), RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)

λŒ“κΈ€