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 모델을 스마트폰, 태블릿, 다양한 임베디드 기기에 최적화된 형식으로 변환할 수 있습니다. 변환된 모델은 로컬에서 실행되는 온디바이스 추론에 사용되어 성능 향상 및 오프라인 기능을 제공할 수 있습니다.
-
웹 브라우저: 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 | 모델 입력에 필요한 이미지 크기입니다. 정사각형 이미지의 경우 정수를 사용할 수 있으며, 특정 치수의 경우 (height, width) 튜플을 사용할 수 있습니다. |
quantize | int 또는 str | None | FP32 내보내기가 수정되었습니다. GraphDef는 내보내기 시점의 FP16, INT8 또는 W8A16 정밀도 변환을 지원하지 않습니다. |
batch | int | 1 | 내보낸 모델의 배치 추론 크기 또는 내보낸 모델이 predict 모드에서 동시에 처리할 최대 이미지 수를 지정합니다. |
device | str | None | 내보내기를 위한 디바이스를 지정합니다: CPU(device=cpu), Apple 실리콘용 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 sectionFAQ#
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 모델 내보내기 및 배포와 관련된 대부분의 문제를 해결하는 데 도움이 될 것입니다.