Google 클라우드 플랫폼(GCP) 딥 러닝 VM에서 YOLOv5 배포 마스터하기
특히 클라우드 플랫폼의 강력한 성능과 유연성을 활용하면 인공지능과 머신 러닝의 여정을 시작하는 것은 흥미진진한 일이 될 수 있습니다. Google Cloud Platform(GCP)은 머신 러닝 애호가와 전문가 모두를 위해 맞춤화된 강력한 도구를 제공합니다. 이러한 도구 중 하나는 데이터 과학 및 ML 작업을 위해 사전 구성된 딥 러닝 VM입니다. 이 튜토리얼에서는 다음을 설정하는 과정을 살펴봅니다. YOLOv5 를 설정하는 과정을 살펴보겠습니다. 이 가이드는 ML에 첫발을 내딛는 초보자이든 숙련된 실무자이든 상관없이 YOLOv5 구동되는 객체 감지 모델을 구현하는 명확한 경로를 제공하도록 설계되었습니다.
또한 신규 GCP 사용자라면 프로젝트를 시작할 수 있는 $300 무료 크레딧 혜택도 받을 수 있습니다.
GCP 외에도 다음과 같이 YOLOv5 에 액세스할 수 있는 다른 빠른 시작 옵션을 살펴보세요. Google 실험실 노트북 의 확장성 또는 브라우저 기반 경험을 위해 Amazon AWS. 또한 컨테이너 애호가는 다음에서 공식 Docker 이미지를 활용할 수 있습니다. 도커 허브
를 사용하여 캡슐화된 환경을 만들 수 있습니다.
1단계: 딥 러닝 가상 머신 생성 및 구성
딥 러닝에 맞게 조정된 가상 머신을 만드는 것부터 시작하겠습니다:
- GCP 마켓플레이스로 이동하여 딥 러닝 VM을 선택합니다.
- n1 표준 8 인스턴스를 선택하면 8개의 vCPU와 30GB 메모리가 균형 있게 제공되므로 저희의 요구 사항에 이상적입니다.
- 다음으로 GPU 을 선택합니다. 워크로드에 따라 다르지만, T4와 같은 기본 모델이라도 모델 학습 속도가 현저히 빨라집니다.
- '처음 시작할 때 자동으로 NVIDIA GPU 드라이버를 설치하시겠습니까?' 확인란을 선택하면 번거로움 없이 설정할 수 있습니다.
- 300GB SSD 영구 디스크를 할당하여 I/O 작업에 병목 현상이 발생하지 않도록 하세요.
- '배포'를 누르면 GCP가 맞춤형 딥 러닝 가상 머신을 프로비저닝하는 마법을 부립니다.
이 가상 머신에는 YOLOv5 에 필요한 모든 종속성을 편리하게 번들로 제공하는 Anaconda Python 배포를 포함하여 사전 설치된 다양한 도구와 프레임워크가 포함되어 있습니다.
2단계: 다음 용도의 VM 준비 YOLOv5
환경 설정이 완료되면 YOLOv5 을 실행해 보겠습니다:
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
# Change the directory to the cloned repository
cd yolov5
# Install the necessary Python packages from requirements.txt
pip install -r requirements.txt
이 설정 프로세스를 통해 Python 환경 버전 3.8.0 이상 및 PyTorch 1.8 이상에서 작업해야 합니다. 스크립트는 최신 YOLOv5 릴리스에서 직접 모델과 데이터 세트를 원활하게 다운로드하므로 번거로움 없이 모델 훈련을 시작할 수 있습니다.
3단계: YOLOv5 모델 교육 및 배포
설정이 완료되면 GCP VM에서 YOLOv5 을 사용하여 교육 및 추론을 시작할 준비가 된 것입니다:
# Train a model on your data
python train.py
# Validate the trained model for Precision, Recall, and mAP
python val.py --weights yolov5s.pt
# Run inference using the trained model on your images or videos
python detect.py --weights yolov5s.pt --source path/to/images
# Export the trained model to other formats for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite
YOLOv5 에서 몇 가지 명령만으로 특정 요구에 맞는 맞춤형 객체 감지 모델을 학습시키거나 사전 학습된 가중치를 활용하여 다양한 작업에서 빠른 결과를 얻을 수 있습니다.
스왑 공간 할당(선택 사항)
대용량 데이터 세트를 처리하는 경우, 64GB의 추가 스왑 메모리로 GCP 인스턴스를 증폭하는 것을 고려하세요:
sudo fallocate -l 64G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h # confirm the memory increment
사용자 지정 데이터 세트 교육
GCP에서 사용자 지정 데이터 세트에 대해 YOLOv5 학습시키려면 다음 단계를 따르세요:
- 데이터 집합을 YOLOv5 형식(이미지 및 레이블)으로 준비합니다.
- 다음을 사용하여 데이터 세트를 GCP VM에 업로드합니다.
gcloud
또는 SCP - 경로와 클래스를 지정하는 데이터 세트 YAML 파일 만들기
- 적절한 매개변수로 교육을 시작하세요:
사용자 지정 데이터 집합을 사용한 교육에 대한 자세한 지침은 Ultralytics YOLOv5 설명서를 참조하세요.
클라우드 스토리지 활용
효율적인 데이터 관리를 위해 YOLOv5 워크플로우를 Google 클라우드 스토리지와 통합하세요:
# Install Google Cloud SDK if not already installed
curl https://sdk.cloud.google.com | bash
gcloud init
# Copy data to/from Cloud Storage
gsutil cp -r gs://your-bucket/dataset ./
gsutil cp -r ./runs/train/exp/weights gs://your-bucket/models/
이 접근 방식을 사용하면 VM 스토리지 요구 사항을 최소화하면서 대규모 데이터 세트와 학습된 모델을 클라우드에 안전하게 저장할 수 있습니다.
결론
축하드립니다! 이제 YOLOv5 의 기능과 Google 클라우드 플랫폼의 계산 능력을 활용할 수 있게 되었습니다. 이 조합은 물체 감지 작업에 확장성, 효율성, 다용도성을 제공합니다. 개인 프로젝트든, 학술 연구든, 산업 응용 분야든, 클라우드에서 AI와 머신 러닝의 세계로 중요한 발걸음을 내디딘 것입니다.
여정을 문서화하고, Ultralytics 커뮤니티와 인사이트를 공유하고, GitHub 토론과 같은 협업의 장을 활용하여 더욱 성장하는 것을 잊지 마세요. 이제 YOLOv5 GCP로 혁신을 시작하세요!
ML 기술과 지식을 계속 향상시키고 싶으신가요? 설명서 및 튜토리얼을 통해 더 많은 리소스를 살펴보세요. AI 모험을 계속하세요!