Link to this section신속한 배포를 위한 YOLO26 모델의 TorchScript 내보내기#
PyTorch는 TorchScript를 지원 중단(deprecated)했으며 해당 기능을 점진적으로 제거하고 있습니다. 새로운 모바일 및 엣지 배포의 경우, 지원되는 ExecuTorch 통합을 사용하십시오. Ultralytics는 기존 C++ 호환성을 위해 정기적인 TorchScript 내보내기 기능을 유지합니다.
Python 없이 C++ 환경에서 컴퓨터 비전 모델을 배포하려면 이식 가능한 직렬화된 표현이 필요합니다. TorchScript는 기존 LibTorch 애플리케이션을 위해 이러한 호환성을 제공합니다.
Ultralytics YOLO26 모델을 직렬화하여 플랫폼 간 호환성과 간소화된 배포를 달성하기 위해 TorchScript로 내보내십시오. 이 가이드에서는 YOLO26 모델을 TorchScript 형식으로 내보내는 방법을 보여드리며, 이를 통해 더 광범위한 애플리케이션에서 모델을 더 쉽게 사용할 수 있도록 지원합니다.
Link to this sectionTorchScript로 내보내야 하는 이유는 무엇입니까?#

PyTorch 제작자가 개발한 TorchScript는 다양한 플랫폼에서 PyTorch 모델을 최적화하고 배포하기 위한 강력한 도구입니다. YOLO26 모델을 TorchScript로 내보내는 것은 연구 단계에서 실제 애플리케이션으로 전환하는 데 매우 중요합니다. PyTorch 프레임워크의 일부인 TorchScript는 Python을 지원하지 않는 환경에서도 PyTorch 모델을 사용할 수 있게 함으로써 이러한 전환을 보다 원활하게 만들어 줍니다.
이 과정에는 트레이싱(tracing)과 스크립팅(scripting)이라는 두 가지 기술이 포함됩니다. 트레이싱은 모델 실행 중 작업을 기록하며, 스크립팅은 Python의 하위 집합을 사용하여 모델을 정의할 수 있게 합니다. 이러한 기술을 사용하면 YOLO26과 같은 모델이 기존 Python 환경 외부에서도 정상적으로 작동할 수 있습니다.

TorchScript 모델은 연산자 융합(operator fusion) 및 메모리 사용 최적화와 같은 기술을 통해 최적화할 수 있어 효율적인 실행을 보장합니다. TorchScript로 내보낼 때의 또 다른 장점은 다양한 하드웨어 플랫폼에서 모델 실행을 가속화할 수 있다는 것입니다. 이는 C++ 환경에 통합할 수 있는 독립형 프로덕션 준비 모델 표현을 생성합니다.
Link to this sectionTorchScript 모델의 주요 특징#
PyTorch 생태계의 핵심 부분인 TorchScript는 deep learning 모델을 최적화하고 배포하기 위한 강력한 기능을 제공합니다.

