Classificação
A tarefa Classifier aceita qualquer classificador ONNX com saída de formato
(1, num_classes) (estilo torchvision). Ela faz preprocessamento, normalização,
softmax opcional e resolução de rótulos por você, devolvendo um envelope
ClassificationResults.
Construindo o classificador
from ort_vision_sdk import Classifier
clf = Classifier(
"resnet50.onnx",
labels="imagenet_labels.txt", # ver "Rótulos" abaixo
input_size=(224, 224), # (largura, altura) padrão
mean=(0.485, 0.456, 0.406), # média ImageNet por padrão
std=(0.229, 0.224, 0.225), # desvio ImageNet por padrão
apply_softmax=True, # False se o modelo já emite probabilidades
)
Parâmetros adicionais: providers (lista de execution providers) e
session_options (uma ort.SessionOptions).
import { Classifier } from "@mauriciobenjamin700/ort-vision-sdk-web";
const clf = await Classifier.create("/models/resnet50.onnx", {
labels: ["tench", "goldfish", /* ... */], // ou null + numClasses
inputSize: [224, 224], // padrão
applySoftmax: true, // padrão
providers: ["webgpu", "wasm"], // ordem padrão
});
Quando labels é null, informe numClasses para o SDK gerar
class_0, class_1, ...
Predizendo
predict() devolve uma lista de comprimento 1 — use [0].
r = clf.predict("dog.jpg")[0]
print(r.cls, r.conf, r.name) # top-1 (índice, confiança, rótulo)
print(r.probs.top1) # índice top-1
print(r.probs.top5) # array com os 5 índices mais prováveis
print(r.probs.top1conf) # confiança do top-1
print(r.probs.top5conf) # confianças do top-5
print(r.probabilities[:5]) # tupla de dataclasses ClassProbability
const r = (await clf.predict("/images/dog.jpg", { topK: 5 }))[0];
console.log(r.cls, r.conf, r.name); // top-1
console.log(r.probs.top1, r.probs.top5);
console.log(r.probs.top1conf, r.probs.top5conf);
console.log(r.probabilities); // ClassProbability[]
topK controla quantas probabilidades por classe são materializadas em
probabilities.
A visão Probs
A visão em massa probs espelha a interface Probs do Ultralytics:
top1, top5, top1conf, top5conf, data. As dataclasses/objetos
ClassProbability carregam os campos verbosos (class_id/classId,
class_name/className, probability) e expõem aliases estilo Ultralytics
(cls, name).
Rótulos
Veja a seção Rótulos no guia Python (Python) e
Rótulos no guia Web (Web) — as duas plataformas aceitam
preset ("coco"), lista/tupla, dict esparso, caminho de arquivo (Python) ou
null para auto-gerar.