Formación de modelos con Ultralytics YOLO
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.
Error de multiprocesamiento de Windows
En Windows, es posible que reciba un mensaje RuntimeError
al lanzar el entrenamiento como un script. Añada un if __name__ == "__main__":
antes de su código de formación para resolverlo.
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.
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
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
Estableciendo resume=True
El 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 False
El 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 | Tipo | Por defecto | Descripción |
---|---|---|---|
model |
str |
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 |
str |
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 |
int |
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 |
float |
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 |
int |
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 |
int |
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 |
int o list |
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 |
bool |
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 |
int |
-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 |
bool |
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 |
int o str o list |
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 |
int |
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 |
str |
None |
Nombre del directorio del proyecto donde se guardan los resultados del entrenamiento. Permite el almacenamiento organizado de diferentes experimentos. |
name |
str |
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 |
bool |
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 |
bool o str |
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 |
str |
'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 |
int |
0 |
Establece la semilla aleatoria para el entrenamiento, garantizando la reproducibilidad de los resultados entre ejecuciones con las mismas configuraciones. |
deterministic |
bool |
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 |
bool |
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 |
list[int] |
None |
Especifica una lista de IDs de clase para entrenar. Útil para filtrar y centrarse sólo en ciertas clases durante el entrenamiento. |
rect |
bool |
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. |
multi_scale |
bool |
False |
Permite la formación multiescala aumentando/disminuyendo imgsz hasta un factor de 0.5 durante el entrenamiento. Entrena el modelo para que sea más preciso con múltiples imgsz durante la inferencia. |
cos_lr |
bool |
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 |
int |
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 |
bool |
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 |
bool |
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 |
float |
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 |
bool |
False |
Permite perfilar las velocidades de ONNX y TensorRT durante el entrenamiento, lo que resulta útil para optimizar el despliegue del modelo. |
freeze |
int o list |
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 |
float |
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 |
float |
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 |
float |
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 |
float |
0.0005 |
Término de regularización L2, que penaliza los pesos grandes para evitar el sobreajuste. |
warmup_epochs |
float |
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 |
float |
0.8 |
Impulso inicial para la fase de calentamiento, ajustándose gradualmente al impulso establecido durante el periodo de calentamiento. |
warmup_bias_lr |
float |
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 |
float |
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 |
float |
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 |
float |
1.5 |
Ponderación de la pérdida focal de distribución, utilizada en algunas versiones de YOLO para la clasificación fina. |
pose |
float |
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 |
float |
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 |
int |
64 |
Tamaño nominal del lote para la normalización de la pérdida. |
overlap_mask |
bool |
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 |
int |
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 |
float |
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 |
bool |
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 |
bool |
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 que te resulte útil hacer un seguimiento del rendimiento del modelo a lo largo del tiempo. Aquí es donde entra en juego el registro. Ultralytics YOLO es compatible con tres tipos de registradores. Comet, ClearMLy 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:
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:
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:
Para utilizar TensorBoard localmente ejecute el siguiente comando y vea los resultados en http://localhost:6006/.
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
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
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
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,1 o 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.