Guida alla migrazione

Il 3 giugno 2020 abbiamo apportato alcune modifiche al machine learning per Firebase per distinguere meglio le API on-device dalle API basate su cloud. L'attuale API è divisa nei seguenti due prodotti:

  • Un nuovo prodotto, denominato semplicemente ML Kit, e che conterrà tutte le API on-device

  • Firebase Machine Learning, incentrato sulle API basate su cloud e sul deployment di modelli personalizzati.

Questa modifica renderà anche più semplice l'integrazione di ML Kit nella tua app se hai bisogno di una sola soluzione sul dispositivo. Questo documento spiega come eseguire la migrazione della tua app dall'SDK Firebase ML Kit al nuovo SDK.

Che cosa cambia?

API di base sul dispositivo

Le API seguenti sono state spostate nel nuovo SDK ML Kit autonomo.

  • Scansione di codici a barre
  • Rilevamento facciale
  • Etichettatura delle immagini
  • Rilevamento e monitoraggio degli oggetti
  • Riconoscimento del testo
  • ID lingua
  • Risposta rapida
  • Traduci
  • API AutoML Vision Edge inference

Le API di base esistenti sul dispositivo nell'SDK ML for Firebase sono deprecate e non riceveranno più aggiornamenti.

Se utilizzi queste API oggi nella tua app, esegui la migrazione al nuovo SDK ML Kit seguendo la guida alla migrazione del kit ML per Android e la guida alla migrazione del kit ML per iOS.

API per modelli personalizzati

Per il download dei modelli ospitati in Firebase, l'utilità di download dei modelli personalizzati continua a essere offerta tramite l'SDK Firebase ML. L'SDK recupera l'ultimo modello disponibile e lo passa al runtime di TensorFlow Lite separato per inferenza.

L'interprete del modello personalizzato esistente nell'SDK ML for Firebase è deprecato e non riceverà più aggiornamenti. Consigliamo di utilizzare il runtime TensorFlow Lite direttamente per inferenza. In alternativa, se vuoi utilizzare solo modelli personalizzati per l'etichettatura delle immagini e il rilevamento di oggetti e le API di monitoraggio, puoi utilizzare direttamente i modelli personalizzati in queste API in ML Kit.

Per istruzioni dettagliate, consulta le guide alla migrazione per Android e iOS.

Che cosa non è cambiato?

Le API e i servizi basati su cloud continueranno a essere offerti con Firebase ML:

  • Le API di etichettatura, riconoscimento del testo e riconoscimento punti di riferimento basate su cloud sono ancora disponibili nell'SDK Firebase ML.

  • Firebase ML continua anche a offrire il deployment dei modelli.

Domande frequenti

Perché questa modifica?

Abbiamo apportato questa modifica per chiarire quali soluzioni offre il prodotto. Con questa modifica, il nuovo SDK di ML Kit è completamente incentrato sul machine learning su dispositivo, in cui l'intera elaborazione dei dati avviene sul dispositivo ed è disponibile per gli sviluppatori senza costi aggiuntivi. I servizi cloud che prima facevano parte di Firebase ML Kit continueranno a essere disponibili tramite Firebase ML e potrai continuare a utilizzarli in parallelo con le API ML Kit.

Per le API on-device, il nuovo SDK di ML Kit rende più facile per gli sviluppatori l'integrazione di ML Kit nella propria app. In futuro, dovrai solo aggiungere le dipendenze al progetto dell'app e poi iniziare a utilizzare l'API. Non è necessario configurare un progetto Firebase per utilizzare le API sul dispositivo.

Che cosa succede ai miei modelli ospitati su Firebase?

Firebase Machine Learning continuerà a pubblicare i modelli come prima. Questa funzionalità non cambierà. Ecco un paio di miglioramenti:

  • Ora puoi eseguire il deployment dei modelli in Firebase in modo programmatico utilizzando gli SDK Python o Node.

  • Ora puoi utilizzare l'SDK Firebase ML insieme al runtime TensorFlow Lite. L'SDK Firebase scarica il modello sul dispositivo e il runtime TensorFlow Lite esegue l'inferenza. In questo modo puoi scegliere facilmente la versione di runtime che preferisci, inclusa una build personalizzata.

Quali vantaggi ricevo dalla migrazione al nuovo SDK ML Kit?

La migrazione al nuovo SDK garantirà alle tue applicazioni i vantaggi delle ultime correzioni di bug e miglioramenti alle API on-device. Ad esempio, ecco un paio di modifiche nella prima release:

  • Ora puoi utilizzare le nuove API di etichettatura personalizzata e rilevamento e monitoraggio degli oggetti personalizzati per integrare facilmente modelli di classificazione delle immagini personalizzati nelle tue app e creare esperienze utente interattive in tempo reale.

  • Il supporto per Android Ciclo di vita Jetpack è stato aggiunto a tutte le API. Ora puoi utilizzare addObserver per gestire automaticamente l'avvio e lo smantellamento delle API ML Kit man mano che l'app esegue la rotazione o la chiusura dello schermo da parte dell'utente o del sistema. In questo modo l'integrazione con CameraX è più facile.

Puoi trovare un elenco completo delle ultime modifiche nelle note di rilascio dell'SDK ML Kit.

Oggi utilizzo il ML Kit per Firebase. Quando devo eseguire la migrazione?

Dipende da quale ML Kit per le API Firebase attualmente utilizzi nella tua app.

  • Le API on-device di base nell'SDK ML for Firebase continueranno a funzionare nel prossimo futuro. Tuttavia, ritardando il passaggio al nuovo SDK ML Kit, non potrai usufruire di nuove funzionalità e aggiornamenti. Inoltre, dopo l'aggiornamento di altri componenti dell'app, corri il rischio che si verifichino conflitti di dipendenze. Ciò può accadere quando alcune delle altre dipendenze (dirette o indirette) sono più recenti di quelle previste dall'SDK ML Kit for Firebase precedente. Esempi di librerie per le quali questo problema può verificarsi sono OkHttp e firebase-common.

  • Se utilizzi le API Cloud tramite l'SDK ML per Firebase, al momento non sono richieste modifiche.

  • Se utilizzi il deployment del modello personalizzato, ti consigliamo di eseguire l'upgrade alla versione più recente, che consente di eseguire le inferenze direttamente sul runtime di TensorFlow Lite.