Salta para o conteúdo

Utilização da interface de linha de comandos

A interface de linha de comando YOLO (CLI) permite comandos simples de linha única sem a necessidade de um ambiente Python . CLI não requer personalização ou código Python . Podes simplesmente executar todas as tarefas a partir do terminal com o comando yolo comanda.



Observa: Domina Ultralytics YOLOv8 : CLI

Exemplo

Ultralytics yolo utiliza a seguinte sintaxe:

yolo TASK MODE ARGS

Where   TASK (optional) is one of [detect, segment, classify]
        MODE (required) is one of [train, val, predict, export, track]
        ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.
Vê todos os ARGS na íntegra Guia de configuração ou com yolo cfg

Treina um modelo de deteção para 10 épocas com uma learning_rate inicial de 0,01

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

Prevê um vídeo do YouTube utilizando um modelo de segmentação pré-treinado no tamanho de imagem 320:

yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

Valida um modelo de deteção pré-treinado com tamanho de lote 1 e tamanho de imagem 640:

yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640

Exporta um modelo de classificação YOLOv8n para o formato ONNX com o tamanho de imagem 224 por 128 (não é necessária nenhuma TASK)

yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128

Executa comandos especiais para ver a versão, ver as definições, executar verificações e muito mais:

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg

Onde:

  • TASK (opcional) é um dos [detect, segment, classify]. Se não for passado explicitamente, YOLOv8 tentará adivinhar o TASK do tipo de modelo.
  • MODE (obrigatório) é um dos [train, val, predict, export, track]
  • ARGS (opcional) são qualquer número de arg=value pares como imgsz=320 que substituem as predefinições. Para obteres uma lista completa dos ARGS vê o Configuração página e defaults.yaml GitHub fonte.

Aviso

Os argumentos devem ser passados como arg=val divididos por um sinal de igual = sinal e delimitado por espaços entre pares. Não utilizes -- prefixos de argumentos ou vírgulas , entre argumentos.

  • yolo predict model=yolov8n.pt imgsz=640 conf=0.25   ✅
  • yolo predict model yolov8n.pt imgsz 640 conf 0.25   ❌
  • yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25   ❌

Comboio

Treina YOLOv8n no conjunto de dados COCO8 para 100 épocas com o tamanho de imagem 640. Para obter uma lista completa dos argumentos disponíveis, consulta a página Configuração.

Exemplo

Começa a treinar YOLOv8n no COCO8 durante 100 épocas com o tamanho de imagem 640.

yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

Retoma uma formação interrompida.

yolo detect train resume model=last.pt

Val

Valida a precisão do modelo YOLOv8n treinado no conjunto de dados COCO8. Não precisas de passar nenhum argumento, pois o model mantém a sua formação data e argumentos como atributos do modelo.

Exemplo

Valida um modelo oficial YOLOv8n .

yolo detect val model=yolov8n.pt

Valida um modelo treinado de forma personalizada.

yolo detect val model=path/to/best.pt

Prevê

Utiliza um modelo YOLOv8n treinado para executar previsões em imagens.

Exemplo

Faz a previsão com um modelo oficial YOLOv8n .

yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Prevê com um modelo personalizado.

yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'

Exportação

Exporta um modelo YOLOv8n para um formato diferente, como ONNX, CoreML, etc.

Exemplo

Exporta um modelo oficial YOLOv8n para o formato ONNX .

yolo export model=yolov8n.pt format=onnx

Exporta um modelo treinado de forma personalizada para o formato ONNX .

yolo export model=path/to/best.pt format=onnx

Os formatos de exportação disponíveis em YOLOv8 encontram-se na tabela abaixo. Podes exportar para qualquer formato utilizando o botão format argumento, ou seja format='onnx' ou format='engine'.

Formato format Argumenta Modelo Metadados Argumentos
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize, batch
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace, batch
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolov8n.pb imgsz, batch
TF Leve tflite yolov8n.tflite imgsz, half, int8, batch
TF Borda TPU edgetpu yolov8n_edgetpu.tflite imgsz, batch
TF.js tfjs yolov8n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolov8n_paddle_model/ imgsz, batch
NCNN ncnn yolov8n_ncnn_model/ imgsz, half, batch

Ver completo export detalhes no Exportação página.

Substituir argumentos predefinidos

Os argumentos padrão podem ser substituídos simplesmente passando-os como argumentos no CLI em arg=value pares.

Treina um modelo de deteção para 10 epochs com learning_rate de 0.01

yolo detect train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

Prevê um vídeo do YouTube utilizando um modelo de segmentação pré-treinado no tamanho de imagem 320:

yolo segment predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

Valida um modelo de deteção pré-treinado com tamanho de lote 1 e tamanho de imagem 640:

yolo detect val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640

Substituir o ficheiro de configuração predefinido

Podes substituir o default.yaml inteiramente, passando um novo ficheiro com o parâmetro cfg argumentos, ou seja cfg=custom.yaml.

Para isso, cria primeiro uma cópia do default.yaml no teu diretório de trabalho atual com o yolo copy-cfg comanda.

Isto irá criar default_copy.yaml, que podes então passar como cfg=default_copy.yaml juntamente com quaisquer argumentos adicionais, como imgsz=320 neste exemplo:

Exemplo

yolo copy-cfg
yolo cfg=default_copy.yaml imgsz=320


Criado em 2023-11-12, Atualizado em 2024-04-27
Autores: glenn-jocher (14), Burhan-Q (1), RizwanMunawar (1), AyushExel (1), Laughing-q (1), shuizhuyuanluo@126.com (1)

Comentários