Ir al contenido

Formaci贸n de modelos con Ultralytics YOLO

Ultralytics YOLO ecosistema e integraciones

Introducci贸n

Entrenar un modelo de aprendizaje profundo implica alimentarlo con datos y ajustar sus par谩metros para que pueda realizar predicciones precisas. El modo de entrenamiento de Ultralytics YOLO11 est谩 dise帽ado para un entrenamiento eficaz y eficiente de los modelos de detecci贸n de objetos, utilizando plenamente las capacidades del hardware moderno. Esta gu铆a pretende cubrir todos los detalles que necesitas para empezar a entrenar tus propios modelos utilizando el s贸lido conjunto de funciones de YOLO11.



Observa: C贸mo entrenar un modelo YOLO en su conjunto de datos personalizado en Google Colab.

驴Por qu茅 elegir Ultralytics YOLO para la formaci贸n?

He aqu铆 algunas razones de peso para optar por el modo Tren de YOLO11:

  • Eficiencia: Saca el m谩ximo partido a tu hardware, tanto si utilizas una 煤nica configuraci贸n deGPU como si escalas varias GPU.
  • Versatilidad: Entrene en conjuntos de datos personalizados, adem谩s de los disponibles como COCO, VOC e ImageNet.
  • F谩cil de usar: interfaces sencillas pero potentes en CLI y Python para una experiencia de formaci贸n sin complicaciones.
  • Flexibilidad de hiperpar谩metros: Una amplia gama de hiperpar谩metros personalizables para ajustar el rendimiento del modelo.

Caracter铆sticas principales del modo tren

Las siguientes son algunas caracter铆sticas notables del modo Tren de YOLO11:

  • Descarga autom谩tica de conjuntos de datos: Los conjuntos de datos est谩ndar como COCO, VOC e ImageNet se descargan autom谩ticamente la primera vez que se utilizan.
  • Soporte Multi-GPU : Escala tus esfuerzos de formaci贸n sin problemas a trav茅s de m煤ltiples GPUs para agilizar el proceso.
  • Configuraci贸n de hiperpar谩metros: La opci贸n de modificar hiperpar谩metros a trav茅s de archivos de configuraci贸n YAML o argumentos CLI .
  • Visualizaci贸n y seguimiento: Seguimiento en tiempo real de las m茅tricas de formaci贸n y visualizaci贸n del proceso de aprendizaje para una mejor comprensi贸n.

Consejo

  • YOLO11 conjuntos de datos como COCO, VOC, ImageNet y muchos otros se descargan autom谩ticamente en el primer uso, es decir. yolo train data=coco.yaml

Ejemplos de uso

Entrenar YOLO11n en el conjunto de datos COCO8 para 100 茅pocas con un tama帽o de imagen de 640. El dispositivo de entrenamiento se puede especificar mediante la opci贸n device argumento. Si no se pasa ning煤n argumento GPU device=0 se utilizar谩 si est谩 disponible, de lo contrario device='cpu' se utilizar谩n. Consulte la secci贸n Argumentos para obtener una lista completa de los argumentos de entrenamiento.

GPU y CPU Ejemplo de formaci贸n

El dispositivo se determina autom谩ticamente. Si hay un GPU disponible, se utilizar谩; de lo contrario, el entrenamiento comenzar谩 en CPU.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

Formaci贸n Multi-GPU

El entrenamiento Multi-GPU permite una utilizaci贸n m谩s eficiente de los recursos de hardware disponibles al distribuir la carga de entrenamiento entre varias GPU. Esta funci贸n est谩 disponible tanto a trav茅s de la API Python como de la interfaz de l铆nea de comandos. Para activar el entrenamiento m煤ltipleGPU , especifique los ID de dispositivo GPU que desea utilizar.

Multi-GPU Ejemplo de formaci贸n

Para entrenar con 2 GPUs, CUDA dispositivos 0 y 1 utilice los siguientes comandos. Expanda a GPUs adicionales seg煤n sea necesario.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with 2 GPUs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=0,1

Apple Silicon MPS Formaci贸n

Gracias a la compatibilidad con los chips de silicio de Apple integrados en los modelos Ultralytics YOLO , ahora es posible entrenar sus modelos en dispositivos que utilicen el potente marco Metal Performance Shaders (MPS). MPS ofrece una forma de alto rendimiento de ejecutar tareas de c谩lculo y procesamiento de im谩genes en el silicio personalizado de Apple.

