Ultralytics YOLO를 사용한 모델 벤치마킹

Ultralytics YOLO ecosystem and integrations

벤치마크 시각화

브라우저 새로고침

쿠키 문제로 인해 그래프가 올바르게 표시되지 않을 경우 페이지를 새로고침해야 할 수 있습니다.

소개

모델 학습 및 검증이 완료되면, 다양한 실제 환경에서 성능을 평가하는 것이 논리적인 다음 단계입니다. Ultralytics YOLO26의 벤치마크 모드는 이러한 목적을 위해 다양한 내보내기 형식에 걸쳐 모델의 속도와 정확도를 평가할 수 있는 강력한 프레임워크를 제공합니다.



Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?

벤치마킹이 중요한 이유는 무엇입니까?

  • 정보에 기반한 의사 결정: 속도와 정확도 간의 트레이드오프에 대한 통찰력을 얻습니다.
  • 리소스 할당: 서로 다른 하드웨어에서 각기 다른 내보내기 형식이 어떻게 작동하는지 이해합니다.
  • 최적화: 특정 사용 사례에 가장 적합한 성능을 제공하는 내보내기 형식을 파악합니다.
  • 비용 효율성: 벤치마크 결과를 바탕으로 하드웨어 리소스를 더욱 효율적으로 사용합니다.

벤치마크 모드의 핵심 지표

  • mAP50-95: 객체 탐지, 세그멘테이션 및 자세 추정을 위한 지표입니다.
  • accuracy_top5: 이미지 분류를 위한 지표입니다.
  • 추론 시간: 각 이미지를 처리하는 데 걸리는 시간(밀리초 단위).

지원되는 내보내기 형식

  • ONNX: 최적의 CPU 성능을 위해 사용합니다.
  • TensorRT: 최대의 GPU 효율성을 위해 사용합니다.
  • OpenVINO: Intel 하드웨어 최적화를 위해 사용합니다.
  • CoreML, TensorFlow SavedModel 등: 다양한 배포 요구 사항을 충족합니다.
  • ONNX 또는 OpenVINO로 내보내어 최대 3배의 CPU 속도 향상을 경험하십시오.
  • TensorRT로 내보내어 최대 5배의 GPU 속도 향상을 경험하십시오.

사용 예시

권장 설치 방법

패키지 누락을 방지하기 위해 벤치마킹 전에 내보내기 종속 항목과 함께 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")

인수

model, data, imgsz, half, device, verboseformat과 같은 인수를 사용하여 사용자는 벤치마크를 특정 요구 사항에 맞게 미세 조정하고 서로 다른 내보내기 형식의 성능을 쉽게 비교할 수 있습니다.

기본값설명
modelNone모델 파일 경로를 지정합니다. .pt.yaml 형식을 모두 허용하며, 예를 들어 사전 학습된 모델이나 구성 파일에 대해 "yolo26n.pt"를 사용할 수 있습니다.
dataNone벤치마킹용 데이터셋을 정의하는 YAML 파일 경로로, 일반적으로 검증 데이터의 경로와 설정을 포함합니다. 예: "coco8.yaml".
imgsz640모델에 대한 입력 이미지 크기입니다. 정사각형 이미지를 위한 단일 정수 또는 정사각형이 아닌 이미지를 위한 튜플 (width, height)(예: (640, 480))를 사용할 수 있습니다.
halfFalseFP16(반정밀도) 추론을 활성화하여 메모리 사용량을 줄이고 호환되는 하드웨어에서 속도를 높일 수 있습니다. 활성화하려면 half=True를 사용하십시오.
int8False더욱 최적화된 성능을 위해 INT8 양자화를 활성화하며, 특히 에지 장치에서 유용합니다. 사용하려면 int8=True를 설정하십시오.
deviceNone벤치마킹을 수행할 연산 장치를 정의합니다(예: "cpu" 또는 "cuda:0").
verboseFalse로그 출력의 세부 수준을 제어합니다. 자세한 로그를 보려면 verbose=True로 설정하십시오.
format''지정된 내보내기 형식만 벤치마킹합니다(예: format=onnx). 지원되는 모든 형식을 자동으로 테스트하려면 비워 두십시오.

내보내기 형식

벤치마크는 아래 나열된 모든 가능한 내보내기 형식에서 자동으로 실행을 시도합니다. 또는 아래 언급된 형식을 허용하는 format 인수를 사용하여 특정 형식에 대해 벤치마크를 실행할 수도 있습니다.

형식format 인수모델메타데이터인수
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device
DeepXdeepxyolo26n_deepx_model/imgsz, int8, data, optimize, device

전체 export 세부 정보는 내보내기 페이지를 참조하십시오.

FAQ

Ultralytics를 사용하여 YOLO26 모델 성능을 벤치마킹하려면 어떻게 해야 합니까?

Ultralytics YOLO26은 다양한 내보내기 형식에 걸쳐 모델 성능을 평가할 수 있는 벤치마크 모드를 제공합니다. 이 모드는 평균 정밀도(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)

벤치마크 인수에 대한 자세한 내용은 인수 섹션을 참조하십시오.

YOLO26 모델을 다른 형식으로 내보내면 어떤 이점이 있습니까?

YOLO26 모델을 ONNX, TensorRTOpenVINO와 같은 다른 형식으로 내보내면 배포 환경에 맞춰 성능을 최적화할 수 있습니다. 예를 들면 다음과 같습니다.

  • ONNX: 최대 3배의 CPU 속도 향상을 제공합니다.
  • TensorRT: 최대 5배의 GPU 속도 향상을 제공합니다.
  • OpenVINO: Intel 하드웨어에 특별히 최적화되어 있습니다.

이러한 형식은 모델의 속도와 정확도를 모두 향상시켜 다양한 실제 애플리케이션에서 더욱 효율적으로 만듭니다. 자세한 내용은 내보내기 페이지를 참조하십시오.

YOLO26 모델을 평가할 때 벤치마킹이 중요한 이유는 무엇입니까?

YOLO26 모델을 벤치마킹하는 것은 여러 가지 이유로 필수적입니다.

  • 정보에 기반한 의사 결정: 속도와 정확도 간의 트레이드오프를 이해합니다.
  • 리소스 할당: 서로 다른 하드웨어 옵션 전반에서 성능을 측정합니다.
  • 최적화: 특정 사용 사례에 가장 적합한 성능을 제공하는 내보내기 형식을 결정합니다.
  • 비용 효율성: 벤치마크 결과를 기반으로 하드웨어 사용을 최적화합니다.

mAP50-95, Top-5 정확도, 추론 시간과 같은 핵심 지표는 이러한 평가를 수행하는 데 도움이 됩니다. 자세한 내용은 핵심 지표 섹션을 참조하십시오.

YOLO26에서 지원하는 내보내기 형식은 무엇이며, 각각의 장점은 무엇입니까?

YOLO26은 특정 하드웨어와 사용 사례에 맞춰진 다양한 내보내기 형식을 지원합니다.

  • ONNX: CPU 성능에 가장 적합합니다.
  • TensorRT: GPU 효율성에 이상적입니다.
  • OpenVINO: Intel 하드웨어에 최적화되어 있습니다.
  • CoreML & TensorFlow: iOS 및 일반 ML 애플리케이션에 유용합니다.

지원되는 형식의 전체 목록과 각 장점은 지원되는 내보내기 형식 섹션을 확인하십시오.

YOLO26 벤치마크를 미세 조정하려면 어떤 인수를 사용할 수 있습니까?

벤치마크를 실행할 때 특정 요구 사항에 맞게 몇 가지 인수를 사용자 정의할 수 있습니다.

  • model: 모델 파일 경로(예: "yolo26n.pt").
  • data: 데이터셋을 정의하는 YAML 파일 경로(예: "coco8.yaml").
  • imgsz: 입력 이미지 크기(단일 정수 또는 튜플).
  • half: 더 나은 성능을 위해 FP16 추론을 활성화합니다.
  • int8: 에지 장치를 위해 INT8 양자화를 활성화합니다.
  • device: 연산 장치 지정(예: "cpu", "cuda:0").
  • verbose: 로그 세부 수준을 제어합니다.

전체 인수 목록은 인수 섹션을 참조하십시오.

댓글