배포를 위해 YOLO11 에서 TF GraphDef 으로 내보내는 방법
YOLO11 과 같은 최첨단 컴퓨터 비전 모델을 다양한 환경에 배포할 때 호환성 문제가 발생할 수 있습니다. Google's TensorFlow GraphDef 또는 TF GraphDef 은 플랫폼에 독립적인 직렬화된 모델 표현을 제공함으로써 해결책을 제시합니다. TF GraphDef 모델 형식을 사용하면 모바일 디바이스나 특수 하드웨어와 같이 전체 TensorFlow 에코시스템을 사용할 수 없는 환경에서 YOLO11 모델을 배포할 수 있습니다.
이 가이드에서는 모델을 내보내는 방법을 단계별로 안내합니다. Ultralytics YOLO11 모델을 TF GraphDef 모델 형식으로 내보내는 방법을 단계별로 안내합니다. 모델을 변환하면 배포를 간소화하고 YOLO11 의 컴퓨터 비전 기능을 더 다양한 애플리케이션과 플랫폼에서 사용할 수 있습니다.
TF GraphDef 으로 내보내야 하는 이유 ?
TF GraphDef 는 Google 에서 개발한 TensorFlow 에코시스템의 강력한 구성 요소입니다. YOLO11 과 같은 모델을 최적화하고 배포하는 데 사용할 수 있습니다. TF GraphDef 으로 내보내면 모델을 연구용에서 실제 애플리케이션으로 이동할 수 있습니다. 이를 통해 전체 TensorFlow 프레임워크가 없는 환경에서도 모델을 실행할 수 있습니다.
GraphDef 형식은 모델을 직렬화된 계산 그래프로 나타냅니다. 이를 통해 상수 폴딩, 양자화, 그래프 변환과 같은 다양한 최적화 기법을 사용할 수 있습니다. 이러한 최적화를 통해 효율적인 실행, 메모리 사용량 감소, 추론 속도 향상을 보장합니다.
GraphDef 모델은 GPU, TPU, AI 칩과 같은 하드웨어 가속기를 사용할 수 있어 YOLO11 추론 파이프라인의 성능을 크게 향상시킬 수 있습니다. TF GraphDef 형식은 모델과 해당 종속성이 포함된 독립형 패키지를 생성하여 다양한 시스템으로의 배포 및 통합을 간소화합니다.
주요 기능 TF GraphDef 모델
TF GraphDef 는 모델 배포 및 최적화를 간소화할 수 있는 차별화된 기능을 제공합니다.
주요 특징은 다음과 같습니다:
-
모델 직렬화: TF GraphDef 은 TensorFlow 모델을 플랫폼에 독립적인 형식으로 직렬화하여 저장하는 방법을 제공합니다. 이 직렬화된 표현을 사용하면 원본 Python 코드베이스 없이도 모델을 로드하고 실행할 수 있으므로 배포가 더 쉬워집니다.
-
그래프 최적화: TF GraphDef 을 사용하면 계산 그래프를 최적화할 수 있습니다. 이러한 최적화를 통해 실행 흐름을 간소화하고, 중복을 줄이며, 특정 하드웨어에 맞게 작업을 조정하여 성능을 향상시킬 수 있습니다.
-
배포 유연성: GraphDef 형식으로 내보낸 모델은 리소스가 제한된 디바이스, 웹 브라우저, 특수 하드웨어가 설치된 시스템 등 다양한 환경에서 사용할 수 있습니다. 따라서 TensorFlow 모델을 더 폭넓게 배포할 수 있는 가능성이 열립니다.
-
프로덕션 포커스: GraphDef 는 프로덕션 배포를 위해 설계되었습니다. 효율적인 실행, 직렬화 기능 및 실제 사용 사례에 부합하는 최적화를 지원합니다.
배포 옵션 TF GraphDef
YOLO11 모델을 TF GraphDef 로 내보내는 프로세스를 살펴보기 전에 이 형식이 사용되는 몇 가지 일반적인 배포 상황을 살펴보겠습니다.
다양한 플랫폼에서 TF GraphDef 으로 효율적으로 배포하는 방법은 다음과 같습니다.
-
TensorFlow 서빙: 이 프레임워크는 프로덕션 환경에 TensorFlow 모델을 배포하도록 설계되었습니다. TensorFlow Serving은 모델 관리, 버전 관리 및 대규모의 효율적인 모델 제공을 위한 인프라를 제공합니다. GraphDef 기반 모델을 프로덕션 웹 서비스 또는 API에 원활하게 통합할 수 있는 방법입니다.
-
모바일 및 임베디드 디바이스: TensorFlow Lite와 같은 도구를 사용하면 스마트폰, 태블릿 및 다양한 임베디드 디바이스에 최적화된 형식으로 TF GraphDef 모델을 변환할 수 있습니다. 그런 다음 모델을 로컬에서 실행되는 온디바이스 추론에 사용할 수 있으며, 종종 성능 향상과 오프라인 기능을 제공합니다.
-
웹 브라우저: TensorFlow.js를 사용하면 웹 브라우저 내에서 직접 TF GraphDef 모델을 배포할 수 있습니다. 이는 JavaScript를 통해 YOLO11 기능을 사용하여 클라이언트 측에서 실행되는 실시간 객체 감지 애플리케이션을 위한 길을 열어줍니다.
-
특수 하드웨어: TF GraphDef 플랫폼에 구애받지 않는 특성 덕분에 가속기 및 TPU(Tensor 처리 장치)와 같은 맞춤형 하드웨어를 타겟팅할 수 있습니다. 이러한 장치는 연산 집약적인 모델에 성능 이점을 제공할 수 있습니다.
YOLO11 모델로 내보내기 TF GraphDef
YOLO11 개체 감지 모델을 다양한 시스템과 호환되는 TF GraphDef 형식으로 변환하여 여러 플랫폼에서 성능을 개선할 수 있습니다.
설치
필요한 패키지를 설치하려면 실행합니다:
설치 과정과 관련된 자세한 지침과 모범 사례는 Ultralytics 설치 가이드를 참조하세요. YOLO11 에 필요한 패키지를 설치하는 동안 문제가 발생하면 일반적인 문제 가이드를 참조하여 해결 방법과 팁을 확인하세요.
사용법
사용 지침을 살펴보기 전에 모든 Ultralytics YOLO11 모델에서 내보내기를 사용할 수 있지만, 선택한 모델이 내보내기 기능을 지원하는지 여기에서 확인할 수 있다는 점에 유의하세요.
사용법
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
내보내기 인수
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
format |
str |
'pb' |
내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz |
int 또는 tuple |
640 |
모델 입력에 사용할 원하는 이미지 크기입니다. 정사각형 이미지의 경우 정수 또는 튜플일 수 있습니다. (height, width) 를 입력합니다. |
batch |
int |
1 |
내보내기 모델 일괄 추론 크기 또는 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. predict 모드로 전환합니다. |
내보내기 프로세스에 대한 자세한 내용은 내보내기 관련 문서 페이지(Ultralytics )를 참조하세요.
내보내기 배포 YOLO11 TF GraphDef 모델
YOLO11 모델을 TF GraphDef 형식으로 내보낸 후에는 다음 단계는 배포입니다. TF GraphDef 모델을 실행하기 위한 기본적이고 권장되는 첫 번째 단계는 앞서 사용 코드 조각에 표시된 대로 YOLO("model.pb") 메서드를 사용하는 것입니다.
하지만 TF GraphDef 모델 배포에 대한 자세한 내용은 다음 리소스를 참조하세요:
-
TensorFlow 서빙: 프로덕션 환경에서 머신 러닝 모델을 효율적으로 배포하고 서비스하는 방법을 알려주는 TensorFlow 서빙 가이드입니다.
-
TensorFlow Lite: 이 페이지에서는 TensorFlow Lite를 사용하여 머신 러닝 모델을 온디바이스 추론에 최적화된 형식으로 변환하는 방법을 설명합니다.
-
TensorFlow.js: TensorFlow 또는 Keras 모델을 웹 애플리케이션에서 사용할 수 있도록 TensorFlow.js 형식으로 변환하는 방법을 알려주는 모델 변환 가이드입니다.
요약
이 가이드에서는 Ultralytics YOLO11 모델을 TF GraphDef 형식으로 내보내는 방법에 대해 살펴보았습니다. 이렇게 하면 최적화된 YOLO11 모델을 다양한 환경에 유연하게 배포할 수 있습니다.
사용법에 대한 자세한 내용은 TF GraphDef 공식 문서를 참조하세요.
Ultralytics YOLO11 을 다른 플랫폼 및 프레임워크와 통합하는 방법에 대한 자세한 내용은 통합 가이드 페이지를 참조하세요. 프로젝트에서 YOLO11 을 최대한 활용하는 데 도움이 되는 훌륭한 리소스와 인사이트가 있습니다.
자주 묻는 질문
YOLO11 모델을 TF GraphDef 형식으로 내보내려면 어떻게 하나요?
Ultralytics YOLO11 모델을 TensorFlow GraphDef (TF GraphDef ) 형식으로 원활하게 내보낼 수 있습니다. 이 형식은 플랫폼에 독립적인 직렬화된 모델 표현을 제공하므로 모바일 및 웹과 같은 다양한 환경에 배포하는 데 이상적입니다. YOLO11 모델을 TF GraphDef 으로 내보내려면 다음 단계를 따르세요:
사용법
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
다양한 내보내기 옵션에 대한 자세한 내용은 모델 내보내기 관련 문서(Ultralytics )를 참조하세요.
YOLO11 모델 배포에 TF GraphDef 을 사용하면 어떤 이점이 있나요?
YOLO11 모델을 TF GraphDef 형식으로 내보내면 다음과 같은 여러 가지 이점이 있습니다:
- 플랫폼 독립성: TF GraphDef 플랫폼 독립 형식을 제공하여 모바일 및 웹 브라우저를 비롯한 다양한 환경에 모델을 배포할 수 있습니다.
- 최적화: 이 형식은 상수 폴딩, 양자화, 그래프 변환 등 여러 가지 최적화를 통해 실행 효율을 높이고 메모리 사용량을 줄일 수 있습니다.
- 하드웨어 가속: TF GraphDef 형식의 모델은 GPU, TPU, AI 칩과 같은 하드웨어 가속기를 활용하여 성능을 향상시킬 수 있습니다.
혜택에 대한 자세한 내용은 TF GraphDef 문서에서 확인하세요.
다른 객체 감지 모델보다 Ultralytics YOLO11 을 사용해야 하는 이유는 무엇인가요?
Ultralytics YOLO11 는 YOLOv5 및 YOLOv7과 같은 다른 모델에 비해 많은 이점을 제공합니다. 몇 가지 주요 이점은 다음과 같습니다:
- 최첨단 성능: YOLO11 실시간 객체 감지, 세분화 및 분류를 위한 탁월한 속도와 정확성을 제공합니다.
- 사용 편의성: 모델 학습, 검증, 예측, 내보내기를 위한 사용자 친화적인 API를 제공하여 초보자부터 전문가까지 누구나 쉽게 사용할 수 있습니다.
- 폭넓은 호환성: ONNX , TensorRT, CoreML, TensorFlow 등 다양한 내보내기 형식을 지원하여 다양한 배포 옵션을 제공합니다.
자세한 내용은 YOLO11 에서 자세히 알아보세요.
TF GraphDef 을 사용하여 특수 하드웨어에 YOLO11 모델을 배포하려면 어떻게 해야 하나요?
YOLO11 모델을 TF GraphDef 형식으로 내보내면 다양한 특수 하드웨어 플랫폼에 배포할 수 있습니다. 일반적인 배포 시나리오는 다음과 같습니다:
- TensorFlow 서빙: 프로덕션 환경에서 확장 가능한 모델 배포를 위해 TensorFlow Serving을 사용하세요. 모델 관리와 효율적인 서빙을 지원합니다.
- 모바일 디바이스: TF GraphDef 모델을 모바일 및 임베디드 디바이스에 최적화된 TensorFlow Lite로 변환하여 디바이스 내 추론이 가능합니다.
- 웹 브라우저: 웹 애플리케이션에서 클라이언트 측 추론을 위해 TensorFlow.js를 사용하여 모델을 배포합니다.
- AI 액셀러레이터: TPU와 맞춤형 AI 칩을 활용하여 추론 속도를 높입니다.
자세한 내용은 배포 옵션 섹션을 확인하세요.
YOLO11 모델을 내보내는 동안 발생하는 일반적인 문제에 대한 해결 방법은 어디에서 찾을 수 있나요?
YOLO11 모델 내보내기와 관련된 일반적인 문제 해결을 위해 Ultralytics 에서 종합적인 가이드와 리소스를 제공합니다. 설치 또는 모델 내보내기 중에 문제가 발생하면 다음을 참조하세요:
- 일반적인 문제 가이드: 자주 발생하는 문제에 대한 해결책을 제공합니다.
- 설치 가이드: 필요한 패키지를 설정하기 위한 단계별 지침입니다.
이러한 리소스는 YOLO11 모델 내보내기 및 배포와 관련된 대부분의 문제를 해결하는 데 도움이 될 것입니다.