Meet YOLO26: next-gen vision AI.

Link to this sectionAWS Deep Learning 인스턴스에서 실행하는 Ultralytics YOLOv5 🚀: 완벽 가이드#

고성능 딥러닝 환경을 설정하는 것은 특히 초보자에게 어렵게 느껴질 수 있습니다. 하지만 걱정하지 마십시오! 🛠️ 이 가이드에서는 AWS Deep Learning 인스턴스에서 Ultralytics YOLOv5를 실행하기 위한 단계별 절차를 안내합니다. Amazon Web Services (AWS)의 강력한 기능을 활용하면 머신 러닝(ML) 초보자도 빠르고 비용 효율적으로 시작할 수 있습니다. AWS 플랫폼의 확장성은 실험 및 프로덕션 배포 모두에 이상적입니다.

YOLOv5를 위한 다른 퀵스타트 옵션으로는 Google Colab Notebook Open In Colab, Kaggle 환경 Open In Kaggle, GCP Deep Learning VM, 그리고 Docker Hub에서 제공되는 사전 빌드된 Docker 이미지 Docker Pulls가 있습니다.

Link to this section1단계: AWS 콘솔 로그인#

먼저 계정을 생성하거나 AWS Management Console에 로그인하십시오. 로그인 후 가상 서버(인스턴스)를 관리할 수 있는 EC2 서비스 대시보드로 이동합니다.

AWS Management Console 로그인 페이지

Link to this section2단계: 인스턴스 시작#

EC2 대시보드에서 인스턴스 시작(Launch Instance) 버튼을 클릭합니다. 이 버튼을 누르면 사용자 요구 사항에 맞춘 새로운 가상 서버 생성 프로세스가 시작됩니다.

인스턴스 시작 버튼

Link to this section적절한 Amazon Machine Image (AMI) 선택#

Choosing the correct AMI is crucial. This determines the operating system and pre-installed software for your instance. In the search bar, type 'Deep Learning' and select the latest Ubuntu-based Deep Learning AMI (unless you have specific requirements for a different OS). Amazon's Deep Learning AMIs come pre-configured with popular deep learning frameworks (like PyTorch, used by YOLOv5) and necessary GPU drivers, significantly streamlining the setup process.

AWS EC2 Deep Learning AMI 선택

Link to this section인스턴스 유형 선택#

딥러닝 모델 학습과 같은 까다로운 작업을 수행하려면 GPU 가속 인스턴스 유형을 선택하는 것이 좋습니다. GPU를 사용하면 CPU에 비해 모델 학습에 필요한 시간을 크게 줄일 수 있습니다. 인스턴스 크기를 선택할 때, 모델 및 데이터 세트에 충분한 메모리 용량(RAM)을 갖추고 있는지 확인하십시오.

참고: 모델과 데이터 세트의 크기는 중요한 요소입니다. ML 작업에 선택한 인스턴스가 제공하는 것보다 더 많은 메모리가 필요한 경우, 성능 문제나 오류를 방지하기 위해 더 큰 인스턴스 유형을 선택해야 합니다.

EC2 인스턴스 유형 페이지에서 특히 가속 컴퓨팅(Accelerated Computing) 카테고리 아래에 있는 GPU 인스턴스 유형을 확인해 보십시오.

AWS EC2 GPU 인스턴스 유형 선택

GPU 사용량 모니터링 및 최적화에 대한 자세한 정보는 AWS의 GPU 모니터링 및 최적화 가이드를 참조하십시오. 온디맨드 요금을 사용하여 비용을 비교하고 스팟 인스턴스 요금으로 잠재적인 비용 절감 방안을 살펴보십시오.

Link to this section인스턴스 구성#

보다 비용 효율적인 접근 방식을 위해 Amazon EC2 스팟 인스턴스 사용을 고려해 보십시오. 스팟 인스턴스를 사용하면 온디맨드 가격 대비 큰 할인율로 사용되지 않는 EC2 용량에 입찰할 수 있습니다. 지속성이 필요한 작업(스팟 인스턴스가 중단되어도 데이터를 저장해야 하는 경우)의 경우 **지속적 요청(persistent request)**을 선택하십시오. 이를 통해 스토리지 볼륨이 유지됩니다.

스팟 요청 구성

인스턴스 시작 마법사의 4-7단계를 진행하여 스토리지를 구성하고, 태그를 추가하고, 보안 그룹을 설정한 후(SSH 포트 22가 IP에서 열려 있는지 확인), 설정을 검토하고 **시작(Launch)**을 클릭합니다. 보안 SSH 액세스를 위해 기존 키 페어를 선택하거나 새로 생성해야 합니다.

Link to this section3단계: 인스턴스에 연결#

인스턴스 상태가 '실행 중(running)'으로 표시되면 EC2 대시보드에서 해당 인스턴스를 선택합니다. 연결(Connect) 버튼을 클릭하여 연결 옵션을 확인합니다. 로컬 터미널(macOS/Linux의 경우 Terminal, Windows의 경우 PuTTY/WSL)에서 제공된 SSH 명령 예제를 사용하여 보안 연결을 설정하십시오. 시작 시 생성하거나 선택한 프라이빗 키 파일(.pem)이 필요합니다.

AWS EC2 인스턴스 SSH 연결 옵션

Link to this section4단계: Ultralytics YOLOv5 실행#

이제 SSH를 통해 연결되었으므로 YOLOv5를 설정하고 실행할 수 있습니다. 먼저 GitHub에서 공식 YOLOv5 리포지토리를 복제하고 해당 디렉터리로 이동합니다. 그 다음 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

학습(Training), 검증(Validation), 예측(Inference), 내보내기(Exporting)에 대한 자세한 가이드는 Ultralytics 문서를 참조하십시오.

Link to this section옵션 추가 사항: 스왑 메모리 증가#

매우 큰 데이터 세트로 작업하거나 학습 중에 메모리 제한이 발생하는 경우, 인스턴스의 스왑 메모리를 늘리면 도움이 될 수 있습니다. 스왑 공간을 사용하면 시스템이 디스크 공간을 가상 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 Deep Learning 인스턴스를 성공적으로 설정하고 Ultralytics YOLOv5를 설치했으며 이제 객체 감지(object detection) 작업을 수행할 준비가 되었습니다. 사전 학습된 모델로 실험하든 자체 데이터로 학습하든, 이 강력한 설정은 컴퓨터 비전(computer vision) 프로젝트를 위한 확장 가능한 기반을 제공합니다. 문제가 발생하면 광범위한 AWS 문서FAQ와 같은 유용한 Ultralytics 커뮤니티 리소스를 참조하십시오. 성공적인 감지 작업을 기원합니다!

댓글