AWS 딥 러닝 인스턴스의 Ultralytics YOLOv5 🚀: 전체 가이드
고성능 딥 러닝 환경을 설정하는 일은 특히 초보자에게는 벅차게 느껴질 수 있습니다. 하지만 걱정하지 마세요! 🛠️ 이 가이드는 다음을 얻기 위한 단계별 안내를 제공합니다. Ultralytics YOLOv5 를 시작하고 실행하는 방법을 단계별로 안내합니다. 머신 러닝(ML)을 처음 접하는 분들도 Amazon Web Services(AWS)의 강력한 기능을 활용하여 빠르고 비용 효율적으로 시작할 수 있습니다. AWS 플랫폼의 확장성은 실험 및 프로덕션 배포 모두에 이상적입니다.
YOLOv5 의 다른 빠른 시작 옵션은 다음과 같습니다. Google 실험실 노트북 , Kaggle 환경
, GCP 딥 러닝 VM에서 사전 빌드된 Docker 이미지를 사용할 수 있습니다. 도커 허브
.
1단계: AWS 콘솔 로그인
먼저 계정을 생성하거나 AWS 관리 콘솔에 로그인합니다. 로그인한 후 가상 서버(인스턴스)를 관리할 수 있는 EC2 서비스 대시보드로 이동합니다.
2단계: 인스턴스 시작
EC2 대시보드에서 인스턴스 시작 버튼을 클릭합니다. 그러면 필요에 맞는 새 가상 서버를 만드는 프로세스가 시작됩니다.
올바른 아마존 머신 이미지(AMI) 선택하기
올바른 AMI를 선택하는 것이 중요합니다. 이에 따라 인스턴스의 운영 체제 및 사전 설치된 소프트웨어가 결정됩니다. 검색창에'딥 러닝'을 입력하고 최신 Ubuntu 기반 딥 러닝 AMI를 선택하세요(다른 OS에 대한 특별한 요구 사항이 없는 경우). Amazon의 딥 러닝 AMI는 인기 있는 딥 러닝 프레임워크 ( PyTorch와 같은) 및 필요한 GPU 드라이버가 미리 구성되어 있어 설정 프로세스가 크게 간소화됩니다.
인스턴스 유형 선택하기
딥 러닝 모델 훈련과 같은 까다로운 작업의 경우, GPU 인스턴스 유형을 선택하는 것을 적극 권장합니다. GPU는 CPU에 비해 모델 훈련에 필요한 시간을 획기적으로 줄일 수 있습니다. 인스턴스 크기를 선택할 때는 메모리 용량(RAM)이 모델과 데이터 세트에 충분한지 확인하세요.
참고: 모델과 데이터 세트의 크기가 중요한 요소입니다. ML 작업에 선택한 인스턴스가 제공하는 메모리보다 더 많은 메모리가 필요한 경우 성능 문제나 오류를 방지하려면 더 큰 인스턴스 유형을 선택해야 합니다.
EC2 인스턴스 유형 페이지, 특히 가속 컴퓨팅 카테고리에서 사용 가능한 GPU 인스턴스 유형을 살펴보세요.
GPU 사용량 모니터링 및 최적화에 대한 자세한 내용은 GPU 모니터링 및 최적화에 대한 AWS 가이드를 참조하세요. 온디맨드 요금제를 사용하여 비용을 비교하고 스팟 인스턴스 요금제를 통해 잠재적인 절감 효과를 살펴보세요.
인스턴스 구성
보다 비용 효율적인 접근 방식을 위해 Amazon EC2 스팟 인스턴스 사용을 고려하세요. 스팟 인스턴스를 사용하면 사용하지 않는 EC2 용량을 온디맨드 가격에 비해 상당히 할인된 가격으로 입찰할 수 있습니다. 지속성이 필요한 작업(스팟 인스턴스가 중단되더라도 데이터 저장)의 경우, 지속 요청을 선택하세요. 이렇게 하면 스토리지 볼륨이 지속됩니다.
인스턴스 시작 마법사의 4~7단계를 진행하여 스토리지를 구성하고, 태그를 추가하고, 보안 그룹을 설정하고(IP에서 SSH 포트 22가 열려 있는지 확인), 설정을 검토한 후 시작을 클릭합니다. 또한 보안 SSH 액세스를 위해 기존 키 쌍을 만들거나 선택해야 합니다.
3단계: 인스턴스에 연결
인스턴스 상태가 '실행 중'으로 표시되면 EC2 대시보드에서 인스턴스를 선택합니다. 인스턴스의 연결 버튼을 클릭하여 연결 옵션을 확인합니다. 로컬 터미널(macOS/Linux의 터미널 또는 Windows의 PuTTY/WSL 등)에서 제공된 SSH 명령 예제를 사용하여 보안 연결을 설정합니다. 개인 키 파일(.pem
)를 만들거나 실행 중에 선택했습니다.
4단계: Ultralytics YOLOv5 실행하기
이제 SSH를 통해 연결되었으므로 YOLOv5 설정하고 실행할 수 있습니다. 먼저 다음에서 공식 YOLOv5 리포지토리를 복제합니다. GitHub 를 클릭하고 디렉토리로 이동합니다. 그런 다음 다음을 사용하여 필요한 종속성을 설치합니다. pip
. 를 사용하는 것이 좋습니다. Python 3.8 환경 이상입니다. 필요한 모델과 데이터 세트는 최신 YOLOv5 자동으로 다운로드됩니다. 릴리스 트레이닝이나 탐지 등의 명령을 실행할 때 사용합니다.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txt
환경이 준비되면 다양한 작업에 YOLOv5 사용할 수 있습니다:
# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640
# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640
교육, 유효성 검사, 예측(추론) 및 내보내기에 대한 자세한 가이드는 Ultralytics 설명서를 참조하세요.
추가 옵션: 스왑 메모리 늘리기
매우 큰 데이터 세트로 작업하거나 학습 중에 메모리 제한이 발생하는 경우 인스턴스의 스왑 메모리를 늘리면 도움이 될 수 있습니다. 스왑 공간을 사용하면 시스템에서 디스크 공간을 가상 RAM으로 사용할 수 있습니다.
# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile
# Set correct permissions
sudo chmod 600 /swapfile
# Set up the file as a Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap memory is active
free -h
축하합니다! 이제 AWS 딥 러닝 인스턴스를 성공적으로 설정하고, Ultralytics YOLOv5 설치했으며, 객체 감지 작업을 수행할 준비가 되었습니다. 사전 학습된 모델을 실험하든 자체 데이터로 학습하든, 이 강력한 설정은 컴퓨터 비전 프로젝트를 위한 확장 가능한 기반을 제공합니다. 문제가 발생하면 광범위한 AWS 설명서와 FAQ와 같은 유용한 Ultralytics 커뮤니티 리소스를 참조하세요. 행복한 탐지를 즐기세요!