Meet YOLO26: next-gen vision AI.

Link to this sectionDocker üzerinde YOLOv5 🚀 ile Başla#

Ultralytics YOLOv5 Docker Hızlı Başlangıç Kılavuzuna hoş geldin! Bu eğitim, YOLOv5 kurulumu ve bir Docker konteyneri içinde çalıştırılması için adım adım talimatlar sağlar. Docker kullanmak, YOLOv5'i yalıtılmış ve tutarlı bir ortamda çalıştırmanı sağlar; bu da 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 konteynerleştirme teknolojisinden yararlanır.

Alternatif kurulum yöntemleri için Colab Not Defterimize Open In Colab Open In Kaggle, GCP Derin Öğrenme VM veya Amazon AWS kılavuzlarımıza göz atabilirsin. Ultralytics modelleriyle Docker kullanımı hakkında genel bir bakış için Ultralytics Docker Hızlı Başlangıç Kılavuzunu incele.

Link to this sectionÖn koşullar#

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

  1. Docker: Docker'ı resmi Docker web sitesinden indir ve kur. 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üleri 455.23 veya daha yüksek bir sürümünün kurulu olduğundan emin ol. En güncel sürücüleri NVIDIA web sitesinden indirebilirsin.
  3. NVIDIA Container Toolkit (GPU desteği için gereklidir): Bu araç seti, Docker konteynerlerinin ana makinenin NVIDIA GPU'larına erişmesini sağlar. Ayrıntılı talimatlar için resmi NVIDIA Container Toolkit kurulum kılavuzunu takip et.

Link to this sectionNVIDIA Container Toolkit Kurulumu (GPU Kullanıcıları)#

Öncelikle, NVIDIA sürücülerinin doğru kurulduğunu şu komutu çalıştırarak doğrula:

nvidia-smi

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

Ardından, NVIDIA Container Toolkit'i kur. Aşağıdaki komutlar Ubuntu gibi Debian tabanlı sistemler ve Fedora/CentOS gibi RHEL tabanlı sistemler için tipiktir, ancak kendi dağıtımına özel talimatlar için yukarıda bağlantısı verilen resmi kılavuza bak:

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

Paket listelerini güncelle ve nvidia-container-toolkit paketini kur:

sudo apt-get update

nvidia-container-toolkit'in en son sürümünü kur:

sudo apt-get install -y nvidia-container-toolkit \
  nvidia-container-toolkit-base libnvidia-container-tools \
  libnvidia-container1
İsteğe bağlı: nvidia-container-toolkit'in belirli bir sürümünü kur

İsteğe bağlı olarak, NVIDIA_CONTAINER_TOOLKIT_VERSION ortam değişkenini ayarlayarak nvidia-container-toolkit'in belirli bir sürümünü kurabilirsin:

export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1
sudo apt-get install -y \
  nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
  nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
  libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
  libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Link to this sectionDocker ile NVIDIA Çalışma Zamanını Doğrula#

Run docker info | grep -i runtime to ensure that nvidia appears in the list of runtimes:

docker info | grep -i runtime

nvidianın mevcut çalışma zamanlarından biri olarak listelendiğini görmelisin.

Link to this sectionAdım 1: YOLOv5 Docker İmajını Çek#

Ultralytics, Docker Hub üzerinde resmi YOLOv5 imajları sağlar. latest etiketi en son depo commit'ini takip eder ve her zaman en güncel sürüme sahip olmanı sağlar. Şu komutu kullanarak imajı çek:

# Define the image name with tag
t=ultralytics/yolov5:latest

# Pull the latest YOLOv5 image from Docker Hub
sudo docker pull $t

Tüm mevcut imajlara Ultralytics YOLOv5 Docker Hub deposundan göz atabilirsin.

Link to this sectionAdım 2: Docker Konteynerini Çalıştır#

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

Link to this sectionYalnızca CPU Kullanımı#

Yalnızca CPU kullanarak interaktif bir konteyner örneği çalıştırmak için -it bayrağını kullan. --ipc=host bayrağı, 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

Link to this sectionGPU Kullanımı#

Konteyner içinde GPU erişimini etkinleştirmek için --gpus bayrağını kullan. Bu, NVIDIA Container Toolkit'in doğru kurulmuş olmasını gerektirir.

# Run with access to all available GPUs
sudo docker run -it --runtime=nvidia --ipc=host --gpus all $t

# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --runtime=nvidia --ipc=host --gpus '"device=2,3"' $t

Komut seçenekleriyle ilgili daha fazla ayrıntı için Docker run referansına bak.

Link to this sectionYerel Dizinleri Bağlama#

Yerel dosyalarınla (veri kümeleri, model ağırlıkları vb.) konteyner içinde çalışmak için, bir ana dizini konteynere bağlamak üzere -v bayrağını kullan:

# Mount /path/on/host (your local machine) to /path/in/container (inside the container)
sudo docker run -it --runtime=nvidia --ipc=host --gpus all -v /path/on/host:/path/in/container $t

/path/on/host kısmını makinenizdeki gerçek yolla ve /path/in/container kısmını Docker konteynerindeki istediğin yolla (örneğin, /usr/src/datasets) değiştir.

Link to this sectionAdım 3: Docker Konteyneri İçinde YOLOv5 🚀 Kullan#

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

# 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 belgelere göz at:

Kesinlik, Duyarlılık ve mAP gibi değerlendirme metrikleri hakkında daha fazla bilgi edin. ONNX, CoreML ve TFLite gibi farklı dışa aktarma formatlarını anla ve çeşitli Model Dağıtım Seçeneklerini keşfet. Model ağırlıklarını etkili bir şekilde yönetmeyi unutma.

Running YOLOv5 inside a Docker container on GCP

YOLOv5'i bir Docker konteyneri içinde başarıyla kurdun ve çalıştırdın.

Yorumlar