Meet YOLO26: next-gen vision AI.

Link to this section신속한 배포를 위한 YOLO26 모델의 TorchScript 내보내기#

임베디드 시스템, 웹 브라우저 또는 Python 지원이 제한된 플랫폼을 포함한 다양한 환경에 컴퓨터 비전 모델을 배포하려면 유연하고 이식 가능한 솔루션이 필요합니다. TorchScript는 이식성과 전체 Python 프레임워크를 사용할 수 없는 환경에서도 모델을 실행할 수 있는 기능에 중점을 둡니다. 이는 다양한 장치나 플랫폼에서 컴퓨터 비전 기능을 배포해야 하는 시나리오에 이상적입니다.

Ultralytics YOLO26 모델을 교차 플랫폼 호환성과 간소화된 배포를 위해 직렬화하려면 TorchScript로 내보내십시오. 이 가이드에서는 YOLO26 모델을 TorchScript 형식으로 내보내는 방법을 보여드리며, 이를 통해 더 광범위한 애플리케이션에서 더 쉽게 사용할 수 있도록 지원합니다.

Link to this section왜 TorchScript로 내보내야 할까요?#

TorchScript 모델 직렬화 및 배포 워크플로우 개요

PyTorch 제작자가 개발한 TorchScript는 다양한 플랫폼에서 PyTorch 모델을 최적화하고 배포하기 위한 강력한 도구입니다. YOLO26 모델을 TorchScript로 내보내는 것은 연구 단계에서 실제 애플리케이션으로 전환하는 데 매우 중요합니다. PyTorch 프레임워크의 일부인 TorchScript는 Python을 지원하지 않는 환경에서도 PyTorch 모델을 사용할 수 있도록 함으로써 이러한 전환을 더욱 원활하게 해줍니다.

이 프로세스는 트레이싱(tracing)과 스크립팅(scripting)이라는 두 가지 기술을 포함합니다. 트레이싱은 모델 실행 중 작업을 기록하고, 스크립팅은 Python의 하위 집합을 사용하여 모델을 정의할 수 있게 합니다. 이러한 기술은 YOLO26과 같은 모델이 일반적인 Python 환경 외부에서도 여전히 작동할 수 있도록 보장합니다.

TorchScript 스크립팅 vs 트레이싱 비교

TorchScript 모델은 연산자 융합(operator fusion) 및 메모리 사용량 개선과 같은 기술을 통해 최적화되어 효율적인 실행을 보장할 수 있습니다. TorchScript로 내보낼 때의 또 다른 장점은 다양한 하드웨어 플랫폼 전반에서 모델 실행을 가속화할 수 있다는 것입니다. 이는 C++ 환경, 임베디드 시스템에 통합하거나 웹 또는 모바일 애플리케이션에 배포할 수 있는 독립형의 즉시 사용 가능한 PyTorch 모델 표현을 생성합니다.

Link to this sectionTorchScript 모델의 주요 기능#

PyTorch 생태계의 핵심 요소인 TorchScript는 딥러닝 모델을 최적화하고 배포하기 위한 강력한 기능을 제공합니다.

TorchScript 주요 기능 개요

다음은 개발자에게 TorchScript를 가치 있는 도구로 만드는 주요 기능입니다:

  • 정적 그래프 실행(Static Graph Execution): TorchScript는 PyTorch의 동적 그래프 실행과 다른 모델 연산의 정적 그래프 표현을 사용합니다. 정적 그래프 실행에서는 연산 그래프가 실제 실행 전에 한 번 정의되고 컴파일되므로 추론 중 성능이 향상됩니다.

  • 모델 직렬화(Model Serialization): TorchScript를 사용하면 PyTorch 모델을 플랫폼 독립적인 형식으로 직렬화할 수 있습니다. 직렬화된 모델은 원본 Python 코드 없이도 로드할 수 있어 다양한 런타임 환경에 배포할 수 있습니다.

  • JIT 컴파일(JIT Compilation): TorchScript는 Just-In-Time(JIT) 컴파일을 사용하여 PyTorch 모델을 최적화된 중간 표현으로 변환합니다. JIT는 모델의 연산 그래프를 컴파일하여 대상 장치에서 효율적인 실행을 가능하게 합니다.

  • 교차 언어 통합(Cross-Language Integration): TorchScript를 사용하면 PyTorch 모델을 C++, Java, JavaScript와 같은 다른 언어로 내보낼 수 있습니다. 이를 통해 서로 다른 언어로 작성된 기존 소프트웨어 시스템에 PyTorch 모델을 더 쉽게 통합할 수 있습니다.

  • 점진적 변환(Gradual Conversion): TorchScript는 점진적 변환 접근 방식을 제공하여 PyTorch 모델의 일부를 TorchScript로 단계적으로 변환할 수 있게 합니다. 이러한 유연성은 복잡한 모델을 다루거나 코드의 특정 부분을 최적화하려는 경우 특히 유용합니다.

Link to this sectionTorchScript의 배포 옵션#

