Ultralytics YOLO27:
YOLO 라이선스 받기
통합

ClearML을 사용해 Ultralytics YOLOv5를 원격으로 학습하고 모니터링하기

원활한 ML 통합, 실험 추적 등을 통해 더욱 향상된 Ultralytics YOLOv5 경험을 제공하는 ClearML과의 파트너십을 알아보세요.

NUNuvola Ladi6 분 읽기
ClearML로 YOLOv5 학습 및 모니터링하기

Ultralytics는 YOLOv5와 같은 훌륭한 오픈 소스 도구의 연구 개발 자금을 지원하고 누구나 무료로 사용할 수 있도록 다른 스타트업과 상업적 파트너십을 맺고 있습니다. 이 글에는 해당 파트너의 제휴 링크가 포함될 수 있습니다.

ClearML은 시간을 절약할 수 있도록 설계된 오픈 소스 툴박스를 제공하는 최신 파트너입니다.

ML 도입을 가속화한다는 사명을 바탕으로 ClearML은 어떤 소프트웨어 및 하드웨어 제품에도 ML을 원활하게 통합할 수 있도록 지원합니다.

이 통합을 통해 YOLOv5 모델을 더욱 쉽게 학습하고 ClearML 실험 관리자를 사용해 학습을 자동으로 추적할 수 있습니다. ClearML 데이터셋 버전 ID를 데이터 입력으로 지정하면 해당 데이터가 모델 학습에 자동으로 사용됩니다.

실험 추적을 한 단계 더 발전시키세요#

  • 실험 관리자에서 모든 YOLOv5 학습 실행을 추적하세요.
  • 통합 ClearML 데이터 버전 관리 도구로 사용자 지정 학습 데이터를 버전 관리하고 손쉽게 액세스하세요.
  • ClearML 하이퍼파라미터 최적화를 사용해 최상의 mAP를 얻으세요.
  • ClearML Serving을 사용하면 몇 가지 명령어만으로 새로 학습한 YOLOv5 모델을 API로 전환할 수 있습니다.

이러한 도구를 얼마나 사용할지는 여러분이 결정할 수 있습니다. 실험 관리자만 사용해도 되고 모든 도구를 연결해 강력한 파이프라인을 구성해도 됩니다.

설정하기#

실험과 데이터를 추적하려면 ClearML이 서버와 통신해야 합니다. ClearML 호스팅 서비스를 무료로 구독하거나 자체 서버를 설정하는 두 가지 방법이 있습니다. 자세한 내용은 ClearML 서버 배포 문서를 참조하세요.

서버도 오픈 소스이므로 민감한 데이터를 다루더라도 문제가 없습니다!

  1. clearml python 패키지를 설치합니다: pip install clearml
  2. 자격 증명을 생성(오른쪽 상단에서 Settings → Workspace → Create new credentials로 이동)하여 ClearML SDK를 서버에 연결한 다음, 아래 명령어를 실행하고 안내에 따르세요: clearml-init

이제 시작할 준비가 되었습니다...

ClearML로 YOLOv5 학습하기#

ClearML 실험 추적을 활성화하려면 ClearML pip 패키지를 설치하기만 하면 됩니다.

pip install clearml

이렇게 하면 YOLOv5 학습 스크립트와 통합됩니다. 이후 모든 학습 실행은 ClearML 실험 관리자에 캡처되어 저장됩니다. project_name 또는 task_name을 변경하려면 사용자 지정 로거로 이동해 값을 변경하세요: utils/loggers/clearml/clearml_utils.py

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

다음 항목이 캡처됩니다:

  • 소스 코드 + 커밋되지 않은 변경 사항
  • 설치된 패키지
  • (하이퍼)파라미터
  • 모델 파일(--save-period n을 사용하면 n 에포크마다 체크포인트를 저장합니다)
  • 콘솔 출력
  • 스칼라(mAP_0.5, mAP_0.5:0.95, 정밀도, 재현율, 손실, 학습률 등)
  • 머신 세부 정보, 런타임, 생성 날짜 등의 일반 정보
  • 레이블 상관도 및 혼동 행렬 등 생성된 모든 플롯
  • 에포크별 바운딩 박스가 표시된 이미지
  • 에포크별 모자이크
  • 에포크별 검증 이미지

나쁘지 않습니다! 이제 ClearML UI에서 이 모든 정보를 시각화하여 학습 진행 상황을 한눈에 파악할 수 있습니다. 표 보기에 사용자 지정 열(예: mAP_0.5)을 추가하면 성능이 가장 뛰어난 모델을 쉽게 정렬할 수 있습니다. 또는 여러 실험을 선택해 바로 비교할 수도 있습니다!

이 모든 정보를 활용해 하이퍼파라미터 최적화와 원격 실행 등 더 많은 작업을 할 수 있습니다. 방법을 알아보려면 계속 읽어 보세요!

데이터셋 버전 관리#

코드와 데이터를 별도로 버전 관리하는 것은 일반적으로 좋은 방법이며, 최신 버전을 쉽게 가져올 수 있게 해줍니다. 이 리포지토리에서는 데이터셋 버전 ID를 지정할 수 있으며, 해당 데이터가 아직 없으면 가져옵니다. 또한 이 워크플로는 사용된 데이터셋 ID를 작업 파라미터의 일부로 저장하므로 어떤 실험에 어떤 데이터가 사용되었는지 항상 확실히 알 수 있습니다!

데이터셋 준비#

