Saltar para o conteúdo

Treino de modelos com Ultralytics YOLO

Ultralytics YOLO ecossistema e integrações

Introdução

O treinamento de um modelo de aprendizado profundo envolve a alimentação de dados e o ajuste de seus parâmetros para que ele possa fazer previsões precisas. O modo Train em Ultralytics YOLO11 foi concebido para uma formação eficaz e eficiente de modelos de deteção de objectos, utilizando plenamente as capacidades do hardware moderno. Este guia tem como objetivo abranger todos os detalhes necessários para começar a treinar os seus próprios modelos utilizando o conjunto robusto de funcionalidades do YOLO11.



Ver: Como treinar um modelo YOLO no seu conjunto de dados personalizado em Google Colab.

Porquê escolher Ultralytics YOLO para a formação?

Eis algumas razões convincentes para optar pelo modo de comboio do YOLO11:

  • Eficiência: Tire o máximo proveito do seu hardware, quer esteja numa configuração única -GPU ou a escalar entre várias GPUs.
  • Versatilidade: Treine em conjuntos de dados personalizados, além dos prontamente disponíveis, como COCO, VOC e ImageNet.
  • Fácil de utilizar: Interfaces simples mas poderosas CLI e Python para uma experiência de formação direta.
  • Flexibilidade dos hiperparâmetros: Uma ampla gama de hiperparâmetros personalizáveis para ajustar o desempenho do modelo.

Principais caraterísticas do modo comboio

Seguem-se algumas caraterísticas notáveis do modo comboio do YOLO11:

  • Descarregamento automático de conjuntos de dados: Os conjuntos de dados padrão como COCO, VOC e ImageNet são descarregados automaticamente na primeira utilização.
  • Suporte a váriosGPU : Dimensione os seus esforços de formação de forma integrada em várias GPUs para acelerar o processo.
  • Configuração de hiperparâmetros: A opção para modificar hiperparâmetros através de ficheiros de configuração YAML ou argumentos CLI .
  • Visualização e monitorização: Acompanhamento em tempo real das métricas de formação e visualização do processo de aprendizagem para uma melhor perceção.

Dica

  • YOLO11 conjuntos de dados como COCO, VOC, ImageNet e muitos outros são descarregados automaticamente na primeira utilização, ou seja yolo train data=coco.yaml

Exemplos de utilização

Treinar YOLO11n no conjunto de dados COCO8 para 100 épocas no tamanho de imagem 640. O dispositivo de treino pode ser especificado utilizando o device argumento. Se não for passado nenhum argumento GPU device=0 será utilizado se estiver disponível, caso contrário device='cpu' será utilizado. Consulte a secção Argumentos abaixo para obter uma lista completa dos argumentos de formação.

Single-GPU e CPU Exemplo de formação

O dispositivo é determinado automaticamente. Se estiver disponível um GPU , este será utilizado; caso contrário, a formação terá início em 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

Multi-GPU Formação

O treinamento multiGPU permite a utilização mais eficiente dos recursos de hardware disponíveis, distribuindo a carga de treinamento em várias GPUs. Esta funcionalidade está disponível através da API Python e da interface de linha de comandos. Para ativar o treino multiGPU , especifique as IDs de dispositivo GPU que pretende utilizar.

Multi-GPU Exemplo de formação

Para treinar com 2 GPUs, CUDA dispositivos 0 e 1, use os seguintes comandos. Expanda para GPUs adicionais conforme necessário.

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

Formação Apple Silicon MPS

Com o suporte para chips de silício Apple integrados nos modelos Ultralytics YOLO , é agora possível treinar os seus modelos em dispositivos que utilizam a poderosa estrutura Metal Performance Shaders (MPS). O MPS oferece uma forma de alto desempenho de executar tarefas de computação e processamento de imagem no silício personalizado da Apple.

Para ativar a formação em chips de silício da Apple, deve especificar 'mps' como o seu dispositivo ao iniciar o processo de formação. Segue-se um exemplo de como pode fazer isto em Python e através da linha de comandos:

MPS Exemplo de formação

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