Para habilitar el entrenamiento en chips de silicio de Apple, debe especificar 'mps' como dispositivo al iniciar el proceso de entrenamiento. A continuaci贸n se muestra un ejemplo de c贸mo se puede hacer esto en Python y a trav茅s de la l铆nea de comandos:

MPS Ejemplo de formaci贸n

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with MPS
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
# Start training from a pretrained *.pt model using MPS
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Al tiempo que se aprovecha la potencia de c谩lculo de los chips de silicio de Apple, esto permite un procesamiento m谩s eficiente de las tareas de formaci贸n. Para obtener informaci贸n m谩s detallada y opciones de configuraci贸n avanzadas, consulte la documentaci贸n dePyTorch MPS .

Reanudaci贸n de los cursos interrumpidos

Reanudar el entrenamiento a partir de un estado previamente guardado es una funci贸n crucial cuando se trabaja con modelos de aprendizaje profundo. Esto puede resultar 煤til en varias situaciones, como cuando el proceso de entrenamiento se interrumpe inesperadamente o cuando se desea continuar entrenando un modelo con nuevos datos o durante m谩s 茅pocas.

Cuando se reanuda el entrenamiento, Ultralytics YOLO carga los pesos del 煤ltimo modelo guardado y tambi茅n restaura el estado del optimizador, el programador de la tasa de aprendizaje y el n煤mero de 茅pocas. Esto le permite continuar el proceso de entrenamiento sin problemas desde donde lo dej贸.

Puede reanudar f谩cilmente la formaci贸n en Ultralytics YOLO configurando la opci贸n resume argumento para True al llamar al train y especificando la ruta al m茅todo .pt que contiene los pesos del modelo parcialmente entrenado.

A continuaci贸n se muestra un ejemplo de c贸mo reanudar un entrenamiento interrumpido utilizando Python y a trav茅s de la l铆nea de comandos:

Ejemplo de formaci贸n

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/last.pt")  # load a partially trained model

# Resume training
results = model.train(resume=True)
# Resume an interrupted training
yolo train resume model=path/to/last.pt

Estableciendo resume=TrueEl train continuar谩 el entrenamiento desde donde lo dej贸, utilizando el estado almacenado en el archivo 'path/to/last.pt'. Si la funci贸n resume se omite o se establece en FalseEl train iniciar谩 una nueva sesi贸n de entrenamiento.

Recuerde que los puntos de control se guardan al final de cada 茅poca por defecto, o a intervalos fijos utilizando la opci贸n save_period por lo que debe completar al menos 1 茅poca para reanudar una carrera de entrenamiento.

Ajustes del tren

Los ajustes de entrenamiento de los modelos YOLO abarcan varios hiperpar谩metros y configuraciones utilizados durante el proceso de entrenamiento. Estos ajustes influyen en el rendimiento, la velocidad y la precisi贸n del modelo. Entre los ajustes de entrenamiento m谩s importantes se encuentran el tama帽o del lote, la velocidad de aprendizaje, el impulso y el decaimiento del peso. Adem谩s, la elecci贸n del optimizador, la funci贸n de p茅rdida y la composici贸n del conjunto de datos de entrenamiento pueden influir en el proceso de entrenamiento. El ajuste cuidadoso y la experimentaci贸n con estos par谩metros son cruciales para optimizar el rendimiento.