YOLOv5 리포지토리는 데이터셋 정보를 포함하는 YAML 파일을 사용하여 다양한 데이터셋을 지원합니다. 기본적으로 데이터셋은 리포지토리 루트 폴더를 기준으로 ../datasets 폴더에 다운로드됩니다. 따라서 YAML의 링크나 yolov5에서 제공하는 스크립트를 사용해 coco128 데이터셋을 다운로드하면 다음과 같은 폴더 구조가 생성됩니다.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

원하는 데이터셋이라면 무엇이든 사용할 수 있습니다. 이 폴더 구조만 유지하면 직접 만든 데이터셋을 사용해도 됩니다.

다음으로, ⚠️해당 YAML 파일을 데이터셋 폴더의 루트에 복사하세요⚠️. 이 YAML 파일에는 ClearML이 데이터셋을 올바르게 사용하는 데 필요한 정보가 포함되어 있습니다. 물론 직접 만들 수도 있습니다. 예제 YAML의 구조를 따르기만 하면 됩니다.

기본적으로 다음 키가 필요합니다: path, train, test, val, nc, names.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml # ← HERE!
        |_ LICENSE
        |_ README.txt

데이터셋 업로드#

이 데이터셋을 버전 관리되는 데이터셋으로 ClearML에 추가하려면 데이터셋 루트 폴더로 이동하여 다음 명령을 실행합니다.

cd coco128

clearml-data sync --project YOLOv5 --name coco128 --folder .

clearml-data sync 명령은 실제로 단축 명령입니다. 다음 명령을 차례로 실행해도 됩니다.

# Optionally add --parent if you want to base
# this version on another dataset version, so no duplicate files are uploaded!

clearml-data create --name coco128 --project YOLOv5

clearml-data add --files .

clearml-data close

ClearML 데이터셋을 사용한 학습 실행#

이제 ClearML 데이터셋이 있으므로 이를 사용해 사용자 지정 YOLOv5 모델을 간단히 학습할 수 있습니다.

python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache

하이퍼파라미터 최적화#

실험과 데이터 버전이 준비되었으니, 이를 바탕으로 무엇을 할 수 있는지 살펴보겠습니다!

코드 정보, 설치된 패키지 및 환경 세부 정보를 사용하면 이제 실험을 완전히 재현할 수 있습니다. 실제로 ClearML에서는 실험을 복제하고 파라미터를 변경할 수도 있습니다. 그런 다음 변경된 파라미터로 실험을 자동으로 다시 실행할 수 있는데, 이것이 바로 HPO의 기본 원리입니다!

로컬에서 하이퍼파라미터 최적화를 실행할 수 있도록 미리 작성된 스크립트를 제공했습니다. 먼저 학습 작업을 한 번 이상 실행해 ClearML 실험 관리자에 등록되어 있는지 확인하세요. 이 작업을 복제한 다음 하이퍼파라미터를 변경하게 됩니다.

스크립트의 utils/loggers/clearml/hpo.py에 템플릿 작업의 ID를 입력한 다음 실행하면 됩니다. task.execute_locally()을 task.execute()로 변경하면 작업을 ClearML 큐에 넣어 원격 에이전트가 대신 실행하도록 할 수 있습니다.

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

원격 실행(고급)#

HPO를 로컬에서 실행하면 매우 편리하지만, 원격 머신에서 실험을 실행하려면 어떻게 해야 할까요? 사내의 강력한 GPU 머신에 접근할 수 있거나 클라우드 GPU를 사용할 예산이 있을 수도 있습니다. 이럴 때 ClearML Agent가 유용합니다.

에이전트가 할 수 있는 작업은 여기에서 확인하세요.

간단히 말해, 실험 관리자가 추적하는 모든 실험에는 다른 머신에서 실험을 재현하기에 충분한 정보(설치된 패키지, 커밋되지 않은 변경 사항 등)가 포함되어 있습니다. 따라서 ClearML 에이전트는 큐에서 새 작업을 기다리다가 작업을 발견하면 환경을 다시 만들고 실행하며, 스칼라와 플롯 등을 실험 관리자에 계속 보고합니다.

다음 명령을 실행하기만 하면 클라우드 VM, 로컬 GPU 머신, 개인 노트북 등 어떤 머신이든 ClearML 에이전트로 전환할 수 있습니다.

clearml-agent daemon --queue [--docker]

복제, 편집 및 큐 등록#

에이전트가 실행 중이므로 작업을 할당할 수 있습니다. HPO 섹션에서 작업을 복제하고 하이퍼파라미터를 편집할 수 있다고 설명했습니다. 인터페이스에서도 같은 작업을 할 수 있습니다!

🪄 실험을 마우스 오른쪽 버튼으로 클릭해 복제합니다

🎯 원하는 값으로 하이퍼파라미터를 편집합니다

⏳ 작업을 마우스 오른쪽 버튼으로 클릭해 원하는 큐에 등록합니다

작업 원격 실행#

위에서 설명한 대로 작업을 복제하거나, 현재 스크립트에 task.execute_remotely()을 추가해 표시할 수 있습니다. 그러면 실행 시 작업이 큐에 등록되어 에이전트가 처리합니다!

YOLOv5 학습 스크립트를 원격으로 실행하려면 ClearML 로거를 초기화한 후 train.py 스크립트에 다음 줄을 추가하기만 하면 됩니다.

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # 로거 인스턴스
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ 이 줄을 추가합니다

궁금한 점이 있으신가요? 커뮤니티에 참여해 오늘 질문을 남겨 주세요!

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기
스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기
스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요