Ao mesmo tempo que aproveita o poder computacional dos chips de silício da Apple, isto permite um processamento mais eficiente das tarefas de formação. Para obter orientações mais detalhadas e opções de configuração avançadas, consulte a documentaçãoPyTorch MPS .

Retomar as formações interrompidas

Retomar o treino a partir de um estado previamente guardado é uma caraterística crucial quando se trabalha com modelos de aprendizagem profunda. Isso pode ser útil em vários cenários, como quando o processo de treinamento foi interrompido inesperadamente ou quando você deseja continuar treinando um modelo com novos dados ou por mais épocas.

Quando o treinamento é retomado, o Ultralytics YOLO carrega os pesos do último modelo salvo e também restaura o estado do otimizador, o agendador da taxa de aprendizado e o número da época. Isto permite-lhe continuar o processo de formação sem problemas a partir do ponto em que foi deixado.

Pode retomar facilmente a formação em Ultralytics YOLO definindo o resume argumento para True ao chamar o train e especificando o caminho para o método .pt ficheiro que contém os pesos do modelo parcialmente treinado.

Segue-se um exemplo de como retomar uma formação interrompida utilizando Python e através da linha de comandos:

Exemplo de formação de currículo

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

Por definição resume=True, o train continuará a treinar a partir do ponto em que parou, utilizando o estado armazenado no ficheiro 'path/to/last.pt'. Se o ficheiro resume é omitido ou definido como False, o train A função iniciará uma nova sessão de formação.

Lembre-se de que os pontos de verificação são salvos no final de cada época por padrão, ou em intervalos fixos usando a opção save_period por isso, é necessário completar pelo menos 1 época para retomar uma corrida de treino.

Definições do comboio

As definições de treino para os modelos YOLO englobam vários hiperparâmetros e configurações utilizados durante o processo de treino. Estas definições influenciam o desempenho, a velocidade e a precisão do modelo. As principais definições de treino incluem o tamanho do lote, a taxa de aprendizagem, o momento e a diminuição do peso. Além disso, a escolha do optimizador, a função de perda e a composição do conjunto de dados de treino podem ter impacto no processo de treino. O ajuste cuidadoso e a experimentação com estas definições são cruciais para otimizar o desempenho.

