YOLO-NAS
Visão geral
Developed by Deci AI, YOLO-NAS is a groundbreaking object detection foundational model. It is the product of advanced Neural Architecture Search technology, meticulously designed to address the limitations of previous YOLO models. With significant improvements in quantization support and accuracy-latency trade-offs, YOLO-NAS represents a major leap in object detection.
Visão geral de YOLO-NAS. YOLO-O NAS utiliza blocos sensíveis à quantização e quantização selectiva para um desempenho ótimo. O modelo, quando convertido para a sua versão quantizada INT8, regista uma queda de precisão mínima, uma melhoria significativa em relação a outros modelos. Estes avanços culminam numa arquitetura superior com capacidades de deteção de objectos sem precedentes e um desempenho excecional.
Características principais
- Bloco básico compatível com a quantização: YOLO-NAS apresenta um novo bloco básico compatível com a quantização, abordando uma das limitações significativas dos modelos anteriores de YOLO .
- Treinamento e quantização sofisticados: YOLO-NAS utiliza esquemas de treinamento avançados e quantização pós-treinamento para melhorar o desempenho.
- Otimização e pré-treino AutoNAC: YOLO-NAS utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados importantes, como COCO, Objects365 e Roboflow 100. Este pré-treinamento torna-o extremamente adequado para tarefas de deteção de objectos a jusante em ambientes de produção.
Modelos pré-treinados
Experimenta o poder da deteção de objectos da próxima geração com os modelos YOLO-NAS pré-treinados fornecidos por Ultralytics. Estes modelos foram concebidos para proporcionar um desempenho de topo em termos de velocidade e precisão. Escolhe entre uma variedade de opções adaptadas às tuas necessidades específicas:
Modelo | mAP | Latência (ms) |
---|---|---|
YOLO-NAS S | 47.5 | 3.21 |
YOLO-NAS M | 51.55 | 5.85 |
YOLO-NAS L | 52.22 | 7.87 |
YOLO-NAS S INT-8 | 47.03 | 2.36 |
YOLO-NAS M INT-8 | 51.0 | 3.78 |
YOLO-NAS L INT-8 | 52.1 | 4.78 |
Each model variant is designed to offer a balance between Mean Average Precision (mAP) and latency, helping you optimize your object detection tasks for both performance and speed.
Exemplos de utilização
Ultralytics tornou os modelos YOLO-NAS fáceis de integrar nas tuas aplicações Python através do nosso ultralytics
python pacote. O pacote fornece uma API Python de fácil utilização para simplificar o processo.
Os exemplos a seguir mostram como usar os modelos YOLO-NAS com o ultralytics
para inferência e validação:
Exemplos de inferência e validação
Neste exemplo, validamos YOLO-NAS-s no conjunto de dados COCO8.
Exemplo
Este exemplo fornece um código simples de inferência e validação para YOLO-NAS. Para tratar os resultados da inferência, consulta Prevê modo. Para utilizar YOLO-NAS com modos adicionais, consulta Val e Exportação. YOLO-NAS no ultralytics
não apoia a formação.
PyTorch pretrained *.pt
os ficheiros de modelos podem ser passados para o NAS()
para criar uma instância de modelo em python:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI estão disponíveis para executar diretamente os modelos:
Tarefas e modos suportados
Oferecemos-te três variantes dos modelos YOLO-NAS: Pequeno (s), Médio (m) e Grande (l). Cada variante foi concebida para responder a diferentes necessidades computacionais e de desempenho:
- YOLO-NAS-s: Otimizado para ambientes onde os recursos computacionais são limitados, mas a eficiência é fundamental.
- YOLO-NAS-m: Offers a balanced approach, suitable for general-purpose object detection with higher accuracy.
- YOLO-NAS-l: Adaptado para cenários que exigem a maior precisão, onde os recursos computacionais são menos limitados.
Segue-se uma descrição detalhada de cada modelo, incluindo ligações para os seus pesos pré-treinados, as tarefas que suportam e a sua compatibilidade com diferentes modos de funcionamento.
Tipo de modelo | Pesos pré-treinados | Tarefas suportadas | Inferência | Validação | Formação | Exportação |
---|---|---|---|---|---|---|
YOLO-NAS-s | yoloNão te esqueças de que o teu nome é um nome de família. | Deteção de objectos | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | Deteção de objectos | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | Deteção de objectos | ✅ | ✅ | ❌ | ✅ |
Citações e agradecimentos
Se utilizares YOLO-NAS no teu trabalho de investigação ou desenvolvimento, por favor cita a SuperGradients:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/record/7789328},
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
title = {Super-Gradients},
publisher = {GitHub},
journal = {GitHub repository},
year = {2021},
}
We express our gratitude to Deci AI's SuperGradients team for their efforts in creating and maintaining this valuable resource for the computer vision community. We believe YOLO-NAS, with its innovative architecture and superior object detection capabilities, will become a critical tool for developers and researchers alike.
FAQ
O que é YOLO-NAS e como é que melhora em relação aos modelos anteriores YOLO ?
YOLO-NAS, desenvolvido por Deci AI, é um modelo de deteção de objectos de última geração que utiliza tecnologia avançada de pesquisa de arquitetura neural (NAS). Aborda as limitações dos modelos YOLO anteriores, introduzindo características como blocos básicos de fácil quantização e esquemas de formação sofisticados. Isto resulta em melhorias significativas no desempenho, particularmente em ambientes com recursos computacionais limitados. YOLO O -NAS também suporta quantização, mantendo alta precisão mesmo quando convertido para sua versão INT8, melhorando sua adequação para ambientes de produção. Para mais informações, consulta a secção Descrição geral.
Como posso integrar os modelos YOLO-NAS na minha aplicação Python ?
Podes integrar facilmente os modelos YOLO-NAS na tua aplicação Python utilizando o ultralytics
pacote. Aqui está um exemplo simples de como carregar um modelo YOLO-NAS pré-treinado e realizar a inferência:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Para mais informações, consulta os Exemplos de inferência e validação.
Quais são as principais características do YOLO-NAS e porque devo considerar a sua utilização?
YOLO-O NAS apresenta várias características chave que o tornam uma escolha superior para tarefas de deteção de objectos:
- Quantization-Friendly Basic Block: Enhanced architecture that improves model performance with minimal precision drop post quantization.
- Treinamento e quantização sofisticados: Utiliza esquemas de formação avançados e técnicas de quantização pós-formação.
- Otimização e pré-treino AutoNAC: Utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados proeminentes como COCO, Objects365 e Roboflow 100. Esses recursos contribuem para sua alta precisão, desempenho eficiente e adequação para implantação em ambientes de produção. Sabe mais na secção Características principais.
Que tarefas e modos são suportados pelos modelos YOLO-NAS?
YOLO-Os modelos NAS suportam várias tarefas e modos de deteção de objectos, tais como inferência, validação e exportação. Eles não suportam treinamento. Os modelos suportados incluem YOLO-NAS-s, YOLO-NAS-m, e YOLO-NAS-l, cada um adaptado a diferentes capacidades computacionais e necessidades de desempenho. Para obter uma visão geral detalhada, consulta a secção Tarefas e modos suportados.
Existem modelos YOLO-NAS pré-treinados disponíveis e como posso aceder-lhes?
Sim, Ultralytics fornece modelos YOLO-NAS pré-treinados aos quais podes aceder diretamente. Esses modelos são pré-treinados em conjuntos de dados como COCO, garantindo alto desempenho em termos de velocidade e precisão. Podes descarregar estes modelos utilizando as ligações fornecidas na secção Modelos pré-treinados. Aqui estão alguns exemplos: