İçeriğe geç

Ultralytics için Docker Hızlı Başlangıç Kılavuzu

Ultralytics Docker Paket Görseli

Bu kılavuz, Ultralytics projeleriniz için bir Docker ortamı kurmaya kapsamlı bir giriş sunmaktadır. Docker, uygulamaları konteynerlerde geliştirmek, göndermek ve çalıştırmak için bir platformdur. Özellikle yazılımın nereye dağıtıldığına bakılmaksızın her zaman aynı şekilde çalışmasını sağlamak için faydalıdır. Daha fazla ayrıntı için, Docker Hub'daki Ultralytics Docker deposunu ziyaret edin.

Docker İmaj Sürümü Docker Çekmeleri

Ne Öğreneceksiniz

  • NVIDIA desteği ile Docker kurulumu
  • Ultralytics Docker imajlarını kurma
  • CPU veya GPU desteğiyle bir Docker kapsayıcısında Ultralytics'i çalıştırma
  • Ultralytics Algılama Sonuçlarını Göstermek için Docker ile Bir Ekran Sunucusu Kullanma
  • Yerel dizinleri kapsayıcıya bağlama



İzle: Docker'a Başlangıç | Docker içinde Ultralytics Python Paketinin Kullanımı canlı demo 🎉


Ön koşullar

  • Sisteminizde Docker'ın kurulu olduğundan emin olun. Değilse, Docker'ın web sitesinden indirip kurabilirsiniz.
  • Sisteminizde bir NVIDIA GPU'su bulunduğundan ve NVIDIA sürücülerinin kurulu olduğundan emin olun.

NVIDIA Desteği ile Docker Kurulumu

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

nvidia-smi

NVIDIA Docker Runtime Kurulumu

Şimdi, Docker kapsayıcılarında GPU desteğini etkinleştirmek için NVIDIA Docker çalışma zamanını kuralım:

# Add NVIDIA package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(lsb_release -cs)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# Install NVIDIA Docker runtime
sudo apt-get update
sudo apt-get install -y nvidia-docker2

# Restart Docker service to apply changes
sudo systemctl restart docker

Docker ile NVIDIA Çalışma Zamanını Doğrulayın

Çalıştır docker info | grep -i runtime sağlamak için nvidia çalışma zamanları listesinde görünür:

docker info | grep -i runtime

Ultralytics Docker İmajlarını Kurulumu

Ultralytics, çeşitli platformlar ve kullanım durumları için optimize edilmiş çeşitli Docker görüntüleri sunar:

  • Dockerfile: Eğitim için ideal olan GPU görüntüsü.
  • Dockerfile-arm64: Raspberry Pi gibi cihazlar için uygun olan ARM64 mimarisi için.
  • Dockerfile-cpu: Çıkarım ve GPU olmayan ortamlar için yalnızca CPU sürümü.
  • Dockerfile-jetson-jetpack4: NVIDIA JetPack 4 çalıştıran NVIDIA Jetson cihazları için optimize edilmiştir.
  • Dockerfile-jetson-jetpack5: NVIDIA JetPack 5 çalıştıran NVIDIA Jetson cihazları için optimize edilmiştir.
  • Dockerfile-jetson-jetpack6: NVIDIA JetPack 6 çalıştıran NVIDIA Jetson cihazları için optimize edilmiştir.
  • Dockerfile-jupyter: Tarayıcıda JupyterLab kullanarak etkileşimli geliştirme için.
  • Dockerfile-python: Hafif uygulamalar için minimal python ortamı.
  • Dockerfile-conda: Conda aracılığıyla yüklenen Miniconda3 ve Ultralytics paketini içerir.

En son görüntüyü çekmek için:

# Set image name as a variable
t=ultralytics/ultralytics:latest

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

Docker Kapsayıcısında Ultralytics'i Çalıştırma

İşte Ultralytics Docker konteynerini nasıl çalıştıracağınız:

Yalnızca CPU'yu Kullanma

# Run without GPU
sudo docker run -it --ipc=host $t

GPU'ları Kullanma

# Run with all GPUs
sudo docker run -it --ipc=host --gpus all $t

# Run specifying which GPUs to use
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