Argumento Predefinição Descrição
model None Especifica o ficheiro de modelo para treino. Aceita um caminho para um arquivo .pt modelo pré-treinado ou um .yaml ficheiro de configuração. Essencial para definir a estrutura do modelo ou inicializar os pesos.
data None Caminho para o ficheiro de configuração do conjunto de dados (por exemplo, coco8.yaml). Este ficheiro contém parâmetros específicos do conjunto de dados, incluindo caminhos para o treino e dados de validação, nomes de classes e número de classes.
epochs 100 Número total de épocas de treino. Cada época representa uma passagem completa por todo o conjunto de dados. O ajuste deste valor pode afetar a duração do treino e o desempenho do modelo.
time None Tempo máximo de formação em horas. Se definido, este valor substitui o epochs permitindo que a formação pare automaticamente após a duração especificada. Útil para cenários de formação com restrições de tempo.
patience 100 Número de épocas a aguardar sem melhoria nas métricas de validação antes de parar o treino antecipadamente. Ajuda a evitar o sobreajuste, interrompendo o treino quando o desempenho atinge um patamar.
batch 16 Tamanho do lote, com três modos: definido como um número inteiro (por exemplo, batch=16), modo automático para 60% de utilização da memória GPU (batch=-1), ou modo automático com fração de utilização especificada (batch=0.70).
imgsz 640 Tamanho da imagem alvo para treino. Todas as imagens são redimensionadas para esta dimensão antes de serem introduzidas no modelo. Afecta a precisão do modelo e a complexidade computacional.
save True Permite guardar os pontos de controlo de formação e os pesos finais do modelo. Útil para retomar o treino ou a implementação do modelo.
save_period -1 Frequência de gravação dos pontos de controlo do modelo, especificada em épocas. Um valor de -1 desactiva esta funcionalidade. Útil para guardar modelos provisórios durante longas sessões de treino.
cache False Ativa a colocação em cache de imagens de conjuntos de dados na memória (True/ram), no disco (disk), ou desactiva-o (False). Melhora a velocidade de formação reduzindo as E/S do disco à custa de uma maior utilização da memória.
device None Especifica o(s) dispositivo(s) computacional(ais) para a formação: um único GPU (device=0), várias GPUs (device=0,1), CPU (device=cpu), ou MPS para silício Apple (device=mps).
workers 8 Número de threads de trabalho para carregamento de dados (por RANK se Multi-GPU training). Influencia a velocidade de pré-processamento dos dados e de alimentação do modelo, especialmente útil em configurações multiGPU .
project None Nome do diretório do projeto onde são guardados os resultados da formação. Permite o armazenamento organizado de diferentes experiências.
name None Nome da ação de formação. Utilizado para criar uma subdiretoria na pasta do projeto, onde são armazenados os registos e resultados da formação.
exist_ok False Se Verdadeiro, permite a substituição de um diretório de projeto/nome existente. Útil para experimentação iterativa sem a necessidade de limpar manualmente as saídas anteriores.
pretrained True Determina se o treino deve ser iniciado a partir de um modelo pré-treinado. Pode ser um valor booleano ou um caminho de cadeia de caracteres para um modelo específico a partir do qual carregar pesos. Melhora a eficiência do treinamento e o desempenho do modelo.
optimizer 'auto' Escolha do optimizador para a formação. As opções incluem SGD, Adam, AdamW, NAdam, RAdam, RMSProp etc., ou auto para seleção automática com base na configuração do modelo. Afecta a velocidade de convergência e a estabilidade.
seed 0 Define a semente aleatória para o treino, garantindo a reprodutibilidade dos resultados entre execuções com as mesmas configurações.
deterministic True Obriga à utilização de algoritmos determinísticos, garantindo a reprodutibilidade, mas pode afetar o desempenho e a velocidade devido à restrição de algoritmos não determinísticos.
single_cls False Trata todas as classes em conjuntos de dados multi-classe como uma única classe durante o treino. Útil para tarefas de classificação binária ou quando se concentra na presença de objectos em vez de na classificação.
classes None Especifica uma lista de IDs de classe para treinar. Útil para filtrar e concentrar-se apenas em determinadas classes durante o treino.
rect False Permite a formação retangular, optimizando a composição do lote para um preenchimento mínimo. Pode melhorar a eficiência e a velocidade, mas pode afetar a precisão do modelo.
cos_lr False Utiliza um programador de taxa de aprendizagem cosseno, ajustando a taxa de aprendizagem seguindo uma curva cosseno ao longo de épocas. Ajuda a gerir a taxa de aprendizagem para uma melhor convergência.
close_mosaic 10 Desactiva o aumento dos dados do mosaico nas últimas N épocas para estabilizar a formação antes da conclusão. Definir como 0 desactiva esta funcionalidade.
resume False Retoma o treino a partir do último ponto de controlo guardado. Carrega automaticamente os pesos do modelo, o estado do optimizador e a contagem de épocas, continuando o treino sem problemas.
amp True Permite a formação automática de precisão mista (AMP), reduzindo a utilização de memória e possivelmente acelerando a formação com um impacto mínimo na exatidão.
fraction 1.0 Especifica a fração do conjunto de dados a utilizar para treino. Permite o treino num subconjunto do conjunto de dados completo, útil para experiências ou quando os recursos são limitados.
profile False Permite a criação de perfis de ONNX e TensorRT velocidades durante a formação, útil para otimizar a implementação do modelo.
freeze None Congela as primeiras N camadas do modelo ou camadas especificadas por índice, reduzindo o número de parâmetros treináveis. Útil para ajuste fino ou aprendizagem por transferência.
lr0 0.01 Taxa de aprendizagem inicial (i.e. SGD=1E-2, Adam=1E-3) . O ajuste deste valor é crucial para o processo de otimização, influenciando a rapidez com que os pesos do modelo são actualizados.
lrf 0.01 Taxa de aprendizagem final como fração da taxa inicial = (lr0 * lrf), utilizado em conjunto com programadores para ajustar a taxa de aprendizagem ao longo do tempo.
momentum 0.937 Fator de momento para SGD ou beta1 para optimizadores Adam, que influencia a incorporação de gradientes anteriores na atualização atual.
weight_decay 0.0005 Termo de regularização L2, que penaliza os pesos grandes para evitar o sobreajuste.
warmup_epochs 3.0 Número de épocas para aquecimento da taxa de aprendizagem, aumentando gradualmente a taxa de aprendizagem de um valor baixo para a taxa de aprendizagem inicial para estabilizar a formação numa fase inicial.
warmup_momentum 0.8 Momento inicial para a fase de aquecimento, ajustando-se gradualmente ao momento definido durante o período de aquecimento.
warmup_bias_lr 0.1 Taxa de aprendizagem para parâmetros de polarização durante a fase de aquecimento, ajudando a estabilizar o treinamento do modelo nas épocas iniciais.
box 7.5 Peso do componente de perda de caixa na função de perda, influenciando o grau de ênfase colocado na previsão exacta das coordenadas da caixa delimitadora.
cls 0.5 Peso da perda de classificação na função de perda total, afectando a importância da previsão correta da classe em relação a outros componentes.
dfl 1.5 Peso da perda focal da distribuição, utilizado em determinadas versões de YOLO para uma classificação fina.
pose 12.0 Peso da perda de pose nos modelos treinados para a estimativa de pose, influenciando a ênfase na previsão exacta dos pontos-chave da pose.
kobj 2.0 Peso da perda de objetividade do ponto-chave nos modelos de estimativa da pose, equilibrando a confiança na deteção com a precisão da pose.
nbs 64 Tamanho nominal do lote para normalização da perda.
overlap_mask True Determina se as máscaras de objeto devem ser fundidas numa única máscara para treino ou mantidas separadas para cada objeto. Em caso de sobreposição, a máscara mais pequena é sobreposta à máscara maior durante a fusão.
mask_ratio 4 Rácio de redução da amostra para máscaras de segmentação, que afecta a resolução das máscaras utilizadas durante a formação.
dropout 0.0 Taxa de desistência para regularização em tarefas de classificação, evitando o sobreajuste através da omissão aleatória de unidades durante o treino.
val True Permite a validação durante a formação, permitindo a avaliação periódica do desempenho do modelo num conjunto de dados separado.
plots False Gera e guarda gráficos de métricas de treino e validação, bem como exemplos de previsão, fornecendo informações visuais sobre o desempenho do modelo e a progressão da aprendizagem.

Nota sobre as definições de tamanho de lote

O batch O argumento pode ser configurado de três formas:

  • Tamanho fixo do lote: Definir um valor inteiro (por exemplo, batch=16), especificando diretamente o número de imagens por lote.
  • Modo automático (60% GPU Memória): Utilizar batch=-1 para ajustar automaticamente o tamanho do lote para aproximadamente 60% de utilização da memória CUDA .
  • Modo automático com fração de utilização: Definir um valor de fração (por exemplo, batch=0.70) para ajustar o tamanho do lote com base na fração especificada da utilização da memória GPU .

Definições de aumento e hiperparâmetros

As técnicas de aumento são essenciais para melhorar a robustez e o desempenho dos modelos YOLO , introduzindo variabilidade nos dados de treino, ajudando o modelo a generalizar melhor para dados não vistos. A tabela seguinte descreve o objetivo e o efeito de cada argumento de aumento:

Argumento Tipo Predefinição Gama Descrição
hsv_h float 0.015 0.0 - 1.0 Ajusta a tonalidade da imagem por uma fração da roda de cores, introduzindo variabilidade de cor. Ajuda o modelo a generalizar em diferentes condições de iluminação.
hsv_s float 0.7 0.0 - 1.0 Altera a saturação da imagem por uma fração, afectando a intensidade das cores. Útil para simular diferentes condições ambientais.
hsv_v float 0.4 0.0 - 1.0 Modifica o valor (brilho) da imagem por uma fração, ajudando o modelo a ter um bom desempenho em várias condições de iluminação.
degrees float 0.0 -180 - +180 Roda a imagem aleatoriamente dentro do intervalo de graus especificado, melhorando a capacidade do modelo para reconhecer objectos em várias orientações.
translate float 0.1 0.0 - 1.0 Traduz a imagem horizontal e verticalmente por uma fração do tamanho da imagem, ajudando a aprender a detetar objectos parcialmente visíveis.
scale float 0.5 >=0.0 Dimensiona a imagem através de um fator de ganho, simulando objectos a diferentes distâncias da câmara.
shear float 0.0 -180 - +180 Corta a imagem num grau especificado, imitando o efeito de objectos vistos de diferentes ângulos.
perspective float 0.0 0.0 - 0.001 Aplica uma transformação de perspetiva aleatória à imagem, melhorando a capacidade do modelo para compreender objectos no espaço 3D.
flipud float 0.0 0.0 - 1.0 Vira a imagem ao contrário com a probabilidade especificada, aumentando a variabilidade dos dados sem afetar as caraterísticas do objeto.
fliplr float 0.5 0.0 - 1.0 Inverte a imagem da esquerda para a direita com a probabilidade especificada, útil para aprender objectos simétricos e aumentar a diversidade do conjunto de dados.
bgr float 0.0 0.0 - 1.0 Inverte os canais de imagem de RGB para BGR com a probabilidade especificada, o que é útil para aumentar a robustez da ordenação incorrecta dos canais.
mosaic float 1.0 0.0 - 1.0 Combina quatro imagens de treino numa só, simulando diferentes composições de cenas e interações de objectos. Altamente eficaz para a compreensão de cenas complexas.
mixup float 0.0 0.0 - 1.0 Mistura duas imagens e seus rótulos, criando uma imagem composta. Aumenta a capacidade de generalização do modelo, introduzindo ruído de etiqueta e variabilidade visual.
copy_paste float 0.0 0.0 - 1.0 Copia e cola objectos entre imagens, útil para aumentar as instâncias de objectos e aprender a oclusão de objectos. Requer rótulos de segmentação.
copy_paste_mode str flip - Seleção do método de aumento Copiar-Colar entre as opções de ("flip", "mixup").
auto_augment str randaugment - Aplica automaticamente uma política de aumento predefinida (randaugment, autoaugment, augmix), optimizando as tarefas de classificação através da diversificação das caraterísticas visuais.
erasing float 0.4 0.0 - 0.9 Apaga aleatoriamente uma parte da imagem durante o treino de classificação, encorajando o modelo a concentrar-se em caraterísticas menos óbvias para o reconhecimento.
crop_fraction float 1.0 0.1 - 1.0 Corta a imagem de classificação para uma fração do seu tamanho para realçar as caraterísticas centrais e adaptar-se às escalas dos objectos, reduzindo as distracções de fundo.

