Link to this sectionYOLO26에서 배포용 TF GraphDef로 내보내는 방법#
YOLO26과 같은 최첨단 컴퓨터 비전 모델을 다양한 환경에 배포할 때 호환성 문제가 발생할 수 있습니다. Google의 TensorFlow GraphDef(TF GraphDef)는 모델을 플랫폼 독립적인 직렬화된 형태로 제공하여 이러한 문제를 해결합니다. TF GraphDef 모델 형식을 사용하면 모바일 장치나 특수 하드웨어와 같이 완전한 TensorFlow 생태계를 사용할 수 없는 환경에서도 YOLO26 모델을 배포할 수 있습니다.
이 가이드에서는 Ultralytics YOLO26 모델을 TF GraphDef 모델 형식으로 내보내는 방법을 단계별로 안내합니다. 모델을 변환하면 배포를 간소화하고 더 넓은 범위의 애플리케이션 및 플랫폼에서 YOLO26의 컴퓨터 비전 기능을 활용할 수 있습니다.
Link to this sectionTF GraphDef로 내보내야 하는 이유는 무엇인가요?#
TF GraphDef는 Google에서 개발한 TensorFlow 생태계의 강력한 구성 요소입니다. YOLO26과 같은 모델을 최적화하고 배포하는 데 사용할 수 있습니다. TF GraphDef로 내보내면 모델을 연구 단계에서 실제 애플리케이션으로 전환할 수 있으며, 전체 TensorFlow 프레임워크가 없는 환경에서도 모델을 실행할 수 있습니다.
GraphDef 형식은 모델을 직렬화된 연산 그래프로 표현합니다. 이를 통해 상수 폴딩(constant folding), 양자화(quantization), 그래프 변환과 같은 다양한 최적화 기술을 적용할 수 있습니다. 이러한 최적화는 효율적인 실행, 메모리 사용량 감소, 더 빠른 추론 속도를 보장합니다.
GraphDef 모델은 GPU, TPU, AI 칩과 같은 하드웨어 가속기를 사용할 수 있어 YOLO26 추론 파이프라인의 성능을 크게 향상시킵니다. TF GraphDef 형식은 모델과 해당 종속 항목을 포함하는 독립형 패키지를 생성하여 다양한 시스템에 배포하고 통합하는 과정을 단순화합니다.
Link to this sectionTF GraphDef 모델의 주요 특징#
TF GraphDef는 모델 배포 및 최적화를 간소화하기 위한 고유한 기능을 제공합니다.
주요 특징은 다음과 같습니다:
-
모델 직렬화: TF GraphDef는 TensorFlow 모델을 플랫폼 독립적인 형식으로 직렬화하고 저장하는 방법을 제공합니다. 이 직렬화된 표현을 사용하면 원본 Python 코드베이스 없이도 모델을 로드하고 실행할 수 있어 배포가 더 쉬워집니다.
-
그래프 최적화: TF GraphDef를 통해 연산 그래프를 최적화할 수 있습니다. 이러한 최적화는 실행 흐름을 간소화하고 중복을 줄이며 특정 하드웨어에 맞춰 연산을 조정함으로써 성능을 향상시킬 수 있습니다.
-
배포 유연성: GraphDef 형식으로 내보낸 모델은 리소스가 제한된 장치, 웹 브라우저, 특수 하드웨어가 있는 시스템 등 다양한 환경에서 사용할 수 있습니다. 이는 TensorFlow 모델을 더 광범위하게 배포할 수 있는 가능성을 열어줍니다.
-
프로덕션 중심: GraphDef는 프로덕션 배포를 위해 설계되었습니다. 실제 사용 사례에 부합하는 효율적인 실행, 직렬화 기능 및 최적화를 지원합니다.
Link to this sectionTF GraphDef를 이용한 배포 옵션#
YOLO26 모델을 TF GraphDef로 내보내는 과정을 시작하기 전에, 이 형식이 일반적으로 사용되는 배포 상황을 살펴보겠습니다.
TF GraphDef를 사용하여 다양한 플랫폼에 효율적으로 배포하는 방법은 다음과 같습니다.
-
TensorFlow Serving: 이 프레임워크는 프로덕션 환경에서 TensorFlow 모델을 배포하기 위해 설계되었습니다. TensorFlow Serving은 모델 관리, 버전 관리, 대규모의 효율적인 모델 서빙을 위한 인프라를 제공합니다. GraphDef 기반 모델을 프로덕션 웹 서비스나 API에 통합하는 원활한 방법입니다.
-
모바일 및 임베디드 장치: TensorFlow Lite와 같은 도구를 사용하면 TF GraphDef 모델을 스마트폰, 태블릿 및 다양한 임베디드 장치에 최적화된 형식으로 변환할 수 있습니다. 그 후 장치 내 추론(on-device inference)에 사용할 수 있으며, 로컬에서 실행되어 성능 향상과 오프라인 기능을 제공합니다.
-
웹 브라우저: TensorFlow.js는 웹 브라우저 내에서 직접 TF GraphDef 모델을 배포할 수 있게 합니다. 이는 JavaScript를 통해 YOLO26의 기능을 활용하여 클라이언트 측에서 실시간 객체 탐지 애플리케이션을 실행할 수 있는 기반을 마련합니다.
-
특수 하드웨어: TF GraphDef의 플랫폼 독립적인 특성 덕분에 가속기나 TPU(Tensor Processing Units)와 같은 맞춤형 하드웨어를 타겟팅할 수 있습니다. 이러한 장치는 연산 집약적인 모델에 대해 성능 이점을 제공할 수 있습니다.
Link to this sectionYOLO26 모델을 TF GraphDef로 내보내기#
YOLO26 객체 탐지 모델을 다양한 시스템과 호환되는 TF GraphDef 형식으로 변환하여 플랫폼 전반에서 성능을 개선할 수 있습니다.
Link to this section설치#
필요한 패키지를 설치하려면 다음을 실행하십시오:
# Install the required package for YOLO26
pip install ultralytics설치 과정과 관련된 자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 확인하십시오. YOLO26용 필수 패키지를 설치하는 동안 문제가 발생하면 공통 문제 가이드에서 해결 방법과 팁을 확인하십시오.
Link to this section사용법#
모든 Ultralytics YOLO26 모델은 즉시 내보내기를 지원하도록 설계되어 있어 선호하는 배포 워크플로우에 쉽게 통합할 수 있습니다. 지원되는 내보내기 형식 및 구성 옵션 전체 목록을 확인하여 애플리케이션에 가장 적합한 설정을 선택할 수 있습니다.
TF GraphDef 형식은 Export, Predict, Validate 모드를 지원합니다. 모델을 내보낸 다음, 내보낸 모델을 로드하여 추론을 실행하거나 정확도를 검증하십시오.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this section내보내기 인수#
| 인수 | 타입 | 기본값 | 설명 |
|---|---|---|---|
format | str | 'pb' | 내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
batch | int | 1 | 내보낸 모델의 배치 추론 크기 또는 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. |
device | str | None | 내보내기 장치를 지정합니다: CPU(device=cpu), Apple Silicon의 경우 MPS(device=mps). |
내보내기 과정에 대한 자세한 내용은 내보내기에 관한 Ultralytics 문서 페이지를 방문하십시오.
Link to this section내보낸 YOLO26 TF GraphDef 모델 배포하기#
YOLO26 모델을 TF GraphDef 형식으로 내보낸 후, 다음 단계는 배포입니다. TF GraphDef 모델을 실행하기 위한 가장 기본적이고 권장되는 첫 번째 단계는 앞서 사용 코드 스니펫에서 보여드린 것처럼 YOLO("model.pb") 메서드를 사용하는 것입니다.
그러나 TF GraphDef 모델 배포에 대한 자세한 정보는 다음 리소스를 참조하십시오:
-
TensorFlow Serving: 프로덕션 환경에서 머신러닝 모델을 효율적으로 배포하고 서빙하는 방법을 알려주는 TensorFlow Serving 가이드입니다.
-
TensorFlow Lite: 머신러닝 모델을 TensorFlow Lite를 사용한 장치 내 추론에 최적화된 형식으로 변환하는 방법을 설명하는 페이지입니다.
-
TensorFlow.js: TensorFlow 또는 Keras 모델을 웹 애플리케이션용 TensorFlow.js 형식으로 변환하는 방법을 교육하는 모델 변환 가이드입니다.
Link to this section요약#
이 가이드에서는 Ultralytics YOLO26 모델을 TF GraphDef 형식으로 내보내는 방법을 살펴보았습니다. 이를 통해 최적화된 YOLO26 모델을 다양한 환경에서 유연하게 배포할 수 있습니다.
사용법에 대한 자세한 내용은 TF GraphDef 공식 문서를 방문하십시오.
Ultralytics YOLO26을 다른 플랫폼 및 프레임워크와 통합하는 방법에 대한 자세한 내용은 통합 가이드 페이지를 참조하십시오.
Link to this section자주 묻는 질문(FAQ)#
Link to this sectionYOLO26 모델을 TF GraphDef 형식으로 내보내려면 어떻게 해야 하나요?#
Ultralytics YOLO26 모델은 TensorFlow GraphDef(TF GraphDef) 형식으로 원활하게 내보낼 수 있습니다. 이 형식은 모바일 및 웹과 같은 다양한 환경에서의 배포에 이상적인, 플랫폼 독립적인 직렬화된 모델 표현을 제공합니다. YOLO26 모델을 TF GraphDef로 내보내려면 다음 단계를 따르십시오:
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo26n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")다양한 내보내기 옵션에 대한 자세한 정보는 모델 내보내기에 관한 Ultralytics 문서를 참조하십시오.
Link to this sectionYOLO26 모델 배포에 TF GraphDef를 사용하면 어떤 이점이 있나요?#
YOLO26 모델을 TF GraphDef 형식으로 내보내면 다음과 같은 여러 가지 이점이 있습니다:
- 플랫폼 독립성: TF GraphDef는 플랫폼 독립적인 형식을 제공하여 모바일 및 웹 브라우저를 포함한 다양한 환경에 모델을 배포할 수 있습니다.
- 최적화: 이 형식은 실행 효율성을 높이고 메모리 사용량을 줄이는 상수 폴딩, 양자화 및 그래프 변환과 같은 여러 최적화를 지원합니다.
- 하드웨어 가속: TF GraphDef 형식의 모델은 GPU, TPU, AI 칩과 같은 하드웨어 가속기를 활용하여 성능 향상을 얻을 수 있습니다.
문서의 TF GraphDef 섹션에서 이점에 대해 자세히 알아보십시오.
Link to this section다른 객체 탐지 모델보다 Ultralytics YOLO26을 사용해야 하는 이유는 무엇인가요?#
Ultralytics YOLO26은 YOLOv5 및 YOLOv7과 같은 다른 모델에 비해 많은 장점을 제공합니다. 주요 이점은 다음과 같습니다:
- State-of-the-Art Performance: YOLO26 provides exceptional speed and accuracy for real-time object detection, instance segmentation, semantic segmentation, and classification.
- 사용 편의성: 모델 학습, 검증, 예측 및 내보내기를 위한 사용자 친화적인 API를 갖추고 있어 초보자와 전문가 모두가 쉽게 사용할 수 있습니다.
- 광범위한 호환성: ONNX, TensorRT, CoreML 및 TensorFlow를 포함한 다양한 내보내기 형식을 지원하여 유연한 배포 옵션을 제공합니다.
YOLO26 소개에서 자세한 내용을 확인하십시오.
Link to this sectionTF GraphDef를 사용하여 특수 하드웨어에 YOLO26 모델을 배포하려면 어떻게 해야 하나요?#
YOLO26 모델을 TF GraphDef 형식으로 내보내면 다양한 특수 하드웨어 플랫폼 전반에 배포할 수 있습니다. 일반적인 배포 시나리오는 다음과 같습니다:
- TensorFlow Serving: 프로덕션 환경에서의 확장 가능한 모델 배포를 위해 TensorFlow Serving을 사용하십시오. 모델 관리 및 효율적인 서빙을 지원합니다.
- 모바일 장치: TF GraphDef 모델을 모바일 및 임베디드 장치에 최적화된 TensorFlow Lite로 변환하여 장치 내 추론을 가능하게 합니다.
- 웹 브라우저: 웹 애플리케이션의 클라이언트 측 추론을 위해 TensorFlow.js를 사용하여 모델을 배포하십시오.
- AI 가속기: 가속된 추론을 위해 TPU 및 맞춤형 AI 칩을 활용하십시오.
자세한 내용은 배포 옵션 섹션을 확인하십시오.
Link to this sectionYOLO26 모델을 내보내는 동안 발생하는 일반적인 문제에 대한 해결책은 어디서 찾을 수 있나요?#
YOLO26 모델 내보내기와 관련된 일반적인 문제 해결을 위해 Ultralytics는 포괄적인 가이드와 리소스를 제공합니다. 설치나 모델 내보내기 중 문제가 발생하면 다음을 참조하십시오:
- 일반적인 문제 가이드: 자주 발생하는 문제에 대한 해결책을 제공합니다.
- 설치 가이드: 필요한 패키지를 설정하기 위한 단계별 지침을 제공합니다.
이 리소스들은 YOLO26 모델 내보내기 및 배포와 관련된 대부분의 문제를 해결하는 데 도움이 될 것입니다.