Docker에서 YOLOv5 🚀로 시작하기
Ultralytics YOLOv5 도커 빠른 시작 가이드에 오신 것을 환영합니다! 이 자습서에서는 설정 및 실행을 위한 단계별 지침을 제공합니다. YOLOv5 를 설정하고 실행하는 단계별 지침을 제공합니다. Docker를 사용하면 격리된 일관된 환경에서 YOLOv5 실행할 수 있으므로 여러 시스템에서 배포 및 종속성 관리를 간소화할 수 있습니다. 이 접근 방식은 컨테이너화를 활용하여 애플리케이션과 해당 종속성을 함께 패키징합니다.
다른 설정 방법에 대해서는 Colab 노트북
, GCP 딥 러닝 VM또는 Amazon AWS 가이드를 참조하세요. Ultralytics 모델에서 Docker 사용에 대한 일반적인 개요를 보려면 Ultralytics Docker 빠른 시작 가이드.
전제 조건
시작하기 전에 다음이 설치되어 있는지 확인하세요:
- Docker: 공식 Docker 웹사이트에서 Docker를 다운로드하여 설치합니다. Docker는 컨테이너를 생성하고 관리하는 데 필수적입니다.
- NVIDIA 드라이버 (필수 GPU 지원): NVIDIA 드라이버 버전 455.23 이상이 설치되어 있는지 확인합니다. 최신 드라이버는 NVIDIA 웹사이트에서 다운로드할 수 있습니다.
- NVIDIA 컨테이너 툴킷 ( GPU 지원을 위해 필요): 이 툴킷을 사용하면 Docker 컨테이너가 호스트 머신의 NVIDIA GPU에 액세스할 수 있습니다. 자세한 지침은 공식 NVIDIA 컨테이너 툴킷 설치 가이드를 참조하세요.
NVIDIA 컨테이너 툴킷 설정GPU 사용자)
먼저 NVIDIA 드라이버를 실행하여 드라이버가 올바르게 설치되었는지 확인합니다:
이 명령은 GPU 및 설치된 드라이버 버전에 대한 정보를 표시합니다.
다음으로 NVIDIA 컨테이너 툴킷을 설치합니다. 아래 명령은 우분투와 같은 데비안 기반 시스템의 일반적인 명령이지만, 배포판과 관련된 지침은 위에 링크된 공식 가이드를 참조하세요:
# Add NVIDIA package repositories (refer to official guide for latest setup)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# Update package list and install the toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# Configure Docker to use the NVIDIA runtime
sudo nvidia-ctk runtime configure --runtime=docker
# Restart Docker service to apply changes
sudo systemctl restart docker
마지막으로, NVIDIA 런타임이 구성되고 Docker에서 사용할 수 있는지 확인합니다:
다음이 표시되어야 합니다. nvidia
를 사용 가능한 런타임 중 하나로 나열합니다.
1단계: YOLOv5 도커 이미지 가져오기
Ultralytics 다음에서 공식 YOLOv5 이미지를 제공합니다. 도커 허브. . latest
태그는 가장 최근 리포지토리 커밋을 추적하므로 항상 최신 버전을 사용할 수 있습니다. 다음 명령을 사용하여 이미지를 가져옵니다:
# Define the image name with tag
t=ultralytics/yolov5:latest
# Pull the latest YOLOv5 image from Docker Hub
sudo docker pull $t
사용 가능한 모든 이미지는 Ultralytics YOLOv5 Docker Hub 리포지토리에서 찾아볼 수 있습니다.
2단계: Docker 컨테이너 실행하기
이미지를 가져온 후에는 컨테이너로 실행할 수 있습니다.
CPU 사용
CPU 사용하여 대화형 컨테이너 인스턴스를 실행하려면 다음을 사용하십시오. -it
플래그. The --ipc=host
플래그를 사용하면 공유 메모리 액세스에 중요한 호스트 IPC 네임스페이스를 공유할 수 있습니다.
GPU 사용
컨테이너 내에서 GPU 액세스를 활성화하려면 --gpus
플래그를 설정합니다. 이를 위해서는 NVIDIA 컨테이너 툴킷이 올바르게 설치되어 있어야 합니다.
# Run with access to all available GPUs
sudo docker run -it --ipc=host --gpus all $t
# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t
명령 옵션에 대한 자세한 내용은 Docker 실행 참조를 참조하세요.
로컬 디렉토리 마운트
컨테이너 내에서 로컬 파일(데이터 세트, 모델 가중치 등)로 작업하려면 다음을 사용하세요. -v
플래그를 사용하여 컨테이너에 호스트 디렉터리를 마운트합니다:
# Mount /path/on/host (your local machine) to /path/in/container (inside the container)
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
교체 /path/on/host
의 실제 경로와 /path/in/container
를 Docker 컨테이너 내부의 원하는 경로(예 /usr/src/datasets
).
3단계: Docker 컨테이너 내에서 YOLOv5 🚀 사용
이제 실행 중인 YOLOv5 Docker 컨테이너 안에 들어왔습니다! 여기에서 객체 감지와 같은 다양한 머신 러닝 및 딥 러닝 작업을 위한 표준 YOLOv5 명령을 실행할 수 있습니다.
# Train a YOLOv5 model on your custom dataset (ensure data is mounted or downloaded)
python train.py --data your_dataset.yaml --weights yolov5s.pt --img 640 # Start training
# Validate the trained model's performance (Precision, Recall, mAP)
python val.py --weights path/to/your/best.pt --data your_dataset.yaml # Validate accuracy
# Run inference on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos # Perform detection
# Export the trained model to various formats like ONNX, CoreML, or TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite # Export model
다양한 모드에 대한 자세한 사용법은 문서를 참조하세요:
정밀도, 리콜, mAP와 같은 평가 지표에 대해 자세히 알아보세요. 다음과 같은 다양한 내보내기 형식을 이해하세요. ONNX, CoreML과 같은 다양한 내보내기 형식을 이해하고 다양한 모델 배포 옵션을 살펴보세요. 모델 가중치를 효과적으로 관리하는 것도 잊지 마세요.
축하합니다! Docker 컨테이너 내에서 YOLOv5 성공적으로 설정하고 실행했습니다.