Confronta
Safetensors o ONNX: pesi o grafi del modello
Safetensors salva tensori con nome. ONNX rappresenta un modello con grafo computazionale, ingressi, uscite e versioni degli operatori.
Quale formato scegliere?
Considera Safetensors per caricare pesi in un modello compatibile, oppure ONNX per fornire un grafo a un ambiente di esecuzione compatibile.
Adatto per Safetensors
Archiviare e distribuire pesi tensoriali di apprendimento automatico · Caricare pesi tra framework supportati
- Scambiare tensori e metadati di base anziché oggetti Python arbitrari
- Flussi che ispezionano e caricano tensori selezionati
Adatto per ONNX
Scambiare grafi computazionali e pesi ML con runtime supportati · Trasferire modelli tra framework di addestramento e ambienti di inferenza
- Inferenza su runtime che supportano operatori e opset del modello
- Scambio di grafi con input output e tipi
Informazioni di base
| Voce | Safetensors | ONNX |
|---|---|---|
| Estensione | .safetensors | .onnx |
| Tipo MIME | application/octet-stream | application/octet-stream |
| Usi comuni | Archiviare e distribuire pesi tensoriali di apprendimento automatico · Caricare pesi tra framework supportati | Scambiare grafi computazionali e pesi ML con runtime supportati · Trasferire modelli tra framework di addestramento e ambienti di inferenza |
| Come aprire | Usa una libreria o uno strumento per modelli compatibile con Safetensors. Gli strumenti supportati possono mostrare nomi, dtype e shape prima di caricare tutti i pesi su un dispositivo. Un header JSON non rende l’intero file un documento di testo JSON. | Caricalo con ONNX checker o un runtime di inferenza compatibile. Prima della distribuzione verifica versioni IR/opset, operatori, tipi e shape di input/output e supporto runtime; confronta gli output con il modello sorgente su input rappresentativi. |
| Esportare o convertire | Salva i pesi con un’API supportata dal framework del modello. Convertire un input basato su pickle può deserializzarlo; non caricare alla leggera una fonte non attendibile. Dopo la conversione confronta nomi, shape, dtype, numero di elementi e output del modello. | Esporta con l’exporter ONNX del framework sorgente e valida la struttura con ONNX checker. La conversione riuscita non garantisce equivalenza numerica né esecuzione sul dispositivo target. Se usi dati esterni, conserva modello e tutti i file referenziati insieme nella stessa unità di distribuzione. |
Scegli in base all'uso
Scambiare tensori e metadati di base anziché oggetti Python arbitrari
Archiviare e distribuire pesi tensoriali di apprendimento automatico · Caricare pesi tra framework supportati
SafetensorsFlussi che ispezionano e caricano tensori selezionati
Archiviare e distribuire pesi tensoriali di apprendimento automatico · Caricare pesi tra framework supportati
SafetensorsInferenza su runtime che supportano operatori e opset del modello
Scambiare grafi computazionali e pesi ML con runtime supportati · Trasferire modelli tra framework di addestramento e ambienti di inferenza
ONNXScambio di grafi con input output e tipi
Scambiare grafi computazionali e pesi ML con runtime supportati · Trasferire modelli tra framework di addestramento e ambienti di inferenza
ONNXPunto chiave 1
Safetensors da solo non definisce l’architettura del modello né il codice di inferenza.
Approfondisci le differenzePunto chiave 2
ONNX può contenere tensori di inizializzazione e riferimenti a dati esterni.
Approfondisci le differenzeApprofondisci le differenze
Non sono sostituti diretti. Creare ONNX dai pesi richiede la definizione del modello e un’esportazione supportata. Cambiare estensione non genera un grafo.
- L’intestazione Safetensors registra nomi dei tensori, dtype, shape e intervalli dei dati. Verifica separatamente indici dei frammenti, configurazione, tokenizer e altre dipendenze.
- Verifica IR/opset, operatori e tipi ONNX nell’ambiente di esecuzione e mantieni i riferimenti ai pesi esterni. Confronta le uscite con lo stesso pretrattamento e ingressi rappresentativi; i controlli strutturali non garantiscono accuratezza né velocità.
Domande frequenti
Safetensors è affidabile indipendentemente dalla fonte?
No. Evita la ricostruzione di oggetti arbitrari tramite pickle, ma non garantisce la sicurezza di fonte, lettore, codice dipendente o modello.