Inicio rápido
Instala Ultralytics
Ultralytics proporciona varios métodos de instalación, como pip, conda y Docker. Instala YOLOv8 mediante el ultralytics
pip para la última versión estable o clonando el paquete Ultralytics Repositorio GitHub para obtener la versión más actualizada. Se puede utilizar Docker para ejecutar el paquete en un contenedor aislado, evitando la instalación local.
Observa: Ultralytics YOLO Guía de inicio rápido
Instala
Instala el ultralytics
mediante pip, o actualiza una instalación existente ejecutando pip install -U ultralytics
. Visita el Índice de Paquetes Python (PyPI) para más detalles sobre el ultralytics
paquete: https://pypi.org/project/ultralytics/.
También puedes instalar el ultralytics
directamente desde GitHub repositorio. Esto puede ser útil si quieres la última versión de desarrollo. Asegúrate de tener instalada en tu sistema la herramienta de línea de comandos Git. La página @main
instala el comando main
rama y puede modificarse a otra rama, es decir @my-branch
o suprimirlo completamente para pasar por defecto a main
rama.
Conda es un gestor de paquetes alternativo a pip que también puede utilizarse para la instalación. Visita Anaconda para más detalles en https://anaconda.org/conda-forge/ultralytics. Ultralytics el repositorio feedstock para actualizar el paquete conda está en https://github.com/conda-forge/ultralytics-feedstock/.
Nota
Si estás instalando en un entorno CUDA, la mejor práctica es instalar ultralytics
, pytorch
y pytorch-cuda
en el mismo comando para permitir que el gestor de paquetes conda resuelva cualquier conflicto, o bien para instalar pytorch-cuda
último para permitir que anule la función específica de la CPU pytorch
paquete si es necesario.
Imagen Docker Conda
Ultralytics Las imágenes Docker de Conda también están disponibles en DockerHub. Estas imágenes se basan en Miniconda3 y son una forma sencilla de empezar a utilizar ultralytics
en un entorno 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
Clona el ultralytics
si estás interesado en contribuir al desarrollo o deseas experimentar con el código fuente más reciente. Después de clonar, navega hasta el directorio e instala el paquete en modo editable -e
utilizando pip.
Utiliza Docker para ejecutar sin esfuerzo el ultralytics
en un contenedor aislado, lo que garantiza un rendimiento uniforme y sin problemas en distintos entornos. Al elegir uno de los paquetes oficiales ultralytics
imágenes de Hub DockerCon Docker, no sólo evitas la complejidad de la instalación local, sino que también te beneficias del acceso a un entorno de trabajo verificado. Ultralytics ofrece 5 imágenes Docker principales compatibles, cada una de ellas diseñada para proporcionar una gran compatibilidad y eficacia para diferentes plataformas y casos de uso:
- Dockerfile: Imagen GPU recomendada para el entrenamiento.
- Dockerfile-arm64: Optimizado para la arquitectura ARM64, que permite el despliegue en dispositivos como Raspberry Pi y otras plataformas basadas en ARM64.
- Dockerfile-cpu: versión para CPU basada en Ubuntu, adecuada para inferencia y entornos sin GPU.
- Dockerfile-jetson: Adaptado para dispositivos NVIDIA Jetson, integrando soporte GPU optimizado para estas plataformas.
- Dockerfile-python: Imagen mínima con sólo Python y las dependencias necesarias, ideal para aplicaciones ligeras y desarrollo.
- Dockerfile-conda: Basado en Miniconda3 con instalación conda del paquete ultralytics .
A continuación se indican los comandos para obtener la última imagen y ejecutarla:
# 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
El comando anterior inicializa un contenedor Docker con la última versión de ultralytics
imagen. En -it
asigna un pseudo-TTY y mantiene stdin abierto, lo que te permite interactuar con el contenedor. La opción --ipc=host
establece el espacio de nombres IPC (comunicación entre procesos) en el host, que es esencial para compartir memoria entre procesos. La dirección --gpus all
flag permite acceder a todas las GPUs disponibles dentro del contenedor, lo que es crucial para tareas que requieren computación en la GPU.
Nota: Para trabajar con archivos de tu máquina local dentro del contenedor, utiliza volúmenes Docker para montar un directorio local en el contenedor:
# 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
con la ruta del directorio en tu máquina local, y /path/in/container
con la ruta deseada dentro del contenedor Docker para que sea accesible.
Para un uso avanzado de Docker, no dudes en explorar la Guía Docker de Ultralytics .
Ver el ultralytics
requisitos.txt para obtener una lista de dependencias. Ten en cuenta que todos los ejemplos anteriores instalan todas las dependencias necesarias.
Consejo
PyTorch Los requisitos varían según el sistema operativo y los requisitos de CUDA, por lo que se recomienda instalar primero PyTorch siguiendo las instrucciones de https://pytorch.org/get-started/locally.
Utiliza Ultralytics con CLI
La interfaz de línea de comandos Ultralytics (CLI) permite ejecutar comandos sencillos de una sola línea sin necesidad de un entorno Python . CLI no requiere personalización ni código Python . Puedes simplemente ejecutar todas las tareas desde el terminal con el comando yolo
mando. Echa un vistazo a CLI Guía para saber más sobre cómo utilizar YOLOv8 desde la línea de comandos.
Ejemplo
Ultralytics yolo
utilizan la siguiente sintaxis:
TASK
(opcional) es una de (detecta, segmento, clasifica, posa)MODE
(obligatorio) es una de (tren, val, predice, exportar, pista)ARGS
(opcional) sonarg=value
parejas comoimgsz=640
que anulan los valores predeterminados.
Ver todo ARGS
en el pleno Guía de configuración o con el yolo cfg
CLI mando.
Entrena un modelo de detección durante 10 épocas con una tasa_de_aprendizaje inicial de 0,01
Predecir un vídeo de YouTube utilizando un modelo de segmentación preentrenado a tamaño de imagen 320:
Val un modelo de detección preentrenado a tamaño de lote 1 y tamaño de imagen 640:
Exporta un modelo de clasificación YOLOv8n al formato ONNX con un tamaño de imagen de 224 por 128 (no requiere TASK).
Advertencia
Los argumentos deben pasarse como arg=val
pares, divididos por una igualdad =
y delimitado por espacios entre pares. No utilices --
prefijos de argumento o comas ,
entre argumentos.
yolo predict model=yolov8n.pt imgsz=640 conf=0.25
✅yolo predict model yolov8n.pt imgsz 640 conf 0.25
❌ (falta=
)yolo predict model=yolov8n.pt, imgsz=640, conf=0.25
❌ (no utilices,
)yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25
❌ (no utilices--
)
Utiliza Ultralytics con Python
YOLOv8La interfaz de Python permite una integración perfecta en tus proyectos de Python , facilitando la carga, ejecución y procesamiento de los resultados del modelo. Diseñada pensando en la sencillez y la facilidad de uso, la interfaz Python permite a los usuarios implementar rápidamente la detección, segmentación y clasificación de objetos en sus proyectos. Esto hace que la interfaz Python de YOLOv8 sea una herramienta inestimable para cualquiera que desee incorporar estas funcionalidades a sus proyectos Python .
Por ejemplo, los usuarios pueden cargar un modelo, entrenarlo, evaluar su rendimiento en un conjunto de validación e incluso exportarlo al formato ONNX con sólo unas líneas de código. Consulta la GuíaPython para obtener más información sobre el uso de YOLOv8 en tus proyectos Python .
Ejemplo
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 Ajustes
La biblioteca Ultralytics proporciona un potente sistema de gestión de ajustes que permite un control detallado de tus experimentos. Utilizando la función SettingsManager
alojados en el ultralytics.utils
los usuarios pueden acceder fácilmente a sus ajustes y modificarlos. Éstos se almacenan en un archivo YAML y pueden verse o modificarse directamente en el entorno Python o a través de la interfaz de línea de comandos (CLI).
Inspeccionar ajustes
Para conocer la configuración actual de tus ajustes, puedes verlos directamente:
Ver ajustes
Puedes utilizar Python para ver tus ajustes. Empieza importando el archivo settings
del objeto ultralytics
módulo. Imprime y devuelve los ajustes mediante los siguientes comandos:
Modificar ajustes
Ultralytics permite a los usuarios modificar fácilmente sus ajustes. Los cambios se pueden realizar de las siguientes formas:
Actualizar ajustes
Dentro del entorno Python , llama a la función update
del método settings
para cambiar tu configuración:
Si prefieres utilizar la interfaz de línea de comandos, los siguientes comandos te permitirán modificar tu configuración:
Comprender los ajustes
La siguiente tabla proporciona una visión general de los ajustes disponibles en Ultralytics. Cada ajuste se describe con un valor de ejemplo, el tipo de dato y una breve descripción.
Nombre | Valor de ejemplo | Tipo de datos | Descripción |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics versión deconfiguración (diferente de la versiónpip de Ultralytics ) |
datasets_dir |
'/path/to/datasets' |
str |
El directorio donde se almacenan los conjuntos de datos |
weights_dir |
'/path/to/weights' |
str |
El directorio donde se almacenan los pesos del modelo |
runs_dir |
'/path/to/runs' |
str |
El directorio donde se almacenan las ejecuciones del experimento |
uuid |
'a1b2c3d4' |
str |
El identificador único de la configuración actual |
sync |
True |
bool |
Si se sincronizan los análisis y los accidentes con el HUB |
api_key |
'' |
str |
Ultralytics Clave API HUB |
clearml |
True |
bool |
Si se utiliza el registro ClearML |
comet |
True |
bool |
Si utilizar Comet ML para el seguimiento y visualización de experimentos |
dvc |
True |
bool |
Si utilizar DVC para el seguimiento de experimentos y el control de versiones |
hub |
True |
bool |
Si utilizar la integración Ultralytics HUB |
mlflow |
True |
bool |
Si utilizar MLFlow para el seguimiento de experimentos |
neptune |
True |
bool |
Si utilizar Neptune para el seguimiento de los experimentos |
raytune |
True |
bool |
Si utilizar Ray Tune para el ajuste de hiperparámetros |
tensorboard |
True |
bool |
Si utilizar TensorBoard para la visualización |
wandb |
True |
bool |
Si se utiliza el registro Weights & Biases |
A medida que navegas por tus proyectos o experimentos, asegúrate de revisar estos ajustes para comprobar que están configurados de forma óptima para tus necesidades.
Creado 2023-11-12, Actualizado 2024-04-18
Autores: glenn-jocher (8), RizwanMunawar (2), Laughing-q (1), AyushExel (1)