X
Ultralytics YOLOv8.2 릴리스Ultralytics YOLOv8.2 모바일 릴리스Ultralytics YOLOv8.2 릴리스 화살표
녹색 확인
링크가 클립보드에 복사됨

Ultralytics YOLO 모델을 사용하여 훈련, 검증, 예측, 내보내기 및 벤치마킹하는 방법

Ultralytics YOLO 모델을 사용하여 훈련, 검증, 예측, 내보내기 및 벤치마킹하는 방법을 알아보세요!

Ultralytics 의 세계로 들어가 다양한 YOLO 모델에 사용할 수 있는 다양한 모드를 살펴보겠습니다. 사용자 지정 객체 감지 모델을 훈련하든 세분화 작업을 하든, 이러한 모드를 이해하는 것은 매우 중요한 단계입니다. 바로 시작하겠습니다!

Ultralytics 문서를 통해 학습, 검증, 예측, 내보내기, 벤치마크 또는 추적 등 모델에 활용할 수 있는 여러 가지 모드를 확인할 수 있습니다. 이러한 각 모드는 고유한 용도로 사용되며 모델의 성능과 배포를 최적화하는 데 도움이 됩니다.

기차 모드

먼저 기차 모드를 살펴보겠습니다. 이 모드에서는 모델을 구축하고 다듬을 수 있습니다. 문서에서 자세한 지침과 동영상 가이드를 확인하여 커스텀 모델 훈련을 쉽게 시작할 수 있습니다.

모델 훈련에는 모델에 새로운 데이터 세트를 제공하여 다양한 패턴을 학습할 수 있도록 하는 것이 포함됩니다. 학습이 완료된 모델은 실시간으로 학습된 새로운 객체를 감지하는 데 사용할 수 있습니다. 학습 프로세스를 시작하기 전에 데이터 세트에 YOLO 형식으로 주석을 달아야 합니다.

유효성 검사 모드

다음으로 유효성 검사 모드를 살펴보겠습니다. 유효성 검사는 하이퍼파라미터를 조정하고 모델의 성능을 보장하는 데 필수적입니다. Ultralytics 에서는 자동 설정, 다중 메트릭 지원, Python API와의 호환성 등 다양한 유효성 검사 옵션을 제공합니다. 아래 명령어를 사용하여 명령줄 인터페이스(CLI)를 통해 직접 유효성 검사를 실행할 수도 있습니다.


yolo detect val model=yolov8n.pt # val official model

왜 검증해야 하나요?

유효성 검사는 매우 중요합니다:

  • 정밀도: 모델이 물체를 정확하게 감지하는지 확인합니다.
  • 편리함: 유효성 검사 프로세스 간소화.
  • 유연성: 다양한 유효성 검사 방법 제공.
  • 하이퍼파라미터 튜닝: 더 나은 성능을 위해 모델을 최적화합니다.

Ultralytics 는 Python 스크립트에 복사하여 붙여넣을 수 있는 사용자 예제도 제공합니다. 이러한 예시에는 이미지 크기, 배치 크기, 디바이스(CPU 또는 GPU), IoU(교차점 오버 유니온) 등의 매개변수가 포함되어 있습니다.

예측 모드

모델이 학습되고 검증되면 이제 예측을 할 차례입니다. 예측 모드를 사용하면 새로운 데이터에 대해 추론을 실행하고 모델이 실제로 작동하는지 확인할 수 있습니다. 이 모드는 실제 데이터에서 모델의 성능을 테스트하는 데 적합합니다.

아래 python 코드 스니펫을 사용하면 이미지에서 예측을 실행할 수 있습니다!


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

내보내기 모드

모델을 검증하고 예측한 후에는 모델을 배포할 수 있습니다. 내보내기 모드를 사용하면 모델을 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 모델을 사용하여 벤치마킹을 실행하는 방법을 시연하는 니콜라이 닐슨.

벤치마킹의 중요성

벤치마킹은 다양한 하드웨어와 내보내기 형식이 모델의 성능에 어떤 영향을 미칠 수 있는지 보여줍니다. 특히 맞춤형 하드웨어나 엣지 디바이스에 모델을 배포할 계획이라면 모델을 벤치마킹하는 것이 중요합니다. 이 프로세스를 통해 모델이 대상 환경에 최적화되어 최상의 성능을 제공할 수 있습니다.

결론

요약하면, Ultralytics 설명서의 모드는 YOLO 모델을 학습, 검증, 예측, 내보내기 및 벤치마킹하기 위한 강력한 도구입니다. 각 모드는 모델을 최적화하고 배포를 준비하는 데 중요한 역할을 합니다.

커뮤니티를 탐색하고 가입하여 제공된 코드 스니펫을 프로젝트에 사용해 보는 것을 잊지 마세요. 이러한 도구를 사용하면 고성능 모델을 만들고 어떤 환경에서도 효율적으로 실행할 수 있습니다.

Facebook 로고트위터 로고LinkedIn 로고복사 링크 기호

이 카테고리에서 자세히 보기

인공지능의 미래
를 함께 만들어 갑시다!

머신 러닝의 미래와 함께하는 여정 시작하기