Argumento Por defecto Descripci贸n
model None Especifica el archivo modelo para el entrenamiento. Acepta una ruta a un archivo .pt modelo preentrenado o un .yaml archivo de configuraci贸n. Imprescindible para definir la estructura del modelo o inicializar los pesos.
data None Ruta al archivo de configuraci贸n del conjunto de datos (por ejemplo, coco8.yaml). Este archivo contiene par谩metros espec铆ficos del conjunto de datos, incluidas las rutas a los archivos de entrenamiento y datos de validaci贸nnombres de las clases y n煤mero de clases.
epochs 100 N煤mero total de 茅pocas de entrenamiento. Cada 茅poca representa una pasada completa por todo el conjunto de datos. Ajustar este valor puede afectar a la duraci贸n del entrenamiento y al rendimiento del modelo.
time None Tiempo m谩ximo de entrenamiento en horas. Si se establece, anula el epochs lo que permite que el entrenamiento se detenga autom谩ticamente despu茅s de la duraci贸n especificada. Resulta 煤til en situaciones de formaci贸n con limitaciones de tiempo.
patience 100 N煤mero de 茅pocas que hay que esperar sin que mejoren las m茅tricas de validaci贸n antes de detener el entrenamiento. Ayuda a evitar el sobreajuste al detener el entrenamiento cuando el rendimiento se estanca.
batch 16 Tama帽o del lotecon tres modos: establecido como un n煤mero entero (por ejemplo, batch=16), modo autom谩tico para una utilizaci贸n de la memoria del 60% GPU (batch=-1), o modo autom谩tico con la fracci贸n de utilizaci贸n especificada (batch=0.70).
imgsz 640 Tama帽o de imagen objetivo para el entrenamiento. Todas las im谩genes se redimensionan a esta dimensi贸n antes de introducirlas en el modelo. Afecta a la precisi贸n del modelo y a la complejidad computacional.
save True Permite guardar los puntos de control del entrenamiento y los pesos finales del modelo. Resulta 煤til para reanudar el entrenamiento o el despliegue del modelo.
save_period -1 Frecuencia con la que se guardan los puntos de control del modelo, especificada en 茅pocas. Un valor de -1 desactiva esta funci贸n. 脷til para guardar modelos provisionales durante sesiones de entrenamiento largas.
cache False Permite almacenar en cach茅 las im谩genes del conjunto de datos en la memoria (True/ram), en disco (disk), o lo desactiva (False). Mejora la velocidad de entrenamiento reduciendo la E/S de disco a costa de un mayor uso de memoria.
device None Especifica el dispositivo o dispositivos inform谩ticos para el entrenamiento: un 煤nico GPU (device=0), varias GPU (device=0,1), CPU (device=cpu), o MPS para el silicio de Apple (device=mps).
workers 8 N煤mero de subprocesos de trabajo para la carga de datos (por RANK si entrenamiento Multi-GPU ). Influye en la velocidad de preprocesamiento de datos y alimentaci贸n del modelo, especialmente 煤til en configuraciones multiGPU .
project None Nombre del directorio del proyecto donde se guardan los resultados del entrenamiento. Permite el almacenamiento organizado de diferentes experimentos.
name None Nombre del entrenamiento. Se utiliza para crear un subdirectorio dentro de la carpeta del proyecto, donde se almacenan los registros de entrenamiento y los resultados.
exist_ok False Si es True, permite sobrescribir un directorio de proyecto/nombre existente. 脷til para la experimentaci贸n iterativa sin necesidad de borrar manualmente los resultados anteriores.
pretrained True Determina si se inicia el entrenamiento a partir de un modelo preentrenado. Puede ser un valor booleano o una ruta de cadena a un modelo espec铆fico desde el que cargar los pesos. Mejora la eficacia del entrenamiento y el rendimiento del modelo.
optimizer 'auto' Elecci贸n del optimizador para la formaci贸n. Las opciones incluyen SGD, Adam, AdamW, NAdam, RAdam, RMSProp etc., o auto para la selecci贸n autom谩tica basada en la configuraci贸n del modelo. Afecta a la velocidad de convergencia y a la estabilidad.
seed 0 Establece la semilla aleatoria para el entrenamiento, garantizando la reproducibilidad de los resultados entre ejecuciones con las mismas configuraciones.
deterministic True Fuerza el uso de algoritmos deterministas, lo que garantiza la reproducibilidad, pero puede afectar al rendimiento y la velocidad debido a la restricci贸n de algoritmos no deterministas.
single_cls False Trata todas las clases de los conjuntos de datos multiclase como una 煤nica clase durante el entrenamiento. 脷til para tareas de clasificaci贸n binaria o cuando se centra en la presencia de objetos en lugar de en la clasificaci贸n.
classes None Especifica una lista de IDs de clase para entrenar. 脷til para filtrar y centrarse s贸lo en ciertas clases durante el entrenamiento.
rect False Permite la formaci贸n rectangular, optimizando la composici贸n del lote para un relleno m铆nimo. Puede mejorar la eficiencia y la velocidad, pero puede afectar a la precisi贸n del modelo.
cos_lr False Utiliza un programador de la tasa de aprendizaje coseno, ajustando la tasa de aprendizaje siguiendo una curva coseno a lo largo de las 茅pocas. Ayuda a gestionar la tasa de aprendizaje para mejorar la convergencia.
close_mosaic 10 Desactiva el aumento de datos de mosaico en las 煤ltimas N 茅pocas para estabilizar el entrenamiento antes de su finalizaci贸n. El valor 0 desactiva esta funci贸n.
resume False Reanuda el entrenamiento desde el 煤ltimo punto de control guardado. Carga autom谩ticamente los pesos del modelo, el estado del optimizador y el recuento de 茅pocas para continuar el entrenamiento sin problemas.
amp True Permite el entrenamiento autom谩tico de precisi贸n mixta (AMP), lo que reduce el uso de memoria y posiblemente acelera el entrenamiento con un impacto m铆nimo en la precisi贸n.
fraction 1.0 Especifica la fracci贸n del conjunto de datos que se utilizar谩 para el entrenamiento. Permite el entrenamiento en un subconjunto del conjunto de datos completo, 煤til para experimentos o cuando los recursos son limitados.
profile False Permite perfilar las velocidades de ONNX y TensorRT durante el entrenamiento, lo que resulta 煤til para optimizar el despliegue del modelo.
freeze None Congela las primeras N capas del modelo o capas especificadas por 铆ndice, reduciendo el n煤mero de par谩metros entrenables. 脷til para el ajuste fino o el aprendizaje por transferencia.
lr0 0.01 Tasa de aprendizaje inicial (es decir SGD=1E-2, Adam=1E-3) . El ajuste de este valor es crucial para el proceso de optimizaci贸n, ya que influye en la rapidez con la que se actualizan las ponderaciones del modelo.
lrf 0.01 Tasa de aprendizaje final como fracci贸n de la tasa inicial = (lr0 * lrf), que se utiliza junto con los programadores para ajustar el ritmo de aprendizaje a lo largo del tiempo.
momentum 0.937 Factor de impulso para SGD o beta1 para optimizadores Adam, que influye en la incorporaci贸n de gradientes pasados en la actualizaci贸n actual.
weight_decay 0.0005 T茅rmino de regularizaci贸n L2, que penaliza los pesos grandes para evitar el sobreajuste.
warmup_epochs 3.0 N煤mero de 茅pocas para el calentamiento de la tasa de aprendizaje, aumentando gradualmente la tasa de aprendizaje desde un valor bajo hasta la tasa de aprendizaje inicial para estabilizar el entrenamiento desde el principio.
warmup_momentum 0.8 Impulso inicial para la fase de calentamiento, ajust谩ndose gradualmente al impulso establecido durante el periodo de calentamiento.
warmup_bias_lr 0.1 Tasa de aprendizaje de los par谩metros de sesgo durante la fase de calentamiento, que ayuda a estabilizar el entrenamiento del modelo en las 茅pocas iniciales.
box 7.5 Peso del componente de p茅rdida de caja en la funci贸n de p茅rdida, que influye en el 茅nfasis que se pone en predecir con precisi贸n las coordenadas de la caja delimitadora.
cls 0.5 Peso de la p茅rdida de clasificaci贸n en la funci贸n de p茅rdida total, que afecta a la importancia de la predicci贸n de clase correcta en relaci贸n con otros componentes.
dfl 1.5 Ponderaci贸n de la p茅rdida focal de distribuci贸n, utilizada en algunas versiones de YOLO para la clasificaci贸n fina.
pose 12.0 Peso de la p茅rdida de pose en los modelos entrenados para la estimaci贸n de la pose, lo que influye en la importancia de predecir con precisi贸n los puntos clave de la pose.
kobj 2.0 Ponderaci贸n de la p茅rdida de objetividad del punto clave en los modelos de estimaci贸n de la pose, equilibrando la confianza en la detecci贸n con la precisi贸n de la pose.
nbs 64 Tama帽o nominal del lote para la normalizaci贸n de la p茅rdida.
overlap_mask True Determina si las m谩scaras de los objetos deben fusionarse en una 煤nica m谩scara para el entrenamiento, o mantenerse separadas para cada objeto. En caso de solapamiento, la m谩scara m谩s peque帽a se superpone a la m谩s grande durante la fusi贸n.
mask_ratio 4 Relaci贸n de reducci贸n de la muestra para las m谩scaras de segmentaci贸n, que afecta a la resoluci贸n de las m谩scaras utilizadas durante el entrenamiento.
dropout 0.0 Tasa de abandono para la regularizaci贸n en tareas de clasificaci贸n, que evita el sobreajuste omitiendo aleatoriamente unidades durante el entrenamiento.
val True Activa la validaci贸n durante el entrenamiento, lo que permite evaluar peri贸dicamente el rendimiento del modelo en un conjunto de datos independiente.
plots False Genera y guarda gr谩ficos de m茅tricas de entrenamiento y validaci贸n, as铆 como ejemplos de predicci贸n, proporcionando una visi贸n visual del rendimiento del modelo y de la progresi贸n del aprendizaje.

