Google 클라우드 플랫폼(GCP) 딥 러닝 VM에서 YOLOv5 배포 마스터하기
특히 클라우드 컴퓨팅 플랫폼의 강력한 성능과 유연성을 활용하면 인공지능(AI) 과 머신러닝(ML) 의 여정을 시작하는 것은 매우 흥미진진한 일이 될 수 있습니다. Google Cloud Platform(GCP)은 ML 애호가와 전문가 모두를 위한 강력한 도구를 제공합니다. 이러한 도구 중 하나는 데이터 과학 및 ML 작업을 위해 사전 구성된 딥 러닝 VM입니다. 이 튜토리얼에서는 다음을 설정하는 과정을 살펴봅니다. Ultralytics YOLOv5 를 설정하는 과정을 살펴보겠습니다. ML에 첫발을 내딛는 초보자이든 숙련된 실무자이든, 이 가이드는 YOLOv5 구동되는 객체 감지 모델을 구현하는 명확한 경로를 제공합니다.
또한 신규 GCP 사용자라면 프로젝트를 시작할 수 있는 $300 무료 크레딧 혜택도 받을 수 있습니다.
GCP 외에도 다음과 같이 YOLOv5 에 액세스할 수 있는 다른 빠른 시작 옵션을 살펴보세요. Google 실험실 노트북 의 확장성 또는 브라우저 기반 경험을 위해 Amazon AWS. 또한 컨테이너 애호가는 다음 사이트에서 제공되는 공식 Docker 이미지를 활용할 수 있습니다. 도커 허브
에 따라 캡슐화된 환경의 경우 Docker 빠른 시작 가이드.
1단계: 딥 러닝 가상 머신 생성 및 구성
딥 러닝에 최적화된 가상 머신을 만드는 것부터 시작하겠습니다:
- GCP 마켓플레이스로 이동하여 딥 러닝 VM을 선택합니다.
- n1-standard-8 인스턴스를 선택하면 8개의 vCPU와 30GB의 메모리가 균형 있게 제공되므로 많은 ML 작업에 적합합니다.
- 선택 GPU. 워크로드에 따라 선택이 달라지며, 기본 T4 GPU 모델 학습 속도를 크게 높일 수 있습니다.
- 원활한 설정을 위해 '처음 시작할 때 NVIDIA GPU 드라이버를 자동으로 설치하시겠습니까?' 확인란을 선택합니다.
- I/O 병목 현상을 방지하기 위해 300GB SSD 영구 디스크를 할당하세요.
- '배포'를 클릭하고 GCP가 사용자 지정 딥 러닝 가상 머신을 프로비저닝하도록 허용합니다.
이 가상 머신에는 YOLOv5 필요한 많은 종속성을 편리하게 번들로 제공하는 Anaconda Python 배포를 비롯한 필수 도구와 프레임워크가 사전 로드되어 있습니다.
2단계: YOLOv5 VM 준비하기
환경 설정이 완료되면 YOLOv5 설치하여 준비해 보겠습니다:
# Clone the YOLOv5 repository from GitHub
git clone https://github.com/ultralytics/yolov5
# Navigate into the cloned repository directory
cd yolov5
# Install the required Python packages listed in requirements.txt
pip install -r requirements.txt
이 설정 프로세스를 수행하려면 Python 환경 버전 3.8.0 이상 및 PyTorch 1.8 이상이 필요합니다. 스크립트는 최신 YOLOv5 릴리스에서 모델과 데이터 세트를 자동으로 다운로드하여 모델 학습을 시작하는 과정을 간소화합니다.
3단계: YOLOv5 모델 교육 및 배포
설정이 완료되면 GCP VM에서 YOLOv5 훈련, 검증, 예측 및 내보내기를 수행할 준비가 완료됩니다:
# Train a YOLOv5 model on your dataset (e.g., yolov5s)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the trained model to check Precision, Recall, and mAP
python val.py --weights yolov5s.pt --data coco128.yaml
# Run inference using the trained model on images or videos
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite
몇 가지 명령만으로 YOLOv5 사용하면 특정 요구에 맞는 맞춤형 객체 감지 모델을 학습시키거나 사전 학습된 가중치를 활용하여 다양한 작업에서 빠른 결과를 얻을 수 있습니다. 내보내기 후 다양한 모델 배포 옵션을 살펴보세요.
스왑 공간 할당(선택 사항)
VM의 RAM을 초과할 수 있는 특히 큰 데이터 세트로 작업하는 경우 메모리 오류를 방지하기 위해 스왑 공간을 추가하는 것을 고려하세요:
# Allocate a 64GB swap file
sudo fallocate -l 64G /swapfile
# Set the correct permissions for the swap file
sudo chmod 600 /swapfile
# Set up the Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap space allocation (should show increased swap memory)
free -h
사용자 지정 데이터 세트 교육
GCP 내에서 사용자 지정 데이터 세트에 대해 YOLOv5 학습시키려면 다음과 같은 일반적인 단계를 따르세요:
- YOLOv5 형식(이미지 및 해당 라벨 파일)에 따라 데이터셋을 준비합니다. 지침은 데이터 세트 개요를 참조하세요.
- 다음을 사용하여 데이터 세트를 GCP VM에 업로드합니다.
gcloud compute scp
또는 웹 콘솔의 SSH 기능을 사용하세요. - 데이터 세트 구성 YAML 파일 생성(
custom_dataset.yaml
)를 사용하여 교육 및 유효성 검사 데이터의 경로, 클래스 수, 클래스 이름을 지정할 수 있습니다. -
사용자 지정 데이터 세트 YAML을 사용하여 미리 학습된 가중치부터 시작하여 학습 프로세스를 시작하세요:
# Example: Train YOLOv5s on a custom dataset for 100 epochs python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt
데이터 준비 및 사용자 지정 데이터 집합을 사용한 교육에 대한 포괄적인 지침은 Ultralytics YOLOv5 교육 설명서를 참조하세요.
클라우드 스토리지 활용
특히 대규모 데이터 세트나 수많은 실험을 통해 데이터를 효율적으로 관리하려면 YOLOv5 워크플로우를 Google 클라우드 스토리지와 통합하세요:
# Ensure Google Cloud SDK is installed and initialized
# If not installed: curl https://sdk.cloud.google.com/ | bash
# Then initialize: gcloud init
# Example: Copy your dataset from a GCS bucket to your VM
gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/
# Example: Copy trained model weights from your VM to a GCS bucket
gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/
이 접근 방식을 사용하면 대규모 데이터 세트와 학습된 모델을 클라우드에 안전하고 비용 효율적으로 저장하여 VM 인스턴스의 스토리지 요구 사항을 최소화할 수 있습니다.
결론
축하드립니다! 이제 Google 클라우드 플랫폼의 계산 능력과 결합된 Ultralytics YOLOv5 기능을 활용할 수 있는 준비가 완료되었습니다. 이 설정은 물체 감지 프로젝트에 확장성, 효율성 및 다용도성을 제공합니다. 개인 탐사, 학술 연구, 산업 솔루션 구축 등 그 목적이 무엇이든 클라우드에서 AI와 ML의 세계로 중요한 발걸음을 내디딘 것입니다.
코드 없이도 모델을 훈련하고 관리할 수 있는 간소화된 환경을 위해 Ultralytics HUB를 사용하는 것을 고려해 보세요.
진행 상황을 문서화하고, 활발한 Ultralytics 커뮤니티와 인사이트를 공유하고, 협업과 지원을 위해 GitHub 토론과 같은 리소스를 활용하는 것을 잊지 마세요. 이제 YOLOv5 GCP로 혁신을 시작하세요!
ML 기술을 계속 향상시키고 싶으신가요? 설명서를 자세히 살펴보고 더 많은 튜토리얼과 인사이트를 보려면 Ultralytics 블로그를 살펴보세요. AI 모험을 계속하세요!