Instalar Ultralytics
A Ultralytics oferece uma variedade de métodos de instalação, incluindo pip, conda e Docker. Você pode instalar o YOLO através do ultralytics
pacote pip para a versão estável mais recente, ou clonando o Ultralytics Repositório GitHub para a versão mais atual. O Docker também é uma opção para executar o pacote em um contêiner isolado, o que evita a instalação local.
Ver: Ultralytics YOLO Guia de início rápido
Instalar
Instale ou atualize o ultralytics
package usando pip executando pip install -U ultralytics
. Para mais detalhes sobre o ultralytics
package, visite o Índice de Pacotes Python (PyPI).
# Install the ultralytics package from PyPI
pip install ultralytics
Também pode instalar ultralytics
diretamente do Ultralytics Repositório GitHub. Isso pode ser útil se você quiser a versão de desenvolvimento mais recente. Certifique-se de ter a ferramenta de linha de comando Git instalada e execute:
# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main
O Conda pode ser usado como um gerenciador de pacotes alternativo ao pip. Para mais detalhes, visite Anaconda. O repositório de feedstock da Ultralytics para atualizar o pacote conda está disponível em GitHub.
# Install the ultralytics package using conda
conda install -c conda-forge ultralytics
Nota
Se você estiver instalando em um ambiente CUDA, é uma boa prática instalar ultralytics
, pytorch
e pytorch-cuda
no mesmo comando. Isso permite que o gerenciador de pacotes conda resolva quaisquer conflitos. Alternativamente, instale pytorch-cuda
último a substituir o específico da CPU pytorch
pacote, se necessário.
# Install all packages together using conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
Imagem do Docker Conda
Ultralytics As imagens do Conda Docker também estão disponíveis em DockerHub. Estas imagens são baseadas em Miniconda3 e fornecem uma maneira direta de começar a usar ultralytics
num ambiente 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
Clonar o Ultralytics Repositório GitHub se você estiver interessado em contribuir para o desenvolvimento ou desejar experimentar o código-fonte mais recente. Após a clonagem, navegue até o diretório e instale o pacote no modo editável -e
utilizando o pip.
# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics
# Navigate to the cloned directory
cd ultralytics
# Install the package in editable mode for development
pip install -e .
Use o Docker para executar o ultralytics
package em um contêiner isolado, garantindo um desempenho consistente em vários ambientes. Ao selecionar um dos ultralytics
imagens de Centro de Docker, você evita a complexidade da instalação local e obtém acesso a um ambiente de trabalho verificado. A Ultralytics oferece cinco imagens Docker principais suportadas, cada uma projetada para alta compatibilidade e eficiência:
- Dockerfile: GPU imagem recomendada para a formação.
- Dockerfile-arm64: Otimizado para arquitetura ARM64, adequado para implantação em dispositivos como Raspberry Pi e outras plataformas baseadas em ARM64.
- Dockerfile-cpu: Versão baseada em Ubuntu somente para CPU, adequada para inferência e ambientes sem GPUs.
- Dockerfile-jetson: Projetado para dispositivos NVIDIA Jetson, integrando suporte a GPU otimizado para essas plataformas.
- Dockerfile-python: Imagem mínima com apenas Python e as dependências necessárias, ideal para aplicações leves e desenvolvimento.
- Dockerfile-conda: Baseado no Miniconda3 com uma instalação conda do
ultralytics
package.
Aqui estão os comandos para obter a imagem mais recente e executá-la:
# 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
O comando acima inicializa um contentor Docker com a última versão do ultralytics
imagem. A -it
flags atribuem um pseudo-TTY e mantêm o stdin aberto, permitindo a interação com o contêiner. O --ipc=host
define o espaço de nomes IPC (Inter-Process Communication) para o host, o que é essencial para a partilha de memória entre processos. A flag --gpus all
flag permite o acesso a todas as GPUs disponíveis dentro do contêiner, crucial para tarefas que exigem computação de GPU.
Observação: Para trabalhar com arquivos em sua máquina local dentro do contêiner, use volumes Docker para montar um diretório local no contêiner:
# 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
Substituir /path/on/host
com o caminho do diretório na sua máquina local, e /path/in/container
com o caminho desejado dentro do contentor Docker.
Para uso avançado do Docker, explore o Guia do Docker da Ultralytics.
Ver o ultralytics
pyproject.toml para uma lista de dependências. Note que todos os exemplos acima instalam todas as dependências necessárias.
Dica
Os requisitos do PyTorch variam de acordo com o sistema operacional e os requisitos do CUDA, portanto, instale o PyTorch primeiro seguindo as instruções em PyTorch.
Métodos de Instalação Personalizados
Embora os métodos de instalação padrão cubram a maioria dos casos de uso, você pode precisar de uma configuração mais personalizada. Isso pode envolver a instalação de versões de pacotes específicos, a omissão de dependências opcionais ou a substituição de pacotes como a substituição de opencv-python
com o sem GUI opencv-python-headless
para ambientes de servidor.
Métodos Personalizados
Você pode instalar o ultralytics
pacote core sem quaisquer dependências usando o pip --no-deps
flag. Isso exige que você instale manualmente todas as dependências necessárias posteriormente.
-
Instalar
ultralytics
core:pip install ultralytics --no-deps
-
Instale as dependências manualmente: Você precisa instalar todos os pacotes necessários listados no
pyproject.toml
arquivo, substituindo ou modificando versões conforme necessário. Para o exemplo OpenCV headless:# Install other core dependencies pip install torch torchvision numpy matplotlib pandas pyyaml pillow psutil requests tqdm scipy seaborn ultralytics-thop # Install headless OpenCV instead of the default pip install opencv-python-headless
Gestão de Dependências
Este método oferece controle total, mas requer gerenciamento cuidadoso das dependências. Garanta que todos os pacotes necessários estejam instalados com versões compatíveis, consultando o ultralytics
pyproject.toml
ficheiro.
Se você precisar de modificações personalizadas persistentes (como usar sempre opencv-python-headless
), você pode fazer um fork do repositório Ultralytics, fazer alterações em pyproject.toml
ou outro código, e instale a partir do seu fork.
- Faça um fork do repositório Ultralytics no GitHub para sua própria conta do GitHub.
- Clone seu fork localmente:
git clone https://github.com/YOUR_USERNAME/ultralytics.git cd ultralytics
- Criar um novo branch para as suas alterações:
git checkout -b custom-opencv
- Modificar
pyproject.toml
: Abrirpyproject.toml
em um editor de texto e substitua a linha que contém"opencv-python>=4.6.0"
com"opencv-python-headless>=4.6.0"
(ajuste a versão conforme necessário). - Commit e push suas alterações:
git add pyproject.toml git commit -m "Switch to opencv-python-headless" git push origin custom-opencv
- Instalar usando pip com o
git+https
sintaxe, apontando para sua branch:pip install git+https://github.com/YOUR_USERNAME/ultralytics.git@custom-opencv
Este método garante que seu conjunto de dependências personalizado seja usado sempre que você instalar a partir deste URL específico. Consulte o Método 4 para usar isso em um requirements.txt
ficheiro.
Semelhante ao método padrão "Git Clone" para desenvolvimento, você pode clonar o repositório localmente, modificar os arquivos de dependência antes da instalação e, em seguida, instalar no modo editável.
- Clone o repositório Ultralytics:
git clone https://github.com/ultralytics/ultralytics cd ultralytics
- Modificar
pyproject.toml
: Edite o arquivo para fazer as alterações desejadas. Por exemplo, usesed
(no Linux/macOS) ou um editor de texto para substituiropencv-python
comopencv-python-headless
. Utilizarsed
(verifique a linha exata empyproject.toml
primeiro):Ou edite manualmente# Example: Replace the line starting with "opencv-python..." # Adapt the pattern carefully based on the current file content sed -i'' -e 's/^\s*"opencv-python>=.*",/"opencv-python-headless>=4.8.0",/' pyproject.toml
pyproject.toml
para alterar"opencv-python>=...
para"opencv-python-headless>=..."
. - Instalar o pacote em modo editável (
-e
). O Pip agora usará seupyproject.toml
para resolver e instalar as dependências:pip install -e .
Esta abordagem é útil para testar alterações locais nas dependências ou configurações de construção antes de commitá-las ou para configurar ambientes de desenvolvimento específicos.
Se você gerencia as dependências do seu projeto usando um requirements.txt
arquivo, você pode especificar seu fork Ultralytics personalizado diretamente nele. Isso garante que qualquer pessoa que configurar o projeto obtenha sua versão específica com suas dependências modificadas (como opencv-python-headless
).
- Criar ou editar
requirements.txt
: Adicione uma linha apontando para o seu fork e branch personalizados (conforme preparado no Método 2).requirements.txtNota: Não precisa de listar as dependências já exigidas pelo seu personalizado# Core dependencies numpy matplotlib pandas pyyaml Pillow psutil requests>=2.23.0 tqdm torch>=1.8.0 # Or specific version/variant torchvision>=0.9.0 # Or specific version/variant # Install ultralytics from a specific git commit or branch # Replace YOUR_USERNAME and custom-branch with your details git+https://github.com/YOUR_USERNAME/ultralytics.git@custom-branch # Other project dependencies flask # ... etc
ultralytics
fork (comoopencv-python-headless
) aqui, pois o pip os instalará com base no forkpyproject.toml
. - Instalar dependências do ficheiro:
pip install -r requirements.txt
Este método integra-se perfeitamente com os fluxos de trabalho padrão de gerenciamento de dependências de projetos Python, ao mesmo tempo que permite fixar ultralytics
para a sua fonte Git personalizada.
Utilizar Ultralytics com CLI
A interface de linha de comando (CLI) Ultralytics permite comandos simples de linha única sem a necessidade de um ambiente Python. A CLI não requer personalização ou código Python; execute todas as tarefas a partir do terminal com o yolo
comando. Para mais informações sobre como usar o YOLO a partir da linha de comando, consulte a CLI Guia.
Exemplo
Ultralytics yolo
utilizam a seguinte sintaxe:
yolo TASK MODE ARGS
TASK
(opcional) é um dos (detetar, segmento, classificar, pose, obb)
- MODE
(obrigatório) é um dos (comboio, val, prever, exportação, pista, referência)
- ARGS
(opcional) são arg=value
pares como imgsz=640
que se sobrepõem às predefinições.
Ver tudo ARGS
na íntegra Guia de configuração ou com o yolo cfg
CLI comando.
Treine um modelo de detecção por 10 épocas com uma taxa de aprendizado inicial de 0,01:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Prever um vídeo do YouTube utilizando um modelo de segmentação pré-treinado no tamanho de imagem 320:
yolo predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
Validar um modelo de detecção pré-treinado com um tamanho de lote de 1 e tamanho de imagem de 640:
yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640
Exporte um modelo de classificação YOLOv11n para o formato ONNX com um tamanho de imagem de 224x128 (sem necessidade de TASK):
yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128
Contar objetos em um vídeo ou transmissão ao vivo usando YOLO11:
yolo solutions count show=True
yolo solutions count source="path/to/video.mp4" # specify video file path
Monitore os exercícios de treino usando um modelo de pose YOLO11:
yolo solutions workout show=True
yolo solutions workout source="path/to/video.mp4" # specify video file path
# Use keypoints for ab-workouts
yolo solutions workout kpts="[5, 11, 13]" # left side
yolo solutions workout kpts="[6, 12, 14]" # right side
Use o YOLO11 para contar objetos em uma fila ou região designada:
yolo solutions queue show=True
yolo solutions queue source="path/to/video.mp4" # specify video file path
yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]" # configure queue coordinates
Realize detecção de objetos, segmentação de instâncias ou estimativa de pose em um navegador da web usando Streamlit:
yolo solutions inference
yolo solutions inference model="path/to/model.pt" # use model fine-tuned with Ultralytics Python package
Execute comandos especiais para ver a versão, visualizar as configurações, executar verificações e muito mais:
yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg
yolo solutions help
Aviso
Os argumentos devem ser passados como arg=value
pares, divididos por um sinal de igual =
sinal e delimitado por espaços. Não use --
prefixos de argumentos ou vírgulas ,
entre argumentos.
yolo predict model=yolo11n.pt imgsz=640 conf=0.25
✅yolo predict model yolo11n.pt imgsz 640 conf 0.25
❌ (em falta=
)yolo predict model=yolo11n.pt, imgsz=640, conf=0.25
❌ (não utilizar,
)yolo predict --model yolo11n.pt --imgsz 640 --conf 0.25
❌ (não utilizar--
)yolo solution model=yolo11n.pt imgsz=640 conf=0.25
❌ (usesolutions
, nãosolution
)
Utilizar Ultralytics com Python
A interface Python do Ultralytics YOLO oferece integração perfeita em projetos Python, facilitando o carregamento, a execução e o processamento das saídas do modelo. Projetada para a simplicidade, a interface Python permite que os usuários implementem rapidamente detecção de objetos, segmentação e classificação. Isso torna a interface Python do YOLO uma ferramenta inestimável para incorporar essas funcionalidades em projetos Python.
Por exemplo, os usuários podem carregar um modelo, treiná-lo, avaliar seu desempenho e exportá-lo para o formato ONNX com apenas algumas linhas de código. Explore o Guia Python para saber mais sobre como usar o YOLO em seus projetos Python.
Exemplo
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo11n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo11n.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 Definições
A biblioteca Ultralytics inclui um SettingsManager
para um controlo preciso sobre as experiências, permitindo aos utilizadores aceder e modificar as configurações facilmente. Armazenadas num ficheiro JSON dentro do diretório de configuração do utilizador do ambiente, estas configurações podem ser visualizadas ou modificadas no ambiente Python ou através da Command-Line Interface (CLI).
Inspeção de definições
Para visualizar a configuração atual de suas configurações:
Ver definições
Use o python para visualizar suas configurações importando o settings
objeto do ultralytics
módulo. Imprima e retorne as configurações com estes comandos:
from ultralytics import settings
# View all settings
print(settings)
# Return a specific setting
value = settings["runs_dir"]
A interface de linha de comando permite que você verifique suas configurações com:
yolo settings
Modificar definições
A Ultralytics facilita a modificação de configurações das seguintes maneiras:
Atualizar definições
Em Python, use o update
no método settings
objeto:
from ultralytics import settings
# Update a setting
settings.update({"runs_dir": "/path/to/runs"})
# Update multiple settings
settings.update({"runs_dir": "/path/to/runs", "tensorboard": False})
# Reset settings to default values
settings.reset()
Para modificar as configurações usando a interface de linha de comando:
# Update a setting
yolo settings runs_dir='/path/to/runs'
# Update multiple settings
yolo settings runs_dir='/path/to/runs' tensorboard=False
# Reset settings to default values
yolo settings reset
Compreender as definições
A tabela abaixo apresenta as configurações ajustáveis dentro do Ultralytics, incluindo valores de exemplo, tipos de dados e descrições.
Nome | Exemplo de valor | Tipo de dados | Descrição |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Versão das configurações Ultralytics (distinta da versão pip da Ultralytics) |
datasets_dir |
'/path/to/datasets' |
str |
Diretório onde os conjuntos de dados são armazenados |
weights_dir |
'/path/to/weights' |
str |
Diretório onde os pesos do modelo são armazenados |
runs_dir |
'/path/to/runs' |
str |
Diretório onde as execuções de experimentos são armazenadas |
uuid |
'a1b2c3d4' |
str |
Identificador único para as configurações atuais |
sync |
True |
bool |
Opção para sincronizar análises e falhas com o Ultralytics HUB |
api_key |
'' |
str |
Chave de API do Ultralytics HUB |
clearml |
True |
bool |
Opção para usar o registro ClearML |
comet |
True |
bool |
Opção para usar o Comet ML para rastreamento e visualização de experimentos |
dvc |
True |
bool |
Opção para usar o DVC para rastreamento de experimentos e controle de versão |
hub |
True |
bool |
Opção para usar a integração do Ultralytics HUB |
mlflow |
True |
bool |
Opção para usar o MLFlow para rastreamento de experimentos |
neptune |
True |
bool |
Opção para usar o Neptune para rastreamento de experimentos |
raytune |
True |
bool |
Opção para usar o Ray Tune para ajuste de hiperparâmetros |
tensorboard |
True |
bool |
Opção para usar o TensorBoard para visualização |
wandb |
True |
bool |
Opção para usar o registro Weights & Biases |
vscode_msg |
True |
bool |
Quando um terminal VS Code é detectado, habilita um prompt para baixar a extensão Ultralytics-Snippets. |
Revisite estas configurações à medida que avança nos projetos ou experimentos para garantir uma configuração ideal.
FAQ
Como instalo o Ultralytics usando o pip?
Instale o Ultralytics com o pip usando:
pip install ultralytics
Isto instala a versão estável mais recente do ultralytics
pacote de PyPI. Para instalar a versão de desenvolvimento diretamente do GitHub:
pip install git+https://github.com/ultralytics/ultralytics.git
Certifique-se de que a ferramenta de linha de comando Git esteja instalada em seu sistema.
Posso instalar Ultralytics YOLO utilizando conda?
Sim, instale o Ultralytics YOLO usando conda com:
conda install -c conda-forge ultralytics
Este método é uma ótima alternativa ao pip, garantindo a compatibilidade com outros pacotes. Para ambientes CUDA, instale ultralytics
, pytorch
e pytorch-cuda
juntos para resolver conflitos:
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
Para obter mais instruções, consulte o guia de início rápido do Conda.
Quais são as vantagens de utilizar o Docker para executar Ultralytics YOLO ?
O Docker fornece um ambiente isolado e consistente para Ultralytics YOLO, garantindo um desempenho suave entre os sistemas e evitando complexidades de instalação local. As imagens oficiais do Docker estão disponíveis no Docker Hub, com variantes para GPU, CPU, ARM64, NVIDIA Jetson e Conda. Para extrair e executar a imagem mais recente:
# Pull the latest ultralytics image from Docker Hub
sudo docker pull ultralytics/ultralytics:latest
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all ultralytics/ultralytics:latest
Para instruções detalhadas do Docker, consulte o guia de início rápido do Docker.
Como é que clono o repositório Ultralytics para desenvolvimento?
Clone o repositório Ultralytics e configure um ambiente de desenvolvimento com:
# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics
# Navigate to the cloned directory
cd ultralytics
# Install the package in editable mode for development
pip install -e .
Isso permite contribuições para o projeto ou experimentação com o código-fonte mais recente. Para detalhes, visite o repositório Ultralytics no GitHub.
Por que razão devo utilizar Ultralytics YOLO CLI ?
A Ultralytics YOLO CLI simplifica a execução de tarefas de detecção de objetos sem código Python, permitindo comandos de linha única para treinamento, validação e previsão diretamente do seu terminal. A sintaxe básica é:
yolo TASK MODE ARGS
Por exemplo, para treinar um modelo de detecção:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Explore mais comandos e exemplos de uso no Guia da CLI completo.