Nota sobre la configuraci贸n del tama帽o de los lotes

En batch puede configurarse de tres maneras:

  • Tama帽o de lote fijo: Establece un valor entero (por ejemplo, batch=16), especificando directamente el n煤mero de im谩genes por lote.
  • Modo autom谩tico (60% GPU Memoria): Utilice batch=-1 para ajustar autom谩ticamente el tama帽o del lote para una utilizaci贸n de la memoria de aproximadamente el 60% CUDA .
  • Modo autom谩tico con fracci贸n de utilizaci贸n: Establece un valor de fracci贸n (p. ej, batch=0.70) para ajustar el tama帽o del lote en funci贸n de la fracci贸n especificada del uso de memoria de GPU .

Ajustes de aumento e hiperpar谩metros

Las t茅cnicas de aumento son esenciales para mejorar la solidez y el rendimiento de los modelos de YOLO introduciendo variabilidad en los datos de entrenamiento, lo que ayuda al modelo a generalizar mejor a datos no vistos. En la tabla siguiente se describen la finalidad y el efecto de cada argumento de aumento:

Argumento Tipo Por defecto Gama Descripci贸n
hsv_h float 0.015 0.0 - 1.0 Ajusta el tono de la imagen en una fracci贸n de la rueda de color, introduciendo variabilidad crom谩tica. Ayuda a que el modelo se generalice a trav茅s de diferentes condiciones de iluminaci贸n.
hsv_s float 0.7 0.0 - 1.0 Altera la saturaci贸n de la imagen en una fracci贸n, afectando a la intensidad de los colores. Resulta 煤til para simular distintas condiciones ambientales.
hsv_v float 0.4 0.0 - 1.0 Modifica el valor (brillo) de la imagen en una fracci贸n, lo que ayuda a que el modelo funcione bien en distintas condiciones de iluminaci贸n.
degrees float 0.0 -180 - +180 Rota la imagen aleatoriamente dentro del rango de grados especificado, mejorando la capacidad del modelo para reconocer objetos en diversas orientaciones.
translate float 0.1 0.0 - 1.0 Traslada la imagen horizontal y verticalmente una fracci贸n del tama帽o de la imagen, lo que ayuda a aprender a detectar objetos parcialmente visibles.
scale float 0.5 >=0.0 Escala la imagen por un factor de ganancia, simulando objetos a diferentes distancias de la c谩mara.
shear float 0.0 -180 - +180 Corta la imagen en un grado determinado, imitando el efecto de los objetos vistos desde distintos 谩ngulos.
perspective float 0.0 0.0 - 0.001 Aplica una transformaci贸n de perspectiva aleatoria a la imagen, mejorando la capacidad del modelo para comprender objetos en el espacio 3D.
flipud float 0.0 0.0 - 1.0 Voltea la imagen con la probabilidad especificada, aumentando la variabilidad de los datos sin afectar a las caracter铆sticas del objeto.
fliplr float 0.5 0.0 - 1.0 Voltea la imagen de izquierda a derecha con la probabilidad especificada, 煤til para aprender objetos sim茅tricos y aumentar la diversidad del conjunto de datos.
bgr float 0.0 0.0 - 1.0 Cambia los canales de la imagen de RGB a BGR con la probabilidad especificada, lo que resulta 煤til para aumentar la robustez ante una ordenaci贸n incorrecta de los canales.
mosaic float 1.0 0.0 - 1.0 Combina cuatro im谩genes de entrenamiento en una, simulando diferentes composiciones de escenas e interacciones de objetos. Muy eficaz para comprender escenas complejas.
mixup float 0.0 0.0 - 1.0 Mezcla dos im谩genes y sus etiquetas, creando una imagen compuesta. Mejora la capacidad de generalizaci贸n del modelo introduciendo ruido en las etiquetas y variabilidad visual.
copy_paste float 0.0 0.0 - 1.0 Copia y pega objetos a trav茅s de las im谩genes, 煤til para aumentar las instancias de objetos y aprender la oclusi贸n de objetos. Requiere etiquetas de segmentaci贸n.
copy_paste_mode str flip - Selecci贸n del m茅todo de aumento Copiar-Pegar entre las opciones de ("flip", "mixup").
auto_augment str randaugment - Aplica autom谩ticamente una pol铆tica de aumento predefinida (randaugment, autoaugment, augmix), optimizando las tareas de clasificaci贸n mediante la diversificaci贸n de las caracter铆sticas visuales.
erasing float 0.4 0.0 - 0.9 Borra aleatoriamente una porci贸n de la imagen durante el entrenamiento de clasificaci贸n, animando al modelo a centrarse en caracter铆sticas menos obvias para el reconocimiento.
crop_fraction float 1.0 0.1 - 1.0 Recorta la imagen de clasificaci贸n a una fracci贸n de su tama帽o para resaltar las caracter铆sticas centrales y adaptarse a las escalas de los objetos, reduciendo las distracciones del fondo.

Estos par谩metros pueden ajustarse para satisfacer los requisitos espec铆ficos del conjunto de datos y la tarea en cuesti贸n. Experimentar con distintos valores puede ayudar a encontrar la estrategia de aumento 贸ptima que conduzca al mejor rendimiento del modelo.

Informaci贸n

Para m谩s informaci贸n sobre las operaciones de aumento de la formaci贸n, consulte la secci贸n de referencia.

Registro

Al entrenar un modelo YOLO11 , puede resultarle 煤til hacer un seguimiento del rendimiento del modelo a lo largo del tiempo. Aqu铆 es donde entra en juego el registro. Ultralytics' YOLO proporciona soporte para tres tipos de registradores - Comet, ClearML, y TensorBoard.

Para utilizar un registrador, selecci贸nelo en el men煤 desplegable del fragmento de c贸digo anterior y ejec煤telo. El registrador elegido se instalar谩 e inicializar谩.

Comet

Comet es una plataforma que permite a los cient铆ficos de datos y desarrolladores rastrear, comparar, explicar y optimizar experimentos y modelos. Ofrece funcionalidades como m茅tricas en tiempo real, diferencias de c贸digo y seguimiento de hiperpar谩metros.

Para utilizar Comet:

Ejemplo

# pip install comet_ml
import comet_ml

