Ultralytics YOLO 모델로 학습, 검증, 예측, 내보내기 및 벤치마크를 수행하는 방법
Ultralytics YOLO 모델로 학습, 검증, 예측, 내보내기 및 벤치마크를 수행하는 방법을 알아보세요!

Ultralytics의 세계로 들어가 다양한 YOLO 모델에 사용할 수 있는 여러 모드를 살펴보겠습니다. 사용자 지정 객체 감지 모델을 학습하거나 세그멘테이션 작업을 수행하는 경우, 이러한 모드를 이해하는 것은 중요한 단계입니다. 바로 시작해 보겠습니다!
Ultralytics 문서에서는 모델에 활용할 수 있는 여러 모드를 확인할 수 있습니다. 모델을 학습, 검증, 예측, 내보내기, 벤치마크 또는 추적하는 데 사용할 수 있습니다. 이러한 각 모드는 고유한 목적을 수행하며 모델의 성능과 배포를 최적화하는 데 도움을 줍니다.
학습 모드#
먼저 학습 모드를 살펴보겠습니다. 이 모드에서는 모델을 구축하고 개선합니다. 문서에서 자세한 지침과 동영상 가이드를 확인할 수 있으므로 사용자 지정 모델 학습을 쉽게 시작할 수 있습니다.
모델 학습은 모델에 새로운 데이터셋을 제공하여 다양한 패턴을 학습하도록 하는 과정입니다. 학습이 완료되면 모델은 학습한 새로운 객체를 실시간으로 감지하는 데 사용할 수 있습니다. 학습 프로세스를 시작하기 전에 데이터셋에 YOLO 형식으로 어노테이션을 지정해야 합니다.
검증 모드#
다음으로 검증 모드를 살펴보겠습니다. 검증은 하이퍼파라미터를 조정하고 모델이 제대로 작동하는지 확인하는 데 필수적입니다. Ultralytics는 자동 설정, 다중 메트릭 지원, Python API 호환성을 비롯한 다양한 검증 옵션을 제공합니다. 아래 명령을 사용하여 명령줄 인터페이스 (CLI)를 통해 직접 검증을 실행할 수도 있습니다.
검증이 필요한 이유#
검증은 다음과 같은 작업에 중요합니다:
- 정밀도: 모델이 객체를 정확하게 감지하는지 확인합니다.
- 편의성: 검증 프로세스를 간소화합니다.
- 유연성: 여러 검증 방법을 제공합니다.
- 하이퍼파라미터 튜닝: 더 나은 성능을 위해 모델을 최적화합니다.
Ultralytics는 Python 스크립트에 복사하여 붙여 넣을 수 있는 사용자 예제도 제공합니다. 이러한 예제에는 이미지 크기, 배치 크기, 디바이스 (CPU 또는 GPU), 교집합 대비 합집합 (IoU)과 같은 매개변수가 포함됩니다.
예측 모드#
모델을 학습하고 검증한 후에는 예측을 수행할 차례입니다. 예측 모드를 사용하면 새로운 데이터에 대해 추론을 실행하고 모델이 작동하는 모습을 확인할 수 있습니다. 이 모드는 실제 데이터에서 모델의 성능을 테스트하는 데 적합합니다. 아래 Python 코드 스니펫을 사용하면 이미지에서 예측을 실행할 수 있습니다!
내보내기 모드#
검증과 예측을 마친 후 모델을 배포하려고 할 수 있습니다. 내보내기 모드를 사용하면 모델을 ONNX 또는 TensorRT와 같은 다양한 형식으로 변환할 수 있어 여러 플랫폼에 더욱 쉽게 배포할 수 있습니다.
벤치마크 모드#
마지막으로 벤치마크 모드가 있습니다. 벤치마킹은 다양한 시나리오에서 모델의 성능을 평가하는 데 필수적입니다. 이 모드는 리소스 할당, 최적화 및 비용 효율성에 대해 정보에 기반한 결정을 내리는 데 도움을 줍니다.
벤치마크 방법#
벤치마크를 실행하려면 문서에 제공된 사용자 예제를 사용할 수 있습니다. 이러한 예제에서는 ONNX와 TensorRT를 비롯한 주요 메트릭과 내보내기 형식을 다룹니다. 정수 양자화 (INT8) 또는 부동 소수점 양자화 (FP16)와 같은 매개변수를 지정하여 다양한 설정이 성능에 미치는 영향도 확인할 수 있습니다.
실제 벤치마킹 예제#
실제 벤치마킹 사례를 살펴보겠습니다. PyTorch 모델을 벤치마크할 때 RTX 3070 GPU에서 추론 속도가 68밀리초임을 확인할 수 있습니다. TorchScript로 내보낸 후에는 추론 속도가 4밀리초로 감소하여 크게 향상된 성능을 보여줍니다.
ONNX 모델에서는 21밀리초의 추론 속도를 달성합니다. CPU (Intel i9 13세대)에서 이러한 모델을 테스트하면 결과가 달라집니다. TorchScript는 115밀리초로 실행되는 반면 ONNX는 84밀리초로 더 나은 성능을 보입니다. 마지막으로 Intel 하드웨어에 최적화된 OpenVINO는 23밀리초라는 매우 빠른 속도를 달성합니다.

그림 1. Ultralytics YOLO 모델로 벤치마킹을 실행하는 방법을 시연하는 Nicolai Nielsen.
벤치마킹의 중요성#
벤치마킹은 다양한 하드웨어와 내보내기 형식이 모델 성능에 어떤 영향을 미치는지 보여줍니다. 특히 사용자 지정 하드웨어나 엣지 디바이스에 모델을 배포할 계획이라면 모델을 벤치마크하는 것이 중요합니다. 이 프로세스를 통해 모델이 대상 환경에 맞게 최적화되어 가능한 최고의 성능을 제공하도록 할 수 있습니다.
결론#
요약하면 Ultralytics 문서의 모드는 YOLO 모델을 학습, 검증, 예측, 내보내기 및 벤치마킹하는 강력한 도구입니다. 각 모드는 모델을 최적화하고 배포를 준비하는 데 중요한 역할을 합니다.
커뮤니티를 탐색하고 참여하는 것과 제공된 코드 스니펫을 프로젝트에서 사용해 보는 것도 잊지 마세요. 이러한 도구를 사용하면 고성능 모델을 만들고 어떤 환경에서도 효율적으로 실행되도록 할 수 있습니다.