-it işareti, sözde bir TTY atar ve stdin'i açık tutarak konteynerle etkileşim kurmanızı sağlar. Şuradaki --ipc=host işareti, işlemler arasında bellek paylaşımı için gerekli olan ana makinenin IPC ad alanının paylaşımını etkinleştirir. Şuradaki --gpus işareti, konteynerin ana makinenin GPU'larına erişmesini sağlar.

Dosya Erişilebilirliği Hakkında Not

Konteyner içindeki yerel makinenizdeki dosyalarla çalışmak için Docker birimlerini kullanabilirsiniz:

# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

Değiştir /path/on/host yerel makinenizdeki dizin yoluyla ve /path/in/container Docker kapsayıcısı içindeki istenen yolla.

Bir Docker Kapsayıcısında grafik kullanıcı arayüzü (GUI) uygulamalarını çalıştırın

Son Derece Deneysel - Kullanıcı Tüm Riski Üstlenir

Aşağıdaki talimatlar deneyseldir. Bir X11 soketini bir Docker kapsayıcısıyla paylaşmak potansiyel güvenlik riskleri oluşturur. Bu nedenle, bu çözümü yalnızca kontrollü bir ortamda test etmeniz önerilir. Daha fazla bilgi için, nasıl kullanılacağına ilişkin bu kaynaklara bakın xhost(1)(2).

Docker öncelikle arka plan uygulamalarını ve CLI programlarını konteynerleştirmek için kullanılır, ancak grafik programlarını da çalıştırabilir. Linux dünyasında, iki ana grafik sunucusu grafik ekranını yönetir: X11 (X Window Sistemi olarak da bilinir) ve Wayland. Başlamadan önce, şu anda hangi grafik sunucusunu kullandığınızı belirlemek önemlidir. Öğrenmek için bu komutu çalıştırın:

env | grep -E -i 'x11|xorg|wayland'

Bir X11 veya Wayland ekran sunucusunun kurulumu ve yapılandırılması bu kılavuzun kapsamı dışındadır. Yukarıdaki komut hiçbir şey döndürmezse, devam etmeden önce sisteminiz için bunlardan birini çalışır hale getirerek başlamanız gerekir.

GUI ile Bir Docker Kapsayıcısı Çalıştırmak

Örnek

GPU'ları kullanın
If you're using [GPUs](#using-gpus), you can add the `--gpus all` flag to the command.

X11 kullanıyorsanız, Docker konteynerinin X11 soketine erişmesine izin vermek için aşağıdaki komutu çalıştırabilirsiniz:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v ~/.Xauthority:/root/.Xauthority \
  -it --ipc=host $t

Bu komut şunu ayarlar: DISPLAY ortam değişkenini ana makinenin ekranına ayarlar, X11 soketini bağlar ve şunu eşler: .Xauthority dosyasını kapsayıcıya kopyalayın. xhost +local:docker komutu, Docker konteynerinin X11 sunucusuna erişmesini sağlar.

Wayland için aşağıdaki komutu kullanın:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
  -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \
  --net=host -it --ipc=host $t

Bu komut şunu ayarlar: DISPLAY ortam değişkenini ana makinenin ekranına ayarlar, Wayland soketini bağlar ve Docker konteynerinin Wayland sunucusuna erişmesine izin verir.

GUI ile Docker Kullanımı

Artık Docker kapsayıcınızın içinde grafik uygulamaları görüntüleyebilirsiniz. Örneğin, bir YOLO11 modelinden gelen tahminleri görselleştirmek için aşağıdaki CLI komutunu çalıştırabilirsiniz:

yolo predict model=yolo11n.pt show=True
Test

Docker grubunun X11 sunucusuna erişimi olduğunu doğrulamak için basit bir yol, bir GUI programı gibi bir kapsayıcı çalıştırmaktır. xclock veya xeyes. Alternatif olarak, GNU-Linux ekran sunucunuzun X11 sunucusuna erişimi test etmek için bu programları Ultralytics Docker konteynerine de yükleyebilirsiniz. Herhangi bir sorunla karşılaşırsanız, ortam değişkenini ayarlamayı düşünebilirsiniz: -e QT_DEBUG_PLUGINS=1. Bu ortam değişkeninin ayarlanması, sorun giderme sürecine yardımcı olarak hata ayıklama bilgilerinin çıktısını etkinleştirir.

