TF SavedModel 다음 주소로 내보내는 방법 이해하기 YOLO11
머신러닝 모델을 배포하는 것은 어려울 수 있습니다. 하지만 효율적이고 유연한 모델 형식을 사용하면 작업이 더 쉬워질 수 있습니다. TF SavedModel 은 TensorFlow 에서 머신러닝 모델을 일관된 방식으로 로드하는 데 사용하는 오픈 소스 머신러닝 프레임워크입니다. TensorFlow 모델을 위한 여행 가방과 같아서 다양한 기기와 시스템에서 쉽게 휴대하고 사용할 수 있습니다.
다음에서 TF SavedModel 으로 내보내는 방법 배우기 Ultralytics YOLO11 모델로 내보내는 방법을 배우면 다양한 플랫폼과 환경에서 모델을 쉽게 배포할 수 있습니다. 이 가이드에서는 모델을 TF SavedModel 형식으로 변환하는 방법을 안내하여 다양한 장치에서 모델을 사용하여 추론을 실행하는 프로세스를 간소화합니다.
TF SavedModel 으로 내보내야 하는 이유 ?
TensorFlow SavedModel 형식은 아래 그림과 같이 Google 에서 개발한 TensorFlow 에코시스템의 일부입니다. TensorFlow 모델을 원활하게 저장하고 직렬화하도록 설계되었습니다. 여기에는 아키텍처, 가중치, 컴파일 정보 등 모델의 전체 세부 정보가 캡슐화되어 있습니다. 따라서 다양한 환경에서 모델을 공유하고, 배포하고, 교육을 계속할 수 있습니다.
TF SavedModel 주요 장점은 호환성입니다. TensorFlow Serving, TensorFlow Lite 및 TensorFlow.js와 잘 작동합니다. 이러한 호환성 덕분에 웹 및 모바일 애플리케이션을 포함한 다양한 플랫폼에서 모델을 더 쉽게 공유하고 배포할 수 있습니다. TF SavedModel 형식은 연구와 생산 모두에 유용합니다. 모델을 관리할 수 있는 통합된 방법을 제공하여 모든 애플리케이션에 사용할 수 있도록 합니다.
TF SavedModels의 주요 기능
다음은 TF SavedModel 을 AI 개발자에게 훌륭한 옵션으로 만드는 주요 기능입니다:
-
이식성: TF SavedModel 은 언어 중립적이고 복구가 가능하며 밀폐된 직렬화 형식을 제공합니다. 이를 통해 상위 시스템과 도구에서 TensorFlow 모델을 생성, 소비 및 변환할 수 있습니다. 저장된 모델은 다양한 플랫폼과 환경에서 쉽게 공유하고 배포할 수 있습니다.
-
배포 용이성: TF SavedModel 계산 그래프, 학습된 매개변수, 필요한 메타데이터를 단일 패키지로 묶어 제공합니다. 모델을 구축한 원본 코드 없이도 쉽게 로드하여 추론에 사용할 수 있습니다. 따라서 다양한 프로덕션 환경에서 TensorFlow 모델을 간단하고 효율적으로 배포할 수 있습니다.
-
자산 관리: TF SavedModel 은 어휘, 임베딩 또는 조회 테이블과 같은 외부 자산을 포함할 수 있도록 지원합니다. 이러한 자산은 그래프 정의 및 변수와 함께 저장되어 모델이 로드될 때 사용할 수 있습니다. 이 기능은 외부 리소스에 의존하는 모델의 관리 및 배포를 간소화합니다.
배포 옵션 TF SavedModel
YOLO11 모델을 TF SavedModel 형식으로 내보내는 프로세스에 대해 자세히 알아보기 전에 이 형식이 사용되는 몇 가지 일반적인 배포 시나리오를 살펴보겠습니다.
TF SavedModel 는 머신러닝 모델을 배포할 수 있는 다양한 옵션을 제공합니다:
-
TensorFlow 서빙: TensorFlow Serving은 프로덕션 환경을 위해 설계된 유연한 고성능 서빙 시스템입니다. 기본적으로 TF 저장 모델을 지원하므로 클라우드 플랫폼, 온프레미스 서버 또는 엣지 디바이스에서 모델을 쉽게 배포하고 제공할 수 있습니다.
-
클라우드 플랫폼: Google Cloud Platform(GCP), Amazon Web Services(AWS), Microsoft Azure와 같은 주요 클라우드 제공업체는 TF 저장 모델을 포함한 TensorFlow 모델을 배포하고 실행하기 위한 서비스를 제공합니다. 이러한 서비스는 확장 가능하고 관리되는 인프라를 제공하므로 모델을 쉽게 배포하고 확장할 수 있습니다.
-
모바일 및 임베디드 장치: 모바일, 임베디드, IoT 기기에서 머신 러닝 모델을 실행하기 위한 경량 솔루션인 TensorFlow Lite는 TF 저장된 모델을 TensorFlow Lite 형식으로 변환하는 기능을 지원합니다. 이를 통해 스마트폰과 태블릿부터 마이크로컨트롤러와 엣지 디바이스에 이르기까지 다양한 디바이스에 모델을 배포할 수 있습니다.
-
TensorFlow 런타임: TensorFlow 런타임 (
tfrt
)는 실행을 위한 고성능 런타임입니다. TensorFlow 그래프. C++ 환경에서 TF 저장된 모델을 로드하고 실행하기 위한 하위 수준 API를 제공합니다. TensorFlow 런타임은 표준 TensorFlow 런타임에 비해 더 나은 성능을 제공합니다. 지연 시간이 짧은 추론과 기존 C++ 코드베이스와의 긴밀한 통합이 필요한 배포 시나리오에 적합합니다.
YOLO11 모델로 내보내기 TF SavedModel
YOLO11 모델을 TF SavedModel 형식으로 내보내면 다양한 플랫폼에서 적응성과 배포 용이성을 높일 수 있습니다.
설치
필요한 패키지를 설치하려면 실행합니다:
설치 과정과 관련된 자세한 지침과 모범 사례는 Ultralytics 설치 가이드를 참조하세요. YOLO11 에 필요한 패키지를 설치하는 동안 문제가 발생하면 일반적인 문제 가이드를 참조하여 해결 방법과 팁을 확인하세요.
사용법
사용 지침을 살펴보기 전에 모든 Ultralytics YOLO11 모델에서 내보내기를 사용할 수 있지만, 선택한 모델이 내보내기 기능을 지원하는지 여기에서 확인할 수 있다는 점에 유의하세요.
사용법
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
내보내기 인수
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
format |
str |
'saved_model' |
내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz |
int 또는 tuple |
640 |
모델 입력에 사용할 원하는 이미지 크기입니다. 정사각형 이미지의 경우 정수 또는 튜플일 수 있습니다. (height, width) 를 입력합니다. |
keras |
bool |
False |
Keras 형식으로 내보내기를 활성화하여 TensorFlow 서비스 및 API와의 호환성을 제공합니다. |
int8 |
bool |
False |
INT8 양자화를 활성화하여 모델을 더욱 압축하고 주로 에지 디바이스의 경우 정확도 손실을 최소화하면서 추론 속도를 높입니다. |
nms |
bool |
False |
정확하고 효율적인 검출 후처리에 필수적인 비최대 억제(NMS)를 추가합니다. |
batch |
int |
1 |
내보내기 모델 일괄 추론 크기 또는 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. predict 모드로 전환합니다. |
내보내기 프로세스에 대한 자세한 내용은 내보내기 관련 문서 페이지(Ultralytics )를 참조하세요.
내보내기 배포 YOLO11 TF SavedModel 모델
이제 YOLO11 모델을 TF SavedModel 형식으로 내보냈으므로 다음 단계는 배포하는 것입니다. TF SavedModel 모델을 실행하기 위한 기본적이고 권장되는 첫 번째 단계는 YOLO("yolo11n_saved_model/")
메서드에 대한 사용 코드 스니펫을 참조하세요.
하지만 TF SavedModel 모델 배포에 대한 자세한 지침은 다음 리소스를 참조하세요:
-
TensorFlow 서빙: TF SavedModel 모델을 사용하여 배포하는 방법에 대한 개발자 문서는 TensorFlow 서빙을 참조하세요.
-
Node.js에서 TensorFlow SavedModel 실행: 변환 없이 직접 TensorFlow SavedModel 을 Node.js에서 실행하는 방법에 대한 TensorFlow 블로그 게시물입니다.
-
클라우드에 배포: Cloud AI 플랫폼에서 TensorFlow SavedModel 모델 배포에 대한 TensorFlow 블로그 게시물.
요약
이 가이드에서는 Ultralytics YOLO11 모델을 TF SavedModel 형식으로 내보내는 방법을 살펴보았습니다. TF SavedModel 으로 내보내면 다양한 플랫폼에서 YOLO11 모델을 최적화, 배포 및 확장할 수 있는 유연성을 확보할 수 있습니다.
사용법에 대한 자세한 내용은 TF SavedModel 공식 문서를 참조하세요.
Ultralytics YOLO11 을 다른 플랫폼 및 프레임워크와 통합하는 방법에 대한 자세한 내용은 통합 가이드 페이지를 참조하세요. 프로젝트에서 YOLO11 을 최대한 활용하는 데 도움이 되는 유용한 리소스가 가득합니다.
자주 묻는 질문
Ultralytics YOLO 모델을 TensorFlow SavedModel 형식으로 내보내려면 어떻게 하나요?
Ultralytics YOLO 모델을 TensorFlow SavedModel 형식으로 내보내는 방법은 간단합니다. Python 또는 CLI 을 사용하면 됩니다:
YOLO11 으로 내보내기 TF SavedModel
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
자세한 내용은 Ultralytics 내보내기 문서를 참조하세요.
TensorFlow SavedModel 형식을 사용해야 하는 이유는 무엇인가요?
TensorFlow SavedModel 형식은 모델 배포에 몇 가지 이점을 제공합니다:
- 이식성: 언어 중립적인 형식을 제공하므로 다양한 환경에서 모델을 쉽게 공유하고 배포할 수 있습니다.
- 호환성: 웹 및 모바일 애플리케이션을 비롯한 다양한 플랫폼에 모델을 배포하는 데 필수적인 TensorFlow Serving, TensorFlow Lite, TensorFlow.js와 같은 도구와 원활하게 통합됩니다.
- 완벽한 캡슐화: 모델 아키텍처, 가중치 및 컴파일 정보를 인코딩하여 간편하게 공유하고 교육을 계속할 수 있습니다.
더 많은 혜택과 배포 옵션은 Ultralytics YOLO 모델 배포 옵션에서 확인하세요.
TF SavedModel 의 일반적인 배포 시나리오는 무엇입니까?
TF SavedModel 를 포함한 다양한 환경에 배포할 수 있습니다:
- TensorFlow 서빙: 서빙: 확장 가능한 고성능 모델 서빙이 필요한 프로덕션 환경에 이상적입니다.
- 클라우드 플랫폼: 확장 가능한 모델 배포를 위해 Google Cloud Platform(GCP), Amazon Web Services(AWS), Microsoft Azure와 같은 주요 클라우드 서비스를 지원합니다.
- 모바일 및 임베디드 장치: TF 저장 모델을 변환하기 위해 TensorFlow Lite를 사용하면 모바일 장치, IoT 장치 및 마이크로 컨트롤러에 배포할 수 있습니다.
- TensorFlow 런타임: 지연 시간이 짧고 성능이 우수한 추론이 필요한 C++ 환경에 적합합니다.
자세한 배포 옵션은 모델 배포에 대한 공식 가이드( TensorFlow )를 참조하세요.
YOLO11 모델을 내보내는 데 필요한 패키지를 설치하려면 어떻게 해야 하나요?
YOLO11 모델을 내보내려면 다음을 설치해야 합니다. ultralytics
패키지를 다운로드합니다. 터미널에서 다음 명령을 실행합니다:
자세한 설치 지침과 모범 사례는 Ultralytics 설치 가이드를 참조하세요. 문제가 발생하면 일반적인 문제 가이드를 참조하세요.
TensorFlow SavedModel 형식의 주요 기능은 무엇인가요?
TF SavedModel 형식은 다음과 같은 기능으로 인해 AI 개발자에게 유용합니다:
- 이동성: 다양한 환경에서 손쉽게 공유하고 배포할 수 있습니다.
- 배포 용이성: 계산 그래프, 학습된 파라미터, 메타데이터를 단일 패키지로 캡슐화하여 로딩과 추론을 간소화합니다.
- 자산 관리: 어휘와 같은 외부 자산을 지원하여 모델이 로드될 때 사용할 수 있도록 합니다.
자세한 내용은 공식 문서( TensorFlow )를 참조하세요.