YOLO26 모델을 TorchScript 형식으로 내보내는 코드를 살펴보기 전에 TorchScript 모델이 일반적으로 어디에 사용되는지 이해해 보겠습니다.

TorchScript는 다음과 같은 머신러닝 모델을 위한 다양한 배포 옵션을 제공합니다:

  • C++ API: TorchScript의 가장 일반적인 사용 사례는 C++ API이며, 이를 통해 최적화된 TorchScript 모델을 C++ 애플리케이션 내에서 직접 로드하고 실행할 수 있습니다. 이는 Python이 적합하지 않거나 사용할 수 없는 프로덕션 환경에 이상적입니다. C++ API는 TorchScript 모델의 낮은 오버헤드와 효율적인 실행을 제공하여 성능 잠재력을 극대화합니다.

  • 모바일 배포(Mobile Deployment): TorchScript는 모바일 장치에 즉시 배포할 수 있는 형식으로 모델을 변환하는 도구를 제공합니다. PyTorch Mobile은 iOS 및 Android 앱 내에서 이러한 모델을 실행하기 위한 런타임을 제공합니다. 이를 통해 지연 시간이 짧은 오프라인 추론이 가능하여 사용자 경험과 데이터 개인정보 보호를 향상시킵니다.

  • 클라우드 배포(Cloud Deployment): TorchScript 모델은 TorchServe와 같은 솔루션을 사용하여 클라우드 기반 서버에 배포할 수 있습니다. 이는 프로덕션 환경에서 확장 가능한 배포를 위해 모델 버전 관리, 배치 처리, 메트릭 모니터링과 같은 기능을 제공합니다. TorchScript를 이용한 클라우드 배포를 통해 API 또는 기타 웹 서비스를 통해 모델에 액세스할 수 있습니다.

Link to this sectionTorchScript로 내보내기: YOLO26 모델 변환#

YOLO26 모델을 TorchScript로 내보내면 다양한 곳에서 더 쉽게 사용할 수 있고 더 빠르고 효율적으로 실행할 수 있습니다. 이는 실제 애플리케이션에서 딥러닝 모델을 보다 효과적으로 사용하려는 모든 사람에게 훌륭한 선택입니다.

Link to this section설치#

필수 패키지를 설치하려면 다음 명령어를 실행하십시오:

설치
# Install the required package for YOLO26
pip install ultralytics

설치 과정과 관련된 자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 확인하십시오. YOLO26을 위한 필수 패키지를 설치하는 동안 어려움이 발생하면 일반 문제 가이드에서 해결 방법과 팁을 확인하시기 바랍니다.

Link to this section사용법#

모든 Ultralytics YOLO26 모델은 즉시 내보내기를 지원하도록 설계되어 있어, 선호하는 배포 워크플로우에 쉽게 통합할 수 있습니다. 지원되는 내보내기 형식 및 구성 옵션 전체 목록을 확인하여 애플리케이션에 가장 적합한 설정을 선택하십시오.

TorchScript 형식은 내보내기, 예측검증 모드를 지원합니다. 모델을 내보낸 다음 내보낸 모델을 로드하여 추론을 실행하거나 정확도를 검증하십시오.

내보내기
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'
예측
from ultralytics import YOLO

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
검증
from ultralytics import YOLO

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this section내보내기 인수#

인수유형기본값설명
formatstr'torchscript'내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다.
imgszint 또는 tuple640모델 입력에 필요한 이미지 크기입니다. 정사각형 이미지의 경우 정수를 사용하거나, 특정 치수의 경우 튜플 (height, width)을 사용할 수 있습니다.
dynamicboolFalse동적 입력 크기를 허용하여 다양한 이미지 크기 처리 시 유연성을 높입니다.
halfboolFalseFP16(반정밀도) 양자화를 활성화하여 모델 크기를 줄이고 지원되는 하드웨어에서 추론 속도를 잠재적으로 향상시킵니다.
optimizeboolFalse모바일 장치에 최적화를 적용하여 잠재적으로 모델 크기를 줄이고 성능을 향상시킵니다.
nmsboolFalse정확하고 효율적인 탐지 후처리에 필수적인 NMS(Non-Maximum Suppression)를 추가합니다.
batchint1내보낸 모델의 추론 배치 크기나 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다.
devicestrNone내보내기를 위한 장치를 지정합니다: GPU (device=0), CPU (device=cpu), Apple silicon용 MPS (device=mps).

내보내기 프로세스에 대한 자세한 내용은 내보내기에 관한 Ultralytics 문서 페이지를 방문하십시오.

Link to this section내보낸 YOLO26 TorchScript 모델 배포#

