Kurumsal kullanıma hazır güvenlik: ISO 27001 + SOC 2 Tip I uyumlu.

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 Notebook Open In Colab Open In Kaggle, GCP Deep Learning VM veya Amazon AWS rehberlerimize göz atabilirsin. Ultralytics modelleri ile Docker kullanımına dair genel bir bakış için Ultralytics Docker Hızlı Başlangıç Rehberi kısmına bakabilirsin.

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'i yükle:

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

Link to this sectionCDI Cihazlarını Docker ile Doğrula#

GPU CDI cihazlarının mevcut olduğundan emin olmak için nvidia-ctk cdi list komutunu çalıştır (araç setinin nvidia-cdi-refresh hizmeti, 1.18 ve üzeri sürümlerde özelliği otomatik olarak oluşturur ve korur):

nvidia-ctk cdi list

nvidia.com/gpu=0 ve nvidia.com/gpu=all gibi girdiler görmelisin. Linux üzerinde CDI cihaz istekleri Docker >= 28.2.0 ve NVIDIA Container Toolkit >= 1.18 sürümlerini gerektirir. Eski --gpus all bayrağı, ana makine daemon'ı yeniden başlatıldıktan sonra GPU erişimini kaybetmene neden olabilir, bu yüzden eski Linux ana makinelerini yükselt ve bunun yerine --device kullan.

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ı#

Kapsayıcı içinde GPU erişimini etkinleştirmek için --device nvidia.com/gpu=... CDI bayrağını kullan. Bu, NVIDIA Container Toolkit'in doğru bir şekilde kurulmuş olmasını gerektirir.

# Run with access to all available GPUs
sudo docker run -it --ipc=host --device nvidia.com/gpu=all $t

# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --device nvidia.com/gpu=2 --device nvidia.com/gpu=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 --ipc=host --device nvidia.com/gpu=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:

Precision, Recall 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 Deployment Options seçeneklerini keşfet. model weights öğelerini 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