Estas definições podem ser ajustadas para satisfazer os requisitos específicos do conjunto de dados e da tarefa em causa. A experimentação de valores diferentes pode ajudar a encontrar a estratégia de aumento ideal que conduz ao melhor desempenho do modelo.

Informações

Para mais informações sobre as operações de reforço da formação, ver a secção de referência.

Registo

Ao treinar um modelo YOLO11 , pode ser útil acompanhar o desempenho do modelo ao longo do tempo. É aqui que o registo entra em jogo. Ultralytics' YOLO fornece suporte para três tipos de registadores - Comet, ClearML, e TensorBoard.

Para utilizar um registador, selecione-o no menu pendente no fragmento de código acima e execute-o. O registador escolhido será instalado e inicializado.

Comet

Comet é uma plataforma que permite aos cientistas de dados e aos programadores acompanhar, comparar, explicar e otimizar experiências e modelos. Fornece funcionalidades como métricas em tempo real, diferenças de código e rastreio de hiperparâmetros.

Para utilizar Comet:

Exemplo

# pip install comet_ml
import comet_ml

comet_ml.init()

Não se esqueça de iniciar sessão na sua conta Comet no sítio Web e obter a sua chave API. Terá de a adicionar às suas variáveis de ambiente ou ao seu script para registar as suas experiências.

ClearML

ClearML é uma plataforma de código aberto que automatiza o acompanhamento de experiências e ajuda na partilha eficiente de recursos. Foi concebida para ajudar as equipas a gerir, executar e reproduzir o seu trabalho de ML de forma mais eficiente.