Ultralytics YOLO26 모델을 TorchScript 형식으로 성공적으로 내보낸 후 이제 배포할 수 있습니다. TorchScript 모델을 실행하기 위한 기본적이고 권장되는 첫 번째 단계는 이전 사용 코드 스니펫에 설명된 대로 YOLO("model.torchscript") 메서드를 사용하는 것입니다. 다른 설정에서 TorchScript 모델을 배포하는 방법에 대한 자세한 지침은 다음 리소스를 참조하십시오:

  • 모바일 배포 탐색: PyTorch 모바일 설명서는 모바일 장치에 모델을 배포하기 위한 포괄적인 가이드라인을 제공하여 애플리케이션의 효율성과 반응성을 보장합니다.

  • 서버 측 배포 마스터하기: TorchServe를 사용하여 서버 측에서 모델을 배포하는 방법을 배우고 확장 가능하고 효율적인 모델 서비스를 위한 단계별 튜토리얼을 제공합니다.

  • C++ 배포 구현: C++에서 TorchScript 모델 로드에 대한 튜토리얼을 살펴보고, 향상된 성능과 다용도성을 위해 TorchScript 모델을 C++ 애플리케이션에 통합하는 방법을 익히십시오.

Link to this section요약#

이 가이드에서는 Ultralytics YOLO26 모델을 TorchScript 형식으로 내보내는 과정을 살펴보았습니다. 제공된 지침을 따르면 성능을 위해 YOLO26 모델을 최적화하고 다양한 플랫폼과 환경 전반에 걸쳐 배포할 수 있는 유연성을 확보할 수 있습니다.

사용에 대한 자세한 내용은 TorchScript 공식 문서를 방문하십시오.

또한 다른 Ultralytics YOLO26 통합에 대해 자세히 알고 싶으시면 통합 가이드 페이지를 방문하십시오. 거기에서 많은 유용한 리소스와 통찰력을 얻을 수 있습니다.

Link to this sectionFAQ#

Link to this sectionUltralytics YOLO26 모델의 TorchScript 내보내기란 무엇인가요?#

Ultralytics YOLO26 모델을 TorchScript로 내보내면 유연한 교차 플랫폼 배포가 가능합니다. PyTorch 생태계의 일부인 TorchScript는 Python 지원이 부족한 환경에서도 실행할 수 있는 모델 직렬화를 촉진합니다. 이는 임베디드 시스템, C++ 환경, 모바일 애플리케이션, 심지어 웹 브라우저에 모델을 배포하는 데 이상적입니다. TorchScript로 내보내면 다양한 플랫폼에서 YOLO26 모델의 효율적인 성능과 더 넓은 적용 가능성을 확보할 수 있습니다.

Link to this sectionUltralytics를 사용하여 YOLO26 모델을 TorchScript로 어떻게 내보낼 수 있나요?#

YOLO26 모델을 TorchScript로 내보내려면 다음 예제 코드를 사용하십시오:

사용법
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")

내보내기 프로세스에 대한 자세한 내용은 내보내기에 대한 Ultralytics 문서를 참조하십시오.

Link to this sectionYOLO26 모델 배포에 왜 TorchScript를 사용해야 하나요?#

YOLO26 모델 배포에 TorchScript를 사용하면 다음과 같은 여러 가지 이점이 있습니다:

  • 이식성(Portability): 내보낸 모델은 C++ 애플리케이션, 임베디드 시스템 또는 모바일 장치와 같이 Python이 필요 없는 환경에서 실행할 수 있습니다.
  • 최적화(Optimization): TorchScript는 정적 그래프 실행과 JIT 컴파일을 지원하여 모델 성능을 최적화할 수 있습니다.
  • 교차 언어 통합(Cross-Language Integration): TorchScript 모델은 다른 프로그래밍 언어에 통합될 수 있어 유연성과 확장성이 향상됩니다.
  • 직렬화(Serialization): 모델을 직렬화하여 플랫폼 독립적인 로드 및 추론이 가능합니다.

For more insights into deployment, visit the TorchServe Documentation and the C++ Deployment Guide. For on-device mobile deployment, PyTorch now recommends ExecuTorch, which uses its own separate torch.export().pte pipeline rather than TorchScript.

Link to this sectionYOLO26 모델을 TorchScript로 내보내기 위한 설치 단계는 무엇인가요?#

YOLO26 모델 내보내기를 위한 필수 패키지를 설치하려면 다음 명령어를 사용하십시오:

설치
# Install the required package for YOLO26
pip install ultralytics

자세한 지침은 Ultralytics 설치 가이드를 방문하십시오. 설치 중 문제가 발생하면 일반 문제 가이드를 참조하십시오.

Link to this section내보낸 TorchScript YOLO26 모델을 어떻게 배포하나요?#

YOLO26 모델을 TorchScript 형식으로 내보낸 후에는 다양한 플랫폼에 배포할 수 있습니다:

  • C++ API: 낮은 오버헤드와 매우 효율적인 프로덕션 환경에 이상적입니다.
  • Mobile Deployment: Run TorchScript models on-device with LibTorch (the PyTorch C++ runtime). For new mobile projects, PyTorch recommends ExecuTorch, a separate .pte export pipeline.
  • 클라우드 배포(Cloud Deployment): 확장 가능한 서버 측 배포를 위해 TorchServe와 같은 서비스를 활용하십시오.

이러한 설정에서 모델을 배포하기 위한 포괄적인 가이드라인을 탐색하여 TorchScript의 기능을 최대한 활용하십시오.

댓글