Docker GUI ile işiniz bittiğinde

Erişimi iptal et

Her iki durumda da, işiniz bittiğinde Docker grubundan erişimi iptal etmeyi unutmayın.

xhost -local:docker
Resim sonuçlarını doğrudan Terminalde görüntülemek ister misiniz?

Bir terminal kullanarak görüntü sonuçlarını görüntüleme hakkındaki aşağıdaki kılavuza bakın


Tebrikler! Artık Ultralytics'i Docker ile kullanmaya hazırsınız ve güçlü yeteneklerinden yararlanmaya başlayabilirsiniz. Alternatif kurulum yöntemleri için Ultralytics hızlı başlangıç belgelerini inceleyebilirsiniz.

SSS

Ultralytics'i Docker ile nasıl kurarım?

Ultralytics'i Docker ile kurmak için, öncelikle Docker'ın sisteminizde kurulu olduğundan emin olun. Bir NVIDIA GPU'nuz varsa, GPU desteğini etkinleştirmek için NVIDIA Docker çalışma zamanını kurun. Ardından, aşağıdaki komutu kullanarak Docker Hub'dan en son Ultralytics Docker görüntüsünü çekin:

sudo docker pull ultralytics/ultralytics:latest

Ayrıntılı adımlar için Docker Hızlı Başlangıç Kılavuzumuza bakın.

Makine öğrenimi projeleri için Ultralytics Docker imajlarını kullanmanın faydaları nelerdir?

Ultralytics Docker görüntülerini kullanmak, aynı yazılımı ve bağımlılıkları kopyalayarak farklı makinelerde tutarlı bir ortam sağlar. Bu özellikle ekipler arasında işbirliği yapmak, çeşitli donanımlarda modeller çalıştırma ve tekrarlanabilirliği koruma. GPU tabanlı eğitim için, Ultralytics gibi optimize edilmiş Docker görüntüleri sağlar Dockerfile genel GPU kullanımı için ve Dockerfile-jetson NVIDIA Jetson cihazları için. Keşfedin Ultralytics Docker Hub daha fazla ayrıntı için.

GPU desteğiyle bir Docker konteynerinde Ultralytics YOLO'yu nasıl çalıştırabilirim?

İlk olarak, NVIDIA Docker çalışma zamanının kurulu ve yapılandırılmış olduğundan emin olun. Ardından, Ultralytics YOLO'yu GPU desteğiyle çalıştırmak için aşağıdaki komutu kullanın:

sudo docker run -it --ipc=host --gpus all ultralytics/ultralytics:latest

Bu komut, GPU erişimi olan bir Docker konteyneri kurar. Ek ayrıntılar için Docker Hızlı Başlangıç Kılavuzu'na bakın.

Bir ekran sunucusu ile bir Docker konteynerinde YOLO tahmin sonuçlarını nasıl görselleştiririm?

Bir Docker konteynerinde bir GUI ile YOLO tahmin sonuçlarını görselleştirmek için, Docker'ın ekran sunucunuza erişmesine izin vermeniz gerekir. X11 çalıştıran sistemler için komut şudur:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v ~/.Xauthority:/root/.Xauthority \
  -it --ipc=host ultralytics/ultralytics:latest

Wayland çalıştıran sistemler için şunu kullanın:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
  -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \
  --net=host -it --ipc=host ultralytics/ultralytics:latest

Daha fazla bilgiyi Docker Kapsayıcısında grafik kullanıcı arayüzü (GUI) uygulamalarını çalıştırma bölümünde bulabilirsiniz.

Yerel dizinleri Ultralytics Docker konteynerine bağlayabilir miyim?

Evet, yerel dizinleri Ultralytics Docker konteynerine şu şekilde bağlayabilirsiniz: -v işareti:

sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container ultralytics/ultralytics:latest

Değiştir /path/on/host yerel makinenizdeki dizinle ve /path/in/container kapsayıcı içindeki istenen yolla. Bu kurulum, kapsayıcı içindeki yerel dosyalarınızla çalışmanıza olanak tanır. Daha fazla bilgi için şuraya bakın: Dosya Erişilebilirliği Hakkında Not bölüm.



📅 1 yıl önce oluşturuldu ✏️ 2 ay önce güncellendi

Yorumlar