Para utilizar ClearML:

Exemplo

# pip install clearml
import clearml

clearml.browser_login()

Depois de executar este script, terá de iniciar sessão na sua conta ClearML no browser e autenticar a sua sessão.

TensorBoard

O TensorBoard é um conjunto de ferramentas de visualização para TensorFlow. Permite-lhe visualizar o seu gráfico TensorFlow , traçar métricas quantitativas sobre a execução do seu gráfico e mostrar dados adicionais, como imagens que o atravessam.

Para utilizar o TensorBoard em Google Colab:

Exemplo

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

Para utilizar o TensorBoard localmente, execute o comando abaixo e veja os resultados em http://localhost:6006/.

Exemplo

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

Isto carregará o TensorBoard e direccioná-lo-á para o diretório onde os seus registos de treino estão guardados.

Depois de configurar o registador, pode prosseguir com o treino do modelo. Todas as métricas de treino serão automaticamente registadas na plataforma escolhida e pode aceder a esses registos para monitorizar o desempenho do seu modelo ao longo do tempo, comparar diferentes modelos e identificar áreas de melhoria.

FAQ

Como posso treinar um modelo de deteção de objectos utilizando Ultralytics YOLO11 ?

Para treinar um modelo de deteção de objectos utilizando Ultralytics YOLO11 , pode utilizar a API Python ou a CLI. Segue-se um exemplo de ambas:

Single-GPU e CPU Exemplo de formação

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 mais informações, consulte a secção Definições do comboio.

Quais são as principais caraterísticas do modo de comboio do Ultralytics YOLO11 ?

As principais caraterísticas do modo de comboio do Ultralytics YOLO11 incluem

  • Descarregamento automático de conjuntos de dados: Descarrega automaticamente conjuntos de dados padrão como COCO, VOC e ImageNet.
  • Suporte Multi-GPU : Dimensione o treinamento em várias GPUs para um processamento mais rápido.
  • Configuração de hiperparâmetros: Personalize os hiperparâmetros através de ficheiros YAML ou argumentos CLI .
  • Visualização e monitorização: Acompanhamento em tempo real das métricas de formação para uma melhor perceção.

Estas caraterísticas tornam o treino eficiente e personalizável de acordo com as suas necessidades. Para mais informações, consulte a secção Caraterísticas principais do modo de treino.

Como retomar a formação após uma sessão interrompida em Ultralytics YOLO11 ?

Para retomar a formação a partir de uma sessão interrompida, defina a opção resume argumento para True e especificar o caminho para o último ponto de controlo guardado.

Exemplo de formação de currículo

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 mais informações, consulte a secção " Retomar formações interrompidas ".

Posso treinar modelos YOLO11 em chips de silício da Apple?

Sim, Ultralytics YOLO11 suporta a formação em chips de silício da Apple que utilizam a estrutura Metal Performance Shaders (MPS). Especifique 'mps' como o seu dispositivo de treino.

MPS Exemplo de formação

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 obter mais detalhes, consulte a secção de formação Apple Silicon MPS .

Quais são as definições de formação comuns e como as posso configurar?

Ultralytics YOLO11 permite-lhe configurar uma variedade de definições de formação, como o tamanho do lote, a taxa de aprendizagem, as épocas e muito mais, através de argumentos. Eis uma breve descrição geral:

Argumento Predefinição Descrição
model None Caminho para o ficheiro de modelo para treino.
data None Caminho para o ficheiro de configuração do conjunto de dados (por exemplo, coco8.yaml).
epochs 100 Número total de épocas de treino.
batch 16 Tamanho do lote, ajustável como inteiro ou modo automático.
imgsz 640 Tamanho da imagem alvo para formação.
device None Dispositivo(s) informático(s) para treino como cpu, 0, 0,1, ou mps.
save True Permite guardar os pontos de controlo de formação e os pesos finais do modelo.

Para obter um guia detalhado sobre as definições de treino, consulte a secção Definições de treino.

📅C riado há 1 ano ✏️ Atualizado há 1 mês

Comentários