İçeriğe geç

Docker'da YOLOv5 🚀 ile Başlayın

Ultralytics YOLOv5 Docker Hızlı Başlangıç Kılavuzuna hoş geldiniz! Bu öğretici, bir Docker kapsayıcısı içinde YOLOv5'i kurmak ve çalıştırmak için adım adım talimatlar sağlar. Docker kullanmak, YOLOv5'i izole, tutarlı bir ortamda çalıştırmanızı sağlayarak farklı sistemlerde 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 kapsayıcılaştırmadan yararlanır.

Alternatif kurulum yöntemleri için şunları göz önünde bulundurun: Colab Not Defteri Colab'da Aç Kaggle'da Aç, GCP Derin Öğrenme VM, veya Amazon AWS kılavuzlar. Ultralytics modelleriyle Docker kullanımı hakkında 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: Resmi Docker web sitesinden Docker'ı indirin ve kurun. Docker, konteyner oluşturmak ve yönetmek için gereklidir.
  2. NVIDIA Sürücüleri (GPU desteği için gereklidir): 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 konteynerlerinin 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 Kurulumu (GPU Kullanıcıları)

İlk olarak, şu komutu çalıştırarak NVIDIA sürücülerinizin doğru şekilde kurulduğunu doğrulayın:

nvidia-smi

Bu komut, GPU'larınız ve kurulu sürücü sürümü hakkında bilgi görüntülemelidir.

Ardından, NVIDIA Container Toolkit'i kurun. Aşağıdaki komutlar Ubuntu gibi Debian tabanlı sistemler için tipiktir, ancak dağıtımınıza özel 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 yapılandırıldığını ve Docker'a erişilebilir olduğunu doğrulayın:

docker info | grep -i runtime

Şunu görmelisiniz: nvidia mevcut çalışma zamanlarından biri olarak listelenmiştir.

Adım 1: YOLOv5 Docker İmajını çekin

Ultralytics, üzerinde resmi YOLOv5 görüntüleri sağlar Docker Hub. Şunu latest etiketi, her zaman en yeni sürümü almanızı sağlayarak en son havuz kaydını izler. 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

Mevcut tüm görsellere Ultralytics YOLOv5 Docker Hub deposunda göz atabilirsiniz.

Adım 2: Docker Kapsayıcısını Çalıştırın

Görüntü çekildikten sonra, onu bir konteyner olarak çalıştırabilirsiniz.

Sadece CPU Kullanımı

Yalnızca CPU'yu kullanarak etkileşimli bir container örneği çalıştırmak için şunu kullanın: -it işareti. Bu, --ipc=host işareti, paylaşılan bellek erişimi için önemli olan ana makine IPC ad alanının paylaşılmasına olanak tanır.

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

GPU Kullanımı

Kapsayıcı içinde GPU erişimini etkinleştirmek için şunu kullanın: --gpus işareti. Bu, NVIDIA Container Toolkit'in doğru şekilde kurulmasını gerektirir.

# 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 bilgi için Docker çalıştırma referansına bakın.

Yerel Dizinleri Bağlama

Kapsayıcı içindeki yerel dosyalarınızla (veri kümeleri, model ağırlıkları, vb.) çalışmak için şunu kullanın: -v işareti, bir ana makine dizinini kapsayıcıya bağlamak için kullanılır:

# 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ştir /path/on/host makinenizdeki gerçek yolla ve /path/in/container Docker konteyneri içindeki istenen yolla (örneğin, /usr/src/datasets).

Adım 3: Docker Kapsayıcısı içinde YOLOv5 🚀 kullanın

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

# 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 dokümantasyonu inceleyin:

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

GCP üzerinde bir Docker konteyneri içinde YOLOv5 ç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 ✏️ 3 ay önce güncellendi

Yorumlar