Link to this sectionAWS Deep Learning 인스턴스에서 실행하는 Ultralytics YOLOv5 🚀: 완벽 가이드#
고성능 딥러닝 환경을 설정하는 것은 특히 초보자에게 어렵게 느껴질 수 있습니다. 하지만 걱정하지 마십시오! 🛠️ 이 가이드에서는 AWS Deep Learning 인스턴스에서 Ultralytics YOLOv5를 실행하기 위한 단계별 절차를 안내합니다. Amazon Web Services (AWS)의 강력한 기능을 활용하면 머신 러닝(ML) 초보자도 빠르고 비용 효율적으로 시작할 수 있습니다. AWS 플랫폼의 확장성은 실험 및 프로덕션 배포 모두에 이상적입니다.
YOLOv5를 위한 다른 퀵스타트 옵션으로는 Google Colab Notebook , Kaggle 환경
, GCP Deep Learning VM, 그리고 Docker Hub에서 제공되는 사전 빌드된 Docker 이미지
가 있습니다.
Link to this section1단계: AWS 콘솔 로그인#
먼저 계정을 생성하거나 AWS Management Console에 로그인하십시오. 로그인 후 가상 서버(인스턴스)를 관리할 수 있는 EC2 서비스 대시보드로 이동합니다.

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.

Link to this section인스턴스 유형 선택#
딥러닝 모델 학습과 같은 까다로운 작업을 수행하려면 GPU 가속 인스턴스 유형을 선택하는 것이 좋습니다. GPU를 사용하면 CPU에 비해 모델 학습에 필요한 시간을 크게 줄일 수 있습니다. 인스턴스 크기를 선택할 때, 모델 및 데이터 세트에 충분한 메모리 용량(RAM)을 갖추고 있는지 확인하십시오.
참고: 모델과 데이터 세트의 크기는 중요한 요소입니다. ML 작업에 선택한 인스턴스가 제공하는 것보다 더 많은 메모리가 필요한 경우, 성능 문제나 오류를 방지하기 위해 더 큰 인스턴스 유형을 선택해야 합니다.
EC2 인스턴스 유형 페이지에서 특히 가속 컴퓨팅(Accelerated Computing) 카테고리 아래에 있는 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)이 필요합니다.

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 커뮤니티 리소스를 참조하십시오. 성공적인 감지 작업을 기원합니다!