Ultralytics YOLO 모델로 학습, 검증, 예측, 내보내기 및 벤치마크를 수행하는 방법
Ultralytics YOLO 모델로 학습, 검증, 예측, 내보내기 및 벤치마크를 수행하는 방법을 배워보십시오!

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

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






