İçeriğe geç

Docker'da YOLOv5 🚀 ile Başlayın

Ultralytics YOLOv5 Docker Hızlı Başlangıç Kılavuzu'na hoş geldiniz! Bu eğitimde, kurulum ve çalıştırma için adım adım talimatlar verilmektedir YOLOv5 bir Docker konteyneri içinde. Docker kullanmak, YOLOv5 'i yalıtılmış, tutarlı bir ortamda çalıştırmanıza olanak tanıyarak farklı sistemler arasında dağıtım ve bağımlılık yönetimini basitleştirir. Bu yaklaşım, uygulamayı ve bağımlılıklarını birlikte paketlemek için konteynerleştirmeden yararlanır.

Alternatif kurulum yöntemleri için Colab Not Defteri Colab'da Aç Kaggle'da Aç, GCP Derin Öğrenme Sanal Makinesiveya Amazon AWS kılavuzlar. Ultralytics modelleriyle Docker kullanımına genel bir bakış için bkz. Ultralytics Docker Hızlı Başlangıç Kılavuzu.

Ön Koşullar

Başlamadan önce aşağıdakilerin kurulu olduğundan emin olun:

  1. Docker: Docker'ı resmi Docker web sitesinden indirin ve kurun. Docker, konteyner oluşturmak ve yönetmek için gereklidir.
  2. NVIDIA Sürücüleri (Şunlar için gereklidir GPU desteği): NVIDIA sürücülerinin 455.23 veya daha yüksek bir sürümünün yüklü olduğundan emin olun. En son sürücüleri NVIDIA'nın web sitesinden indirebilirsiniz.
  3. NVIDIA Container Toolkit ( GPU desteği için gereklidir): Bu araç seti, Docker kapsayıcılarının ana makinenizin NVIDIA GPU'larına erişmesini sağlar. Ayrıntılı talimatlar için resmi NVIDIA Container Toolkit kurulum kılavuzunu izleyin.

NVIDIA Container Toolkit'GPU KurmaGPU Kullanıcıları)

Öncelikle, NVIDIA sürücülerinizin doğru şekilde yüklendiğini doğrulamak için

nvidia-smi

Bu komut GPU(larınız) ve yüklü sürücü sürümü hakkında bilgi göstermelidir.

Ardından, NVIDIA Container Toolkit'i yükleyin. Aşağıdaki komutlar Ubuntu gibi Debian tabanlı sistemler için tipiktir, ancak dağıtımınıza özgü talimatlar için yukarıda bağlantısı verilen resmi kılavuza bakın:

# 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

Son olarak, NVIDIA çalışma zamanının Docker için yapılandırıldığını ve kullanılabilir olduğunu doğrulayın:

docker info | grep -i runtime

Görmelisiniz nvidia mevcut çalışma zamanlarından biri olarak listelenir.

Adım 1: YOLOv5 Docker Görüntüsünü Çekin

Ultralytics resmi YOLOv5 görüntülerini şu adreste sunar Docker Hub. Bu latest etiketi en son depo işlemini izleyerek her zaman en yeni sürümü almanızı sağlar. Aşağıdaki komutu kullanarak görüntüyü çekin:

# 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 deposunda mevcut tüm görüntülere göz atabilirsiniz.

Adım 2: Docker Konteynerini Çalıştırın

İmaj çekildikten sonra, onu bir konteyner olarak çalıştırabilirsiniz.

Yalnızca CPU Kullanımı

Etkileşimli bir konteyner örneğini yalnızca CPU kullanarak çalıştırmak için -it bayrak. Bayrak --ipc=host bayrağı, paylaşılan bellek erişimi için önemli olan ana bilgisayar IPC ad alanının paylaşılmasına izin verir.

# Run an interactive container instance using CPU
sudo docker run -it --ipc=host $t

GPU Kullanımı

Konteyner içinde GPU erişimini etkinleştirmek için --gpus bayrağı. Bunun için NVIDIA Container Toolkit'in doğru şekilde yüklenmiş olması gerekir.

# 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

Komut seçenekleri hakkında daha fazla ayrıntı için Docker run referansına bakın.

Yerel Dizinlerin Montajı

Konteyner içindeki yerel dosyalarınızla (veri kümeleri, model ağırlıkları, vb.) çalışmak için -v konteyner içine bir ana bilgisayar dizini bağlamak için bayrak:

# 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

Değiştirin /path/on/host ile makinenizdeki gerçek yolu ve /path/in/container Docker konteynerinin içinde istenen yol ile (örn, /usr/src/datasets).

Adım 3: Docker Konteyneri içinde YOLOv5 🚀 adresini kullanın

Artık çalışan YOLOv5 Docker konteynerinin içindesiniz! Buradan, Nesne Algılama gibi çeşitli Makine Öğrenimi ve Derin Öğrenme görevleri için standart YOLOv5 komutlarını çalıştırabilirsiniz.

# 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

Farklı modların ayrıntılı kullanımı için belgeleri inceleyin:

Precision, Recall ve mAP gibi değerlendirme metrikleri hakkında daha fazla bilgi edinin. Gibi farklı dışa aktarma formatlarını anlayın ONNX, CoreMLve TFLite gibi çeşitli Model Dağıtım Seçeneklerini keşfedin. Model ağırlıklarınızı etkili bir şekilde yönetmeyi unutmayın.

YOLOv5 'i GCP'de bir Docker konteynerinin içinde çalıştırma

Tebrikler! YOLOv5 'i bir Docker konteyneri içinde başarıyla kurdunuz ve çalıştırdınız.

📅1 yıl önce oluşturuldu ✏️ 7 gün önce güncellendi

Yorumlar