Hızlı Başlangıç
Kurulum Ultralytics
Ultralytics pip, conda ve Docker dahil olmak üzere çeşitli kurulum yöntemleri sağlar. YOLOv8 adresini şu yolla yükleyin ultralytics
pip paketini klonlayarak veya en son kararlı sürüm için Ultralytics GitHub deposu en güncel sürüm için. Docker, yerel kurulumdan kaçınarak paketi yalıtılmış bir kapta çalıştırmak için kullanılabilir.
İzle: Ultralytics YOLO Hızlı Başlangıç Kılavuzu
Kurulum
Yükleme ultralytics
paketini pip kullanarak yükleyebilir veya mevcut bir yüklemeyi pip install -U ultralytics
. Daha fazla bilgi için Python Paket Dizini'ni (PyPI) ziyaret edin. ultralytics
Paket: https://pypi.org/project/ultralytics/.
Ayrıca, aşağıdaki dosyaları da yükleyebilirsiniz ultralytics
paketini doğrudan GitHub depo. En son geliştirme sürümünü istiyorsanız bu yararlı olabilir. Sisteminizde Git komut satırı aracının yüklü olduğundan emin olun. Git @main
komutu ile main
dalı olarak değiştirilebilir ve başka bir dal olarak değiştirilebilir, örn. @my-branch
veya tamamen kaldırılarak varsayılan olarak main
Şube.
Conda, kurulum için de kullanılabilen pip'e alternatif bir paket yöneticisidir. Daha fazla bilgi için Anaconda'yı ziyaret edin: https://anaconda.org/conda-forge/ ultralytics. Ultralytics conda paketini güncellemek için feedstock deposu https://github.com/conda-forge/ultralytics-feedstock/ adresindedir.
Not
Eğer bir CUDA ortamına kurulum yapıyorsanız en iyi uygulama ultralytics
, pytorch
ve pytorch-cuda
conda paket yöneticisinin herhangi bir çakışmayı çözmesine izin vermek için aynı komutta veya başka bir şekilde yüklemek için pytorch-cuda
geçersiz kılmasına izin vermek için son pytorch
Gerekirse paketleyin.
Conda Docker Görüntüsü
Ultralytics Conda Docker görüntüleri şu adresten de edinilebilir DockerHub. Bu görüntüler Miniconda3 ve kullanmaya başlamanın basit bir yoludur ultralytics
Conda ortamında.
# Set image name as a variable
t=ultralytics/ultralytics:latest-conda
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
Klonla ultralytics
Eğer geliştirmeye katkıda bulunmakla ilgileniyorsanız veya en son kaynak kodunu denemek istiyorsanız depoyu kullanabilirsiniz. Klonladıktan sonra dizine gidin ve paketi düzenlenebilir modda yükleyin -e
pip kullanarak.
Zahmetsizce çalıştırmak için Docker'ı kullanın ultralytics
paketini yalıtılmış bir kapsayıcıda sunarak çeşitli ortamlarda tutarlı ve sorunsuz performans sağlar. Resmi paketlerden birini seçerek ultralytics
gelen görüntüler Docker HubBu sayede hem yerel kurulumun karmaşıklığından kurtulur hem de doğrulanmış bir çalışma ortamına erişimden faydalanırsınız. Ultralytics , her biri farklı platformlar ve kullanım durumları için yüksek uyumluluk ve verimlilik sağlamak üzere tasarlanmış, desteklenen 5 ana Docker görüntüsü sunar:
- Docker dosyası: Eğitim için önerilen GPU görüntüsü.
- Dockerfile-arm64: Raspberry Pi ve diğer ARM64 tabanlı platformlar gibi cihazlarda dağıtıma izin veren ARM64 mimarisi için optimize edilmiştir.
- Dockerfile-cpu: Çıkarım ve GPU'ların olmadığı ortamlar için uygun Ubuntu tabanlı CPU-only sürümü.
- Dockerfile-jetson: NVIDIA Jetson cihazları için uyarlanmıştır ve bu platformlar için optimize edilmiş GPU desteğini entegre eder.
- Dockerfile-python: Sadece Python ve gerekli bağımlılıkları içeren minimal görüntü, hafif uygulamalar ve geliştirme için idealdir.
- Dockerfile-conda: ultralytics paketinin conda kurulumu ile Miniconda3'e dayanmaktadır.
Aşağıda en son görüntüyü almak ve çalıştırmak için gerekli komutlar verilmiştir:
# Set image name as a variable
t=ultralytics/ultralytics:latest
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
Yukarıdaki komut, bir Docker konteynerini en son ultralytics
görüntü. Bu -it
bayrağı bir pseudo-TTY atar ve stdin'i açık tutarak konteyner ile etkileşime girmenizi sağlar. Bu --ipc=host
bayrağı, süreçler arasında bellek paylaşımı için gerekli olan IPC (Inter-Process Communication) isim alanını ana bilgisayara ayarlar. Bu bayrak --gpus all
bayrağı, kapsayıcı içindeki mevcut tüm GPU'lara erişim sağlar; bu da GPU hesaplaması gerektiren görevler için çok önemlidir.
Not: Konteyner içinde yerel makinenizdeki dosyalarla çalışmak için, konteynere yerel bir dizin monte etmek üzere Docker birimlerini kullanın:
# Mount local directory to a directory inside the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
Alter /path/on/host
ile yerel makinenizdeki dizin yolunu ve /path/in/container
erişilebilirlik için Docker konteynerinin içinde istenen yol ile.
İleri düzey Docker kullanımı için Ultralytics Docker Kılavuzu'nu inceleyebilirsiniz.
Bkz. ultralytics
gereksinimler.txt dosyasında bağımlılıkların bir listesini bulabilirsiniz. Yukarıdaki tüm örneklerin gerekli tüm bağımlılıkları yüklediğini unutmayın.
İpucu
PyTorch Gereksinimler işletim sistemine ve CUDA gereksinimlerine göre değişir, bu nedenle önce https://pytorch.org/get-started/locally adresindeki talimatları izleyerek PyTorch adresini yüklemeniz önerilir.
Ultralytics ile kullanın CLI
Ultralytics komut satırı arayüzü (CLI), Python ortamına ihtiyaç duymadan basit tek satırlı komutlara izin verir. CLI herhangi bir özelleştirme veya Python kodu gerektirmez. Tüm görevleri terminalden basitçe şu şekilde çalıştırabilirsiniz yolo
Komut. Kontrol et CLI Kılavuz YOLOv8 adresini komut satırından kullanma hakkında daha fazla bilgi edinmek için.
Örnek
Ultralytics yolo
komutları aşağıdaki sözdizimini kullanır:
TASK
(isteğe bağlı) şunlardan biridir (tespit etmek, segment, sınıflandırmak, poz)MODE
(gerekli) aşağıdakilerden biridir (Tren, val, tahmin etmek, ihracat, parça)ARGS
(isteğe bağlı) şunlardırarg=value
gibi çiftlerimgsz=640
varsayılanları geçersiz kılar.
Tümünü görün ARGS
tam olarak Yapılandırma Kılavuzu ya da yolo cfg
CLI Komuta.
Başlangıç learning_rate değeri 0,01 olan bir algılama modelini 10 epok boyunca eğitin
Görüntü boyutu 320'de önceden eğitilmiş bir segmentasyon modeli kullanarak bir YouTube videosunu tahmin edin:
Val, parti boyutu 1 ve görüntü boyutu 640'ta önceden eğitilmiş bir algılama modelidir:
Bir YOLOv8n sınıflandırma modelini 224 x 128 görüntü boyutunda ONNX formatına aktarın (GÖREV gerekmez)
Uyarı
Argümanlar şu şekilde geçirilmelidir arg=val
çiftleri, bir eşittir ile bölünür =
işaretini kullanın ve çiftler arasında boşluk bırakın. Kullanmayın --
argüman önekleri veya virgüller ,
argümanlar arasında.
yolo predict model=yolov8n.pt imgsz=640 conf=0.25
✅yolo predict model yolov8n.pt imgsz 640 conf 0.25
❌ (eksik=
)yolo predict model=yolov8n.pt, imgsz=640, conf=0.25
❌ (kullanmayın,
)yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25
❌ (kullanmayın--
)
Ultralytics ile kullanın Python
YOLOv8'in Python arayüzü, Python projelerinize sorunsuz entegrasyon sağlayarak modelin çıktısını yüklemeyi, çalıştırmayı ve işlemeyi kolaylaştırır. Basitlik ve kullanım kolaylığı göz önünde bulundurularak tasarlanan Python arayüzü, kullanıcıların projelerinde nesne algılama, segmentasyon ve sınıflandırmayı hızlı bir şekilde uygulamalarını sağlar. Bu da YOLOv8'un Python arayüzünü, bu işlevleri Python projelerine dahil etmek isteyen herkes için paha biçilmez bir araç haline getirmektedir.
Örneğin, kullanıcılar bir modeli yükleyebilir, eğitebilir, bir doğrulama kümesi üzerindeki performansını değerlendirebilir ve hatta sadece birkaç satır kodla ONNX formatına aktarabilir. Python projelerinizde YOLOv8 kullanımı hakkında daha fazla bilgi edinmek için Python Kılavuzuna göz atın.
Örnek
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO('yolov8n.yaml')
# Load a pretrained YOLO model (recommended for training)
model = YOLO('yolov8n.pt')
# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data='coco8.yaml', epochs=3)
# Evaluate the model's performance on the validation set
results = model.val()
# Perform object detection on an image using the model
results = model('https://ultralytics.com/images/bus.jpg')
# Export the model to ONNX format
success = model.export(format='onnx')
Ultralytics Ayarlar
Ultralytics kütüphanesi, deneyleriniz üzerinde hassas kontrol sağlamak için güçlü bir ayar yönetim sistemi sunar. Kullanarak SettingsManager
içinde barındırılan ultralytics.utils
modülü sayesinde kullanıcılar ayarlarına kolayca erişebilir ve bunları değiştirebilir. Bunlar bir YAML dosyasında saklanır ve doğrudan Python ortamında veya Komut Satırı Arayüzü (CLI) aracılığıyla görüntülenebilir veya değiştirilebilir.
Ayarların İncelenmesi
Ayarlarınızın mevcut yapılandırması hakkında bilgi edinmek için bunları doğrudan görüntüleyebilirsiniz:
Ayarları görüntüle
Ayarlarınızı görüntülemek için Python adresini kullanabilirsiniz. İçe aktararak başlayın settings
nesnesinden ultralytics
modülünü kullanın. Aşağıdaki komutları kullanarak ayarları yazdırın ve iade edin:
Ayarları Değiştirme
Ultralytics kullanıcıların ayarlarını kolayca değiştirmelerine olanak tanır. Değişiklikler aşağıdaki şekillerde gerçekleştirilebilir:
Ayarları güncelle
Python ortamı içinde update
yöntemi üzerinde settings
ayarlarınızı değiştirmek için nesne:
Komut satırı arayüzünü kullanmayı tercih ederseniz, aşağıdaki komutlar ayarlarınızı değiştirmenize olanak tanır:
Ayarları Anlama
Aşağıdaki tabloda Ultralytics adresinde ayarlanabilen ayarlara genel bir bakış sunulmaktadır. Her ayar örnek bir değer, veri tipi ve kısa bir açıklama ile birlikte özetlenmiştir.
İsim | Örnek Değer | Veri Tipi | Açıklama |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics ayarlar sürümü ( Ultralytics pip sürümünden farklı) |
datasets_dir |
'/path/to/datasets' |
str |
Veri kümelerinin depolandığı dizin |
weights_dir |
'/path/to/weights' |
str |
Model ağırlıklarının depolandığı dizin |
runs_dir |
'/path/to/runs' |
str |
Deney çalışmalarının depolandığı dizin |
uuid |
'a1b2c3d4' |
str |
Geçerli ayarlar için benzersiz tanımlayıcı |
sync |
True |
bool |
Analizlerin ve çökmelerin HUB ile senkronize edilip edilmeyeceği |
api_key |
'' |
str |
Ultralytics HUB API Anahtarı |
clearml |
True |
bool |
ClearML günlük kaydının kullanılıp kullanılmayacağı |
comet |
True |
bool |
Deney takibi ve görselleştirme için Comet ML kullanılıp kullanılmayacağı |
dvc |
True |
bool |
Deney takibi ve sürüm kontrolü için DVC kullanılıp kullanılmayacağı |
hub |
True |
bool |
Ultralytics HUB entegrasyonunun kullanılıp kullanılmayacağı |
mlflow |
True |
bool |
Deney takibi için MLFlow kullanılıp kullanılmayacağı |
neptune |
True |
bool |
Deney takibi için Neptune adresinin kullanılıp kullanılmayacağı |
raytune |
True |
bool |
Hiperparametre ayarı için Ray Tune kullanılıp kullanılmayacağı |
tensorboard |
True |
bool |
Görselleştirme için TensorBoard kullanılıp kullanılmayacağı |
wandb |
True |
bool |
Weights & Biases günlük kaydının kullanılıp kullanılmayacağı |
Projelerinizde veya deneylerinizde gezinirken, ihtiyaçlarınıza en uygun şekilde yapılandırıldıklarından emin olmak için bu ayarları tekrar gözden geçirdiğinizden emin olun.
Oluşturma 2023-11-12, Güncelleme 2024-04-18
Yazarlar: glenn-jocher (8), RizwanMunawar (2), Laughing-q (1), AyushExel (1)