개발자에게 TorchScript를 가치 있는 도구로 만들어 주는 주요 기능은 다음과 같습니다:
-
정적 그래프 실행(Static Graph Execution): TorchScript는 PyTorch의 동적 그래프 실행과는 다른 모델 연산의 정적 그래프 표현을 사용합니다. 정적 그래프 실행에서는 실제 실행 전에 연산 그래프가 정의되고 컴파일되므로 추론 중 성능이 향상됩니다.
-
모델 직렬화(Model Serialization): TorchScript를 사용하면 PyTorch 모델을 플랫폼 독립적인 형식으로 직렬화할 수 있습니다. 직렬화된 모델은 원본 Python 코드 없이도 로드할 수 있어 다양한 런타임 환경에 배포가 가능합니다.
-
JIT 컴파일: TorchScript는 JIT(Just-In-Time) 컴파일을 사용하여 PyTorch 모델을 최적화된 중간 표현으로 변환합니다. JIT는 모델의 연산 그래프를 컴파일하여 대상 장치에서 효율적인 실행을 가능하게 합니다.
-
점진적 변환(Gradual Conversion): TorchScript는 점진적 변환 방식을 제공하여 PyTorch 모델의 일부를 단계적으로 TorchScript로 변환할 수 있습니다. 이러한 유연성은 복잡한 모델을 다루거나 코드의 특정 부분을 최적화하려는 경우 특히 유용합니다.
Link to this sectionTorchScript의 배포 옵션#
YOLO26 모델을 TorchScript 형식으로 내보내는 코드를 살펴보기 전에, TorchScript 모델이 일반적으로 어디에 사용되는지 알아보겠습니다.
TorchScript는 다음과 같은 machine learning 모델에 대한 다양한 배포 옵션을 제공합니다.
-
C++ API: TorchScript의 가장 일반적인 사용 사례는 LibTorch C++ API로, 이를 통해 C++ 애플리케이션 내에서 최적화된 TorchScript 모델을 직접 로드하고 실행할 수 있습니다. 이는 Python을 사용하기 어렵거나 사용할 수 없는 프로덕션 환경에 이상적입니다. C++ API는 TorchScript 모델을 오버헤드가 적고 효율적으로 실행하여 성능 잠재력을 극대화합니다.
-
모바일 배포: 모바일 장치에서의 저지연 오프라인 추론 및 데이터 개인정보 보호를 위해서는 TorchScript Mobile의 PyTorch 대체재인 ExecuTorch를 사용하십시오.
-
클라우드 배포: 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 형식은 Export, Predict, Validate 모드를 지원합니다. 모델을 내보낸 다음 내보낸 모델을 로드하여 추론을 실행하거나 정확도를 검증하십시오.
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내보내기 인수#
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
format | str | 'torchscript' | 내보낸 모델의 대상 형식이며, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력에 필요한 이미지 크기입니다. 정사각형 이미지의 경우 정수를 사용할 수 있으며, 특정 치수의 경우 (height, width) 튜플을 사용할 수 있습니다. |
dynamic | bool | False | 동적 입력 크기를 허용하여 다양한 이미지 크기를 처리하는 데 유연성을 높입니다. |
quantize | int 또는 str | None | 양자화 정밀도: 16 (FP16)은 device=0을 사용한 GPU 내보내기가 필요하며, 32/미설정은 FP32입니다. 이는 더 이상 사용되지 않는 half 플래그를 대체합니다. |
nms | bool | False | 정확하고 효율적인 탐지 후처리에 필수적인 NMS(Non-Maximum Suppression)를 추가합니다. |
batch | int | 1 | 내보낸 모델의 배치 추론 크기 또는 내보낸 모델이 predict 모드에서 동시에 처리할 최대 이미지 수를 지정합니다. |
device | str | None | 내보내기를 위한 장치를 지정합니다: 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 모바일 배포를 위해서는 ExecuTorch의 별도
torch.export()→.pte파이프라인을 사용하십시오. -
서버 측 배포 마스터: 확장 가능하고 효율적인 모델 서비스를 위한 단계별 자습서를 제공하는 TorchServe를 사용하여 서버 측에 모델을 배포하는 방법을 배우십시오.
-
C++ 배포 구현: C++ 애플리케이션에 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++ 환경에 모델을 배포할 때 유용합니다.
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를 사용하면 다음과 같은 여러 가지 장점이 있습니다:
- 이식성: 내보낸 모델은 Python 없이 C++ 애플리케이션에서 실행될 수 있습니다.
- 최적화: TorchScript는 정적 그래프 실행과 JIT(Just-In-Time) 컴파일을 지원하여 모델 성능을 최적화할 수 있습니다.
- 언어 간 통합: TorchScript 모델을 다른 프로그래밍 언어에 통합하여 유연성과 확장성을 높일 수 있습니다.
- 직렬화: 모델을 직렬화하여 플랫폼 독립적인 로딩과 추론을 가능하게 합니다.
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: 오버헤드가 낮고 효율성이 뛰어난 프로덕션 환경을 위해 LibTorch를 사용하십시오.
- Mobile Deployment: Use ExecuTorch, PyTorch's supported replacement with a separate
.pteexport pipeline. - 클라우드 배포: 확장 가능한 서버 측 배포를 위해 TorchServe와 같은 서비스를 활용하십시오.
TorchScript의 기능을 최대한 활용하려면 이러한 환경에서 모델을 배포하기 위한 포괄적인 지침을 살펴보십시오.