DĂ©marrage rapide
Installer Ultralytics
Ultralytics propose différentes méthodes d'installation, notamment pip, conda et Docker. Installe YOLOv8 via l'option ultralytics
pip pour la dernière version stable ou en clonant le paquet Ultralytics Dépôt GitHub pour obtenir la version la plus récente. Docker peut être utilisé pour exécuter le paquet dans un conteneur isolé, évitant ainsi une installation locale.
Regarde : Ultralytics YOLO Guide de démarrage rapide
Installer
Installe le ultralytics
à l'aide de pip, ou mettre à jour une installation existante en exécutant pip install -U ultralytics
. Visite le site Python Package Index (PyPI) pour plus de détails sur le programme ultralytics
paquet : https://pypi.org/project/ultralytics/.
Tu peux aussi installer le ultralytics
directement à partir du paquet GitHub dépôt. Cela peut être utile si tu veux la dernière version de développement. Assure-toi que l'outil de ligne de commande Git est installé sur ton système. L'outil @main
La commande installe le main
et peut être modifiée en une autre branche, c'est-à -dire @my-branch
ou supprimée complètement pour passer à la valeur par défaut main
branche.
Conda est un gestionnaire de paquets alternatif à pip qui peut également être utilisé pour l'installation. Visite Anaconda pour plus de détails à https://anaconda.org/conda-forge/ultralytics. Ultralytics Le dépôt feedstock pour la mise à jour du paquet conda se trouve à https://github.com/conda-forge/ultralytics-feedstock/.
Note
Si tu l'installes dans un environnement CUDA, la meilleure pratique est d'installer ultralytics
, pytorch
et pytorch-cuda
dans la même commande pour permettre au gestionnaire de paquets conda de résoudre les éventuels conflits, ou bien pour installer pytorch-cuda
pour lui permettre d'outrepasser les règles spécifiques à l'unité centrale. pytorch
si nécessaire.
Image Docker Conda
Ultralytics Les images Docker de Conda sont également disponibles à partir de . DockerHub. Ces images sont basées sur Miniconda3 et sont un moyen simple de commencer à utiliser ultralytics
dans un environnement Conda.
# 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
Clone le ultralytics
si tu souhaites contribuer au développement ou expérimenter le dernier code source. Après le clonage, navigue dans le répertoire et installe le paquet en mode éditable -e
en utilisant pip.
Utilise Docker pour exécuter sans effort l' ultralytics
dans un conteneur isolé, ce qui garantit des performances constantes et fluides dans divers environnements. En choisissant l'une des versions officielles de ultralytics
images de Hub Docker, tu évites non seulement la complexité de l'installation locale, mais tu bénéficies également de l'accès à un environnement de travail vérifié. Ultralytics propose 5 images Docker principales prises en charge, chacune étant conçue pour offrir une compatibilité et une efficacité élevées pour différentes plateformes et différents cas d'utilisation :
- Dockerfile : Image GPU recommandée pour la formation.
- Dockerfile-arm64 : Optimisé pour l'architecture ARM64, permettant le déploiement sur des appareils comme le Raspberry Pi et d'autres plateformes basées sur ARM64.
- Dockerfile-cpu : version CPU-only basée sur Ubuntu adaptée à l'inférence et aux environnements sans GPU.
- Dockerfile-jetson : Adapté aux appareils NVIDIA Jetson, intégrant la prise en charge du GPU optimisée pour ces plateformes.
- Dockerfile-python: Image minimale avec juste Python et les dépendances nécessaires, idéale pour les applications légères et le développement.
- Dockerfile-conda : Basé sur Miniconda3 avec l'installation de conda du paquet ultralytics .
Tu trouveras ci-dessous les commandes pour obtenir la dernière image et l'exécuter :
# 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
La commande ci-dessus initialise un conteneur Docker avec la dernière version. ultralytics
image. Les -it
attribue un pseudo-TTY et maintient stdin ouvert, ce qui te permet d'interagir avec le conteneur. L'indicateur --ipc=host
définit l'espace de noms IPC (Inter-Process Communication) pour l'hôte, ce qui est essentiel pour le partage de la mémoire entre les processus. Le drapeau --gpus all
flag permet d'accéder à tous les GPU disponibles à l'intérieur du conteneur, ce qui est crucial pour les tâches qui nécessitent un calcul par le GPU.
Remarque : pour travailler avec des fichiers sur ta machine locale dans le conteneur, utilise les volumes Docker pour monter un répertoire local dans le conteneur :
# 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
avec le chemin du répertoire sur ta machine locale, et /path/in/container
avec le chemin souhaité à l'intérieur du conteneur Docker pour l'accessibilité.
Pour une utilisation avancée de Docker, n'hésite pas à explorer le guideUltralytics Docker.
Voir le ultralytics
exigences.txt pour obtenir la liste des dépendances. Note que tous les exemples ci-dessus installent toutes les dépendances nécessaires.
Astuce
PyTorch La configuration requise varie en fonction du système d'exploitation et des exigences CUDA. Il est donc recommandé d'installer d'abord PyTorch en suivant les instructions à https://pytorch.org/get-started/locally.
Utilise Ultralytics avec CLI
L'interface de ligne de commande Ultralytics (CLI) permet d'effectuer des commandes simples sur une seule ligne sans avoir besoin d'un environnement Python . CLI ne nécessite aucune personnalisation ni aucun code Python . Tu peux simplement exécuter toutes les tâches à partir du terminal avec la commande yolo
commande. Jette un coup d'Ĺ“il Ă la CLI Guide pour en savoir plus sur l'utilisation de YOLOv8 Ă partir de la ligne de commande.
Exemple
Ultralytics yolo
Les commandes utilisent la syntaxe suivante :
TASK
(facultatif) est l'un des éléments suivants (détecter, segment, classer, pose)MODE
(obligatoire) est l'un des éléments suivants (train, val, prédire, exporter, piste)ARGS
(facultatif) sontarg=value
paires commeimgsz=640
qui remplacent les valeurs par défaut.
Voir tous ARGS
dans l'ensemble Guide de configuration ou avec le yolo cfg
CLI commande.
Entraîne un modèle de détection pendant 10 époques avec un taux d'apprentissage initial de 0,01.
Prédis une vidéo YouTube à l'aide d'un modèle de segmentation pré-entraîné à la taille d'image 320 :
Val un modèle de détection pré-entraîné à la taille de lot 1 et à la taille d'image 640 :
Exporte un modèle de classification YOLOv8n au format ONNX avec une taille d'image de 224 par 128 (aucune TÂCHE requise).
Avertissement
Les arguments doivent être passés en tant que arg=val
paires, séparées par une équation =
et délimitées par des espaces entre les paires. Ne pas utiliser --
préfixes ou virgules des arguments ,
entre les arguments.
yolo predict model=yolov8n.pt imgsz=640 conf=0.25
âś…yolo predict model yolov8n.pt imgsz 640 conf 0.25
❌ (manquant=
)yolo predict model=yolov8n.pt, imgsz=640, conf=0.25
❌ (ne pas utiliser,
)yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25
❌ (ne pas utiliser--
)
Utilise Ultralytics avec Python
YOLOv8L'interface Python permet une intégration transparente dans tes projets Python , facilitant le chargement, l'exécution et le traitement des résultats du modèle. Conçue dans un souci de simplicité et de facilité d'utilisation, l'interface Python permet aux utilisateurs de mettre rapidement en œuvre la détection, la segmentation et la classification des objets dans leurs projets. Cela fait de l'interface YOLOv8's Python un outil inestimable pour tous ceux qui cherchent à incorporer ces fonctionnalités dans leurs projets Python .
Par exemple, les utilisateurs peuvent charger un modèle, l'entraîner, évaluer ses performances sur un ensemble de validation et même l'exporter au format ONNX avec seulement quelques lignes de code. Consulte le guidePython pour en savoir plus sur l'utilisation de YOLOv8 dans tes projets Python .
Exemple
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 Paramètres
La bibliothèque Ultralytics offre un puissant système de gestion des paramètres qui permet de contrôler finement tes expériences. En utilisant la bibliothèque SettingsManager
hébergé au sein du ultralytics.utils
les utilisateurs peuvent facilement accéder à leurs paramètres et les modifier. Ceux-ci sont stockés dans un fichier YAML et peuvent être consultés ou modifiés directement dans l'environnement Python ou via l'interface de ligne de commande (CLI).
Inspecter les paramètres
Pour avoir un aperçu de la configuration actuelle de tes paramètres, tu peux les consulter directement :
Afficher les paramètres
Tu peux utiliser Python pour visualiser tes paramètres. Commence par importer le fichier settings
de l'objet ultralytics
module. Imprime et renvoie les paramètres à l'aide des commandes suivantes :
Modifier les paramètres
Ultralytics permet aux utilisateurs de modifier facilement leurs paramètres. Les modifications peuvent être effectuées de la manière suivante :
Mettre à jour les paramètres
Dans l'environnement Python , appelle la fonction update
sur la méthode settings
pour modifier tes paramètres :
Si tu préfères utiliser l'interface de ligne de commande, les commandes suivantes te permettront de modifier tes paramètres :
Comprendre les réglages
Le tableau ci-dessous donne un aperçu des paramètres pouvant être ajustés sur Ultralytics. Chaque paramètre est présenté avec un exemple de valeur, le type de données et une brève description.
Nom | Exemple de valeur | Type de données | Description |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics version desparamètres (différente de la version de Ultralytics pip ) |
datasets_dir |
'/path/to/datasets' |
str |
Le répertoire où sont stockés les ensembles de données |
weights_dir |
'/path/to/weights' |
str |
Le répertoire où les poids du modèle sont stockés |
runs_dir |
'/path/to/runs' |
str |
Le répertoire dans lequel les expériences sont stockées |
uuid |
'a1b2c3d4' |
str |
L'identifiant unique des paramètres actuels |
sync |
True |
bool |
Si tu veux synchroniser les analyses et les crashs avec le HUB. |
api_key |
'' |
str |
Ultralytics Clé API HUB |
clearml |
True |
bool |
Utiliser ou non la journalisation ClearML |
comet |
True |
bool |
S'il faut utiliser Comet ML pour le suivi et la visualisation des expériences. |
dvc |
True |
bool |
Faut-il utiliser DVC pour le suivi des expériences et le contrôle des versions ? |
hub |
True |
bool |
Utiliser ou non l'intégration de Ultralytics HUB |
mlflow |
True |
bool |
Utiliser ou non MLFlow pour le suivi des expériences |
neptune |
True |
bool |
Utilise ou non Neptune pour le suivi des expériences |
raytune |
True |
bool |
Utiliser ou non Ray Tune pour l'ajustement des hyperparamètres |
tensorboard |
True |
bool |
Si tu veux utiliser TensorBoard pour la visualisation |
wandb |
True |
bool |
Utiliser ou non la journalisation Weights & Biases |
Au fur et à mesure que tu navigues dans tes projets ou tes expériences, n'oublie pas de revenir sur ces paramètres pour t'assurer qu'ils sont configurés de façon optimale pour tes besoins.
Créé le 2023-11-12, Mis à jour le 2024-04-18
Auteurs : glenn-jocher (8), RizwanMunawar (2), Laughing-q (1), AyushExel (1)