Kosmos-2
Kosmos-2 è il modello di grounding di Microsoft: genera una didascalia dell'immagine e poi individua con un box ogni frase nominale di quella didascalia. LibreYOLO lo avvolge come rilevatore di oggetti a vocabolario aperto: la lista di classi si indica al momento della predizione.
- Task
- detection
- Dimensioni
- 224 at 224 px
- Installa
pip install libreyolo- Livello di supporto
- Livello parallelo, dalla v. Un'interfaccia di prodotto separata, con una propria factory e un proprio contratto.
- Licenze
- Codice MIT, pesi MIT. Uso commerciale
Installazione
Kosmos-2 appartiene al livello VLM-come-detector di LibreYOLO, una superficie di
prodotto separata dalle famiglie basate su checkpoint e con una factory propria.
Richiede l'extra vlm.
pip install "libreyolo[vlm]"Predizione
I pesi vengono scaricati da Hugging Face al primo utilizzo e restano nella cache
locale. LibreYOLO carica direttamente il repository ufficiale di Microsoft
microsoft/kosmos-2-patch14-224; a differenza di Florence-2, qui non serve
nessun re-upload della community.
from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("kosmos-2")model.set_classes(["boat", "person"])result = model.predict(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreVLM model = LibreVLM("kosmos-2")model.set_classes(["boat", "person"]) # Qualsiasi sorgente accettata dalla libreria: file, cartella, URL,# indice della webcam, stream RTSP o una lista .streamsfor result in model.predict("clip.mp4", stream=True, save=True): print(len(result.boxes))Questa famiglia si carica con la factory LibreVLM(), non con LibreYOLO(): le
famiglie VLM non dichiarano nessun caricatore di checkpoint, quindi il routing
per suffisso di file descritto nelle altre pagine dei modelli qui non si applica.
set_classes() definisce il vocabolario che si chiede a Kosmos-2 di trovare; è
persistente, quindi resta in vigore in tutte le chiamate successive a
predict()/track() finché non lo imposti di nuovo. Kosmos-2 fa il grounding di
frasi nominali invece di confrontare esattamente un'etichetta, quindi il wrapper
di LibreYOLO accetta una corrispondenza parziale: una classe chiamata "boat"
corrisponde anche a una frase generata come "the boats". Ogni rilevamento porta
la stessa confidenza segnaposto, quindi filtrare per conf è tutto o niente
invece che un ordinamento, e iou qui non ha effetto, dato che il wrapper
costruisce la lista dei rilevamenti direttamente dalle entità con grounding,
senza nessun passaggio di deduplicazione. chat() solleva NotImplementedError,
perché Kosmos-2 si guida con un prompt <grounding> e non con un template di
chat. La CLI di LibreYOLO non copre questo livello: non esiste una forma
libreyolo predict model=... per esso. Vedi predizione per
sorgenti, streaming e gestione dei risultati.
Varianti
Una sola dimensione: kosmos-2-patch14-224, a 224 px, caricata come
LibreVLM("kosmos-2"). È un modello del 2023, e il wrapper di LibreYOLO segnala
che il suo grounding è più grossolano di quello dei rilevatori più recenti di
questo livello.
LibreYOLO non addestra, non valida e non esporta Kosmos-2: train(), val() e
export() sollevano tutti NotImplementedError per ogni famiglia di questo
livello (vedi il livello di supporto qui sopra). Fai fine-tuning di Kosmos-2
upstream e carica i pesi risultanti se ti serve un vocabolario personalizzato
integrato; controlla a occhio l'output di predict() invece di una passata di
validazione in stile COCO, dato che ogni rilevamento porta la stessa confidenza
segnaposto.
Licenze
Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.
Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.
- Lavoro originale
- Kosmos-2, Microsoft
- Licenza upstream
- MIT
- Sorgente upstream
- github.com/microsoft/unilm/tree/master/kosmos-2
- Codice LibreYOLO
- MIT
- Pesi
- MIT, distribuiti dai rispettivi autori. LibreYOLO non li ospita né ne mantiene una copia.
- Interpretazione
- MIT is a permissive license, so these weights can be used in commercial and closed-source products, provided the copyright notice and license text travel with any copy you redistribute. LibreYOLO downloads Microsoft's own microsoft/kosmos-2-patch14-224 repository directly; unlike Florence-2, no community re-upload is needed for it to load on current transformers.
Citazione
@article{kosmos-2,
title={Kosmos-2: Grounding Multimodal Large Language Models to the World},
author={Zhiliang Peng and Wenhui Wang and Li Dong and Yaru Hao and Shaohan Huang and Shuming Ma and Furu Wei},
journal={ArXiv},
year={2023},
volume={abs/2306}
}Copiato dal blocco di citazione degli autori disponibile su github.com/microsoft/unilm/blob/master/kosmos-2/README.md#citation.