comet_ml.init()

Recuerda iniciar sesi贸n en tu cuenta de Comet en su sitio web y obtener tu clave API. Tendr谩s que a帽adirla a tus variables de entorno o a tu script para registrar tus experimentos.

ClearML

ClearML es una plataforma de c贸digo abierto que automatiza el seguimiento de experimentos y ayuda a compartir recursos de forma eficiente. Est谩 dise帽ada para ayudar a los equipos a gestionar, ejecutar y reproducir su trabajo de ML de forma m谩s eficiente.

Para utilizar ClearML:

Ejemplo

# pip install clearml
import clearml

clearml.browser_login()

Despu茅s de ejecutar este script, tendr谩 que iniciar sesi贸n en su cuenta ClearML en el navegador y autenticar su sesi贸n.

TensorBoard

TensorBoard es un conjunto de herramientas de visualizaci贸n para TensorFlow. Te permite visualizar tu gr谩fico TensorFlow , trazar m茅tricas cuantitativas sobre la ejecuci贸n de tu gr谩fico y mostrar datos adicionales como im谩genes que lo atraviesan.

Para utilizar TensorBoard en Google Colab:

Ejemplo

load_ext tensorboard
tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

Para utilizar TensorBoard localmente ejecute el siguiente comando y vea los resultados en http://localhost:6006/.

Ejemplo

tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

Esto cargar谩 TensorBoard y lo dirigir谩 al directorio donde se guardan sus registros de entrenamiento.

Una vez configurado el registrador, puede continuar con el entrenamiento del modelo. Todas las m茅tricas de entrenamiento se registrar谩n autom谩ticamente en la plataforma elegida, y podr谩s acceder a estos registros para supervisar el rendimiento de tu modelo a lo largo del tiempo, comparar diferentes modelos e identificar 谩reas de mejora.

PREGUNTAS FRECUENTES

驴C贸mo entreno un modelo de detecci贸n de objetos utilizando Ultralytics YOLO11 ?

Para entrenar un modelo de detecci贸n de objetos utilizando Ultralytics YOLO11 , puede utilizar la API Python o la CLI. A continuaci贸n se muestra un ejemplo para ambas:

GPU y CPU Ejemplo de formaci贸n

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

Para m谩s detalles, consulte la secci贸n Ajustes del tren.

驴Cu谩les son las principales caracter铆sticas del modo Tren de Ultralytics YOLO11 ?

Las principales caracter铆sticas del modo Tren de Ultralytics YOLO11 incluyen:

  • Descarga autom谩tica de conjuntos de datos: Descarga autom谩ticamente conjuntos de datos est谩ndar como COCO, VOC e ImageNet.
  • Soporte Multi-GPU : Escala el entrenamiento a trav茅s de m煤ltiples GPUs para un procesamiento m谩s r谩pido.
  • Configuraci贸n de hiperpar谩metros: Personalice los hiperpar谩metros mediante archivos YAML o argumentos de CLI .
  • Visualizaci贸n y seguimiento: Seguimiento en tiempo real de las m茅tricas de formaci贸n para una mejor comprensi贸n.

Estas caracter铆sticas hacen que el entrenamiento sea eficiente y personalizable seg煤n sus necesidades. Para m谩s detalles, consulte la secci贸n Caracter铆sticas principales del modo Tren.

驴C贸mo se reanuda un entrenamiento tras una sesi贸n interrumpida en Ultralytics YOLO11 ?

Para reanudar el entrenamiento a partir de una sesi贸n interrumpida, configure la opci贸n resume argumento para True y especifique la ruta del 煤ltimo punto de control guardado.

Ejemplo de formaci贸n

from ultralytics import YOLO

# Load the partially trained model
model = YOLO("path/to/last.pt")

# Resume training
results = model.train(resume=True)
yolo train resume model=path/to/last.pt

Para m谩s informaci贸n, consulte la secci贸n Reanudaci贸n de los cursos interrumpidos.

驴Puedo entrenar modelos YOLO11 en chips de silicio de Apple?

S铆, Ultralytics YOLO11 admite el entrenamiento en chips de silicio Apple que utilizan el marco Metal Performance Shaders (MPS). Especifica 'mps' como dispositivo de entrenamiento.

MPS Ejemplo de formaci贸n

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on Apple silicon chip (M1/M2/M3/M4)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Para m谩s detalles, consulte la secci贸n de formaci贸n de Apple Silicon MPS .

驴Cu谩les son los ajustes de entrenamiento habituales y c贸mo se configuran?

Ultralytics YOLO11 le permite configurar una variedad de ajustes de entrenamiento como el tama帽o del lote, la tasa de aprendizaje, las 茅pocas, y m谩s a trav茅s de argumentos. He aqu铆 un breve resumen:

Argumento Por defecto Descripci贸n
model None Ruta al archivo del modelo para el entrenamiento.
data None Ruta al archivo de configuraci贸n del conjunto de datos (por ejemplo, coco8.yaml).
epochs 100 N煤mero total de 茅pocas de entrenamiento.
batch 16 Tama帽o del lote, ajustable en modo entero o autom谩tico.
imgsz 640 Tama帽o de imagen objetivo para el entrenamiento.
device None Dispositivo(s) inform谩tico(s) para el entrenamiento como cpu, 0, 0,1o mps.
save True Permite guardar los puntos de control del entrenamiento y los pesos finales del modelo.

Para obtener una gu铆a detallada sobre los ajustes de entrenamiento, consulte la secci贸n Ajustes de entrenamiento.

Creado hace 1 a帽o 鉁忥笍 Actualizado hace 1 mes

Comentarios