Ver como markdown

EfficientDet

O EfficientDet combina um backbone EfficientNet com uma rede piramidal de características bidirecional repetida (BiFPN) e escala profundidade, largura e resolução em conjunto ao longo de cinco tamanhos. O LibreYOLO o inclui como detector somente de inferência.

Tarefas
detection
Tamanhos
Instalação
pip install libreyolo
Nível de suporte
Somente inferência, desde a v. Somente predição, validação e exportação. Os recursos de treinamento não se aplicam.
Origem
EfficientDet por Google Research, Apache-2.0. Artigo, código-fonte
Licenças
Código Apache-2.0, pesos Apache-2.0. Uso comercial

Instalação

O EfficientDet não precisa de nenhum extra opcional. Tudo o que ele importa está na instalação base.

bash
pip install libreyolo

Predição

Os pesos são baixados do Hugging Face no primeiro uso e ficam em cache local.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreEfficientDetd0.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreEfficientDetd0.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

O objeto Results retornado é o mesmo que todas as famílias retornam, então trocar por outro detector é uma mudança de uma linha. O EfficientDet decodifica candidatos baseados em âncoras e depois roda non-maximum suppression por classe, então conf, iou e max_det têm efeito real aqui. Veja predição para fontes, streaming e tratamento de resultados.

Variantes

Cinco tamanhos, do D0 ao D4. Cada passo adiante combina um backbone EfficientNet maior com uma BiFPN mais profunda e mais larga e uma cabeça de predição mais profunda, então a contagem de parâmetros e o custo computacional crescem juntos, seguindo a regra de compound scaling do artigo.

Validação

val() retorna um dicionário de chaves metrics/ cobrindo precisão, recall, mAP 50 e mAP 50-95, medidos contra qualquer dataset no formato em que você treinou.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreEfficientDetd0.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])
CLI
libreyolo val model=LibreEfficientDetd0.pt data=my-dataset.yaml

Exportação

TarefaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX: compatívelDetection to TorchScript: compatívelDetection to ExecuTorch: compatívelDetection to TensorRT: compatívelDetection to OpenVINO: compatívelDetection to Paddle: incompatívelDetection to MNN: incompatívelDetection to RKNN: incompatívelDetection to ncnn: compatívelDetection to TFLite: incompatívelDetection to CoreML: incompatívelDetection to Core AI: incompatível

Um artefato exportado carrega de volta por LibreYOLO() pela extensão do arquivo, então um arquivo .onnx ou .engine se comporta como um checkpoint e retorna o mesmo Results.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreEfficientDetd0.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreEfficientDetd0.pt format=onnxlibreyolo export model=LibreEfficientDetd0.pt format=tensorrt half=True
Usar o arquivo exportado
from libreyolo import LibreYOLO # A factory roteia pela extensão do arquivo, então um artefato exportado# carrega como qualquer checkpoint e retorna o mesmo objeto Results.model = LibreYOLO("LibreEfficientDetd0.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Checkpoints

Todos os arquivos de pesos publicados desta família.

ArquivoEntrada (px)Licença dos pesos
Detection
LibreEfficientDetd0.ptapache-2.0
LibreEfficientDetd1.ptapache-2.0
LibreEfficientDetd2.ptapache-2.0
LibreEfficientDetd3.ptapache-2.0
LibreEfficientDetd4.ptapache-2.0

Todos os arquivos acima existem hoje na organização LibreYOLO e são baixados no primeiro uso.

Licenciamento

Confira a licença no repositório do Hugging Face correspondente aos pesos que você baixar. Cada checkpoint na organização LibreYOLO tem uma licença, e ela nem sempre é a mesma em toda a família. Esse repositório é a fonte oficial. O resumo abaixo descreve o que se aplicava na última verificação desta página.

Esta é uma descrição das licenças envolvidas, não uma orientação jurídica. Se a resposta tiver importância comercial, leia as licenças e procure sua própria assessoria.

Trabalho original
EfficientDet, Google Research
Licença original
Apache-2.0
Código do LibreYOLO
MIT
Pesos
Apache-2.0, republicado em huggingface.co/LibreYOLO
Interpretação
Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. It places no obligation on your own application code. LibreYOLO's D0-D4 checkpoints are converted from Google's official TensorFlow-trained release assets through the Apache-2.0 rwightman/efficientdet-pytorch project; those release assets carry no separate per-checkpoint license, so redistribution here rests on Apache-2.0 implied by the releasing project, the same basis rwightman/efficientdet-pytorch itself uses for its own converted weights.

Os checkpoints D0-D4 do LibreYOLO são convertidos por meio do projeto rwightman/efficientdet-pytorch, sob licença Apache-2.0, que por sua vez espelha os pesos oficiais treinados em TensorFlow do google/automl sem alterar tensores aprendidos. Nenhum código do projeto zylo117/Yet-Another-EfficientDet-Pytorch, licenciado sob LGPL, foi consultado ou usado.

Verificado com o LibreYOLO v1.5.0. As tabelas de suporte, os checkpoints e os números de benchmark desta página são gerados a partir da biblioteca lançada e dos pesos publicados, não escritos à mão.