Link to this sectionUltralytics YOLO를 사용한 모델 벤치마킹#
Link to this section벤치마크 시각화#
쿠키 문제로 인해 그래프가 올바르게 표시되지 않을 경우 페이지를 새로고침해야 할 수 있습니다.
Link to this section소개#
모델 학습과 검증이 완료되면, 다음 단계는 다양한 실제 시나리오에서 모델의 성능을 평가하는 것입니다. Ultralytics YOLO26의 벤치마크 모드는 이러한 목적을 위해 다양한 내보내기 형식 전반에 걸쳐 모델의 속도와 정확도를 평가할 수 있는 강력한 프레임워크를 제공합니다.
Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?
Link to this section왜 벤치마킹이 중요한가요?#
- 정보에 기반한 결정: 속도와 정확도 간의 상충 관계에 대한 통찰력을 얻으십시오.
- 자원 할당: 다양한 하드웨어에서 서로 다른 내보내기 형식이 어떻게 작동하는지 파악하십시오.
- 최적화: 특정 사용 사례에 가장 적합한 성능을 제공하는 내보내기 형식을 알아보십시오.
- 비용 효율성: 벤치마크 결과를 기반으로 하드웨어 자원을 보다 효율적으로 사용하십시오.
Link to this section벤치마크 모드의 핵심 지표#
- mAP50-95: 객체 탐지, 세그멘테이션 및 자세 추정을 위한 지표입니다.
- accuracy_top1: 이미지 분류를 위한 지표입니다.
- 추론 시간: 각 이미지를 처리하는 데 소요된 시간(밀리초 단위)입니다.
Link to this section지원되는 내보내기 형식#
- ONNX: 최적의 CPU 성능을 위해 사용합니다.
- TensorRT: 최대 GPU 효율성을 위해 사용합니다.
- OpenVINO: Intel 하드웨어 최적화를 위해 사용합니다.
- CoreML, TensorFlow SavedModel 등: 다양한 배포 요구 사항을 지원합니다.
- ONNX 또는 OpenVINO로 내보내어 최대 3배의 CPU 속도 향상을 경험하십시오.
- TensorRT로 내보내어 최대 5배의 GPU 속도 향상을 경험하십시오.
Link to this section사용 예제#
패키지 누락을 방지하려면 벤치마킹 전에 내보내기 종속 항목과 함께 Ultralytics를 설치하십시오.
pip install ultralytics[export]지원되는 모든 내보내기 형식(ONNX, TensorRT 등)에 대해 YOLO26n 벤치마크를 실행합니다. 전체 내보내기 옵션 목록은 아래의 인수 섹션을 참조하십시오.
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")Link to this section인수#
model, data, imgsz, half, device, verbose 및 format과 같은 인수를 사용하면 사용자가 자신의 필요에 맞춰 벤치마크를 세밀하게 조정하고 다양한 내보내기 형식의 성능을 쉽게 비교할 수 있습니다.
| 키 | 기본값 | 설명 |
|---|---|---|
model | None | 모델 파일의 경로를 지정합니다. .pt 및 .yaml 형식을 모두 허용하며, 예를 들어 사전 학습된 모델이나 설정 파일에 대해 "yolo26n.pt"와 같이 입력합니다. |
data | None | 벤치마킹을 위한 데이터셋을 정의하는 YAML 파일 경로로, 일반적으로 검증 데이터의 경로와 설정을 포함합니다. 예시: "coco8.yaml". |
imgsz | 640 | 모델의 입력 이미지 크기입니다. 정사각형 이미지의 경우 단일 정수(예: 640)여야 하며, benchmark()는 정사각형 이미지 크기만 지원합니다. |
half | False | FP16(반정밀도) 추론을 활성화하여 메모리 사용량을 줄이고 호환되는 하드웨어에서 속도를 높일 수 있습니다. 활성화하려면 half=True를 사용하십시오. |
int8 | False | 지원되는 장치에서 성능을 추가로 최적화하기 위해 INT8 양자화를 활성화하며, 특히 에지 장치에 유용합니다. 사용하려면 int8=True로 설정하십시오. |
device | 'cpu' | 벤치마킹을 위한 계산 장치를 정의합니다(예: "cpu" 또는 "cuda:0"). |
verbose | False | 로깅 출력의 세부 수준을 제어합니다. 자세한 로그를 보려면 verbose=True로 설정하십시오. |
format | '' | 지정된 내보내기 형식만 벤치마크합니다(예: format=onnx). 지원되는 모든 형식을 자동으로 테스트하려면 이 항목을 비워두십시오. |
Link to this section내보내기 형식#
벤치마크는 아래 나열된 모든 가능한 내보내기 형식에 대해 자동으로 실행을 시도합니다. 또는 아래 언급된 형식 중 하나를 허용하는 format 인수를 사용하여 특정 형식에 대한 벤치마크를 실행할 수도 있습니다.
| 형식 | format 인수 | 모델 | 메타데이터 | 인수 |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
전체 export 세부 사항은 Export 페이지에서 확인하십시오.
Link to this sectionFAQ#
Link to this sectionUltralytics를 사용하여 YOLO26 모델 성능을 벤치마킹하려면 어떻게 해야 합니까?#
Ultralytics YOLO26은 다양한 내보내기 형식에 걸쳐 모델 성능을 평가하는 벤치마크 모드를 제공합니다. 이 모드는 mean Average Precision(mAP50-95), 정확도, 밀리초 단위의 추론 시간과 같은 주요 지표에 대한 통찰력을 제공합니다. 벤치마크를 실행하려면 Python 또는 CLI 명령을 사용할 수 있습니다. 예를 들어, GPU에서 벤치마크를 실행하려면 다음과 같습니다.
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)벤치마크 인수에 대한 자세한 내용은 Arguments 섹션을 방문하십시오.
Link to this sectionYOLO26 모델을 다른 형식으로 내보낼 때 얻을 수 있는 이점은 무엇입니까?#
YOLO26 모델을 ONNX, TensorRT, OpenVINO와 같은 다양한 형식으로 내보내면 배포 환경에 따라 성능을 최적화할 수 있습니다. 예를 들면 다음과 같습니다.
- ONNX: 최대 3배의 CPU 속도 향상을 제공합니다.
- TensorRT: 최대 5배의 GPU 속도 향상을 제공합니다.
- OpenVINO: Intel 하드웨어에 최적화되어 있습니다.
이러한 형식은 모델의 속도와 정확도를 모두 향상시켜 다양한 실제 애플리케이션에서 더욱 효율적으로 사용할 수 있게 합니다. 전체 세부 정보는 Export 페이지를 방문하십시오.
Link to this sectionYOLO26 모델을 평가할 때 벤치마킹이 중요한 이유는 무엇입니까?#
YOLO26 모델 벤치마킹은 여러 가지 이유로 필수적입니다:
- 정보에 기반한 의사결정: 속도와 정확도 간의 상충 관계(trade-off)를 이해합니다.
- 리소스 할당: 다양한 하드웨어 옵션에 걸친 성능을 측정합니다.
- 최적화: 특정 사용 사례에 가장 적합한 성능을 제공하는 내보내기 형식을 결정합니다.
- 비용 효율성: 벤치마크 결과를 기반으로 하드웨어 사용량을 최적화합니다.
mAP50-95, Top-1 정확도, 추론 시간과 같은 주요 지표는 이러한 평가를 수행하는 데 도움이 됩니다. 더 자세한 내용은 주요 지표 섹션을 참조하십시오.
Link to this sectionYOLO26에서 지원하는 내보내기 형식은 무엇이며, 각각의 장점은 무엇입니까?#
YOLO26은 특정 하드웨어와 사용 사례에 맞춰진 다양한 내보내기 형식을 지원합니다:
- ONNX: CPU 성능에 최적입니다.
- TensorRT: GPU 효율성에 이상적입니다.
- OpenVINO: Intel 하드웨어에 최적화되어 있습니다.
- CoreML & TensorFlow: iOS 및 일반적인 ML 애플리케이션에 유용합니다.
지원되는 형식의 전체 목록과 각 형식의 장점은 Supported Export Formats 섹션을 확인하십시오.
Link to this sectionYOLO26 벤치마크를 미세 조정하기 위해 어떤 인수를 사용할 수 있습니까?#
벤치마크를 실행할 때 특정 요구 사항에 맞춰 여러 인수를 사용자 정의할 수 있습니다:
- model: 모델 파일 경로 (예: "yolo26n.pt").
- data: 데이터셋을 정의하는 YAML 파일 경로 (예: "coco8.yaml").
- imgsz: 단일 정수 또는 튜플로 지정되는 입력 이미지 크기.
- half: 더 나은 성능을 위해 FP16 추론을 활성화합니다.
- int8: 에지 장치를 위해 INT8 양자화를 활성화합니다.
- device: 계산 장치를 지정합니다 (예: "cpu", "cuda:0").
- verbose: 로깅 세부 정보 수준을 제어합니다.
인수의 전체 목록은 Arguments 섹션을 참조하십시오.