콘텐츠로 건너뛰기

다음을 통한 모델 벤치마킹 Ultralytics YOLO

Ultralytics YOLO 에코시스템 및 통합

벤치마크 시각화

브라우저 새로 고침

잠재적인 쿠키 문제로 인해 그래프를 올바르게 보려면 페이지를 새로 고쳐야 할 수 있습니다.

소개

모델이 학습되고 검증되면 다음 논리적 단계는 다양한 실제 시나리오에서 모델의 성능을 평가하는 것입니다. Ultralytics YOLO11 의 벤치마크 모드는 다양한 내보내기 형식에서 모델의 속도와 정확성을 평가할 수 있는 강력한 프레임워크를 제공하여 이러한 목적을 달성할 수 있습니다.



Watch: 벤치마크 Ultralytics YOLO11 모델 | 다른 하드웨어에서 모델 성능을 비교하는 방법은?

벤치마킹이 중요한 이유는 무엇인가요?

  • 정보에 기반한 의사 결정: 속도와 정확성 사이의 상충 관계에 대한 인사이트를 얻으세요.
  • 리소스 할당: 다양한 하드웨어에서 서로 다른 내보내기 형식이 어떻게 작동하는지 이해하세요.
  • 최적화: 특정 사용 사례에 가장 적합한 내보내기 형식을 알아보세요.
  • 비용 효율성: 벤치마크 결과를 기반으로 하드웨어 리소스를 보다 효율적으로 활용하세요.

벤치마크 모드의 주요 지표

지원되는 내보내기 형식

  • ONNX: 최적의 CPU 성능을 위해
  • TensorRT: GPU 효율성 극대화
  • OpenVINO: 용 Intel 하드웨어 최적화
  • CoreML, TensorFlow SavedModel , 기타: 다양한 배포 요구사항에 적합합니다.

  • ONNX 또는 OpenVINO 으로 내보내면 CPU 속도가 최대 3배 빨라집니다.
  • TensorRT 으로 내보내면 GPU 속도가 최대 5배 빨라집니다.

사용 예

ONNX, TensorRT 등 지원되는 모든 내보내기 형식에서 YOLO11n 벤치마크를 실행합니다. 내보내기 인수의 전체 목록은 아래의 인수 섹션을 참조하세요.

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 format=onnx

인수

다음과 같은 인수 model, data, imgsz, half, device, verbose 그리고 format 는 사용자가 특정 요구 사항에 맞게 벤치마크를 미세 조정하고 다양한 내보내기 형식의 성능을 쉽게 비교할 수 있는 유연성을 제공합니다.

기본값 설명
model None 모델 파일의 경로를 지정합니다. 둘 다 허용 .pt 그리고 .yaml 형식 등을 예로 들 수 있습니다, "yolo11n.pt" 를 사용하여 사전 학습된 모델 또는 구성 파일을 사용할 수 있습니다.
data None 벤치마킹을 위한 데이터 집합을 정의하는 YAML 파일의 경로(일반적으로 다음 항목의 경로 및 설정 포함)입니다. 유효성 검사 데이터. 예제: "coco8.yaml".
imgsz 640 모델의 입력 이미지 크기입니다. 정사각형 이미지의 경우 단일 정수 또는 튜플일 수 있습니다. (width, height) 정사각형이 아닌 경우, 예를 들어, (640, 480).
half False FP16(반정밀) 추론을 활성화하여 호환 하드웨어에서 메모리 사용량을 줄이고 속도를 높일 수 있습니다. 사용 half=True 를 클릭합니다.
int8 False INT8 양자화를 활성화하여 지원되는 디바이스에서 성능을 더욱 최적화하며, 특히 엣지 디바이스에 유용합니다. Set int8=True 를 사용하세요.
device None 다음과 같은 벤치마킹을 위한 계산 장치를 정의합니다. "cpu" 또는 "cuda:0".
verbose False 로깅 출력의 세부 수준을 제어합니다. 부울 값; 설정 verbose=True 를 사용하여 자세한 로그를 확인하거나 임계값 오류에 대한 플로트를 확인할 수 있습니다.
format '' 단일 내보내기 형식에서 모델을 벤치마킹합니다. format=onnx

내보내기 형식

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

형식 format 인수 모델 메타데이터 인수
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, optimize, nms, batch
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch
TF GraphDef pb yolo11n.pb imgsz, batch
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch
MNN mnn yolo11n.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch
IMX500 imx yolov8n_imx_model/ imgsz, int8, data
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name

전체 보기 export 세부 정보에서 내보내기 페이지로 이동합니다.

자주 묻는 질문

Ultralytics 을 사용하여 YOLO11 모델의 성능을 벤치마킹하려면 어떻게 하나요?

Ultralytics YOLO11 는 다양한 내보내기 형식에서 모델의 성능을 평가할 수 있는 벤치마크 모드를 제공합니다. 이 모드는 평균 평균 정밀도 (mAP50-95), 정확도, 추론 시간(밀리초) 등의 주요 메트릭에 대한 인사이트를 제공합니다. 벤치마크를 실행하려면 Python 또는 CLI 명령을 사용할 수 있습니다. 예를 들어, GPU 에서 벤치마킹하려면:

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

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

YOLO11 모델을 다른 형식으로 내보내면 어떤 이점이 있나요?

YOLO11 모델을 다음과 같은 다양한 포맷으로 내보내기 ONNX, TensorRTOpenVINO 를 사용하면 배포 환경에 따라 성능을 최적화할 수 있습니다. 예를 들어

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

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

YOLO11 모델을 평가할 때 벤치마킹이 중요한 이유는 무엇인가요?

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

  • 정보에 입각한 의사 결정: 속도와 정확성 사이의 상충 관계를 이해합니다.
  • 리소스 할당: 다양한 하드웨어 옵션에서 성능을 측정합니다.
  • 최적화: 특정 사용 사례에 가장 적합한 내보내기 형식을 결정합니다.
  • 비용 효율성: 벤치마크 결과에 따라 하드웨어 사용량을 최적화하세요.

mAP50-95, 상위 5위 정확도, 추론 시간 등의 주요 지표가 이러한 평가를 내리는 데 도움이 됩니다. 자세한 내용은 주요 지표 섹션을 참조하세요.

YOLO11 에서 지원하는 내보내기 형식은 무엇이며 어떤 이점이 있나요?

YOLO11 는 특정 하드웨어와 사용 사례에 맞게 조정된 다양한 내보내기 형식을 지원합니다:

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

지원되는 형식과 각각의 장점에 대한 전체 목록은 지원되는 내보내기 형식 섹션에서 확인하세요.

YOLO11 벤치마크를 미세 조정하기 위해 어떤 인수를 사용할 수 있나요?

벤치마크를 실행할 때 특정 요구 사항에 맞게 여러 인수를 사용자 지정할 수 있습니다:

  • 모델: 모델 파일의 경로(예: "yolo11n.pt").
  • 데이터: 데이터 집합을 정의하는 YAML 파일의 경로(예: "coco8.yaml").
  • imgsz: 입력 이미지 크기(단일 정수 또는 튜플)입니다.
  • 절반: FP16 추론을 활성화하여 성능을 개선합니다.
  • int8: 에지 디바이스에 대한 INT8 양자화를 활성화합니다.
  • 장치: 계산 장치를 지정합니다(예: "cpu", "cuda:0").
  • 상세: 로깅 세부 정보 수준을 제어합니다.

인수의 전체 목록은 인수 섹션을 참조하세요.

📅1 년 전 생성됨 ✏️ 업데이트됨 7일 전

댓글