Se você usa o Firebase Machine Learning para hospedar modelos personalizados, migre para outra solução antes que o serviço de hospedagem do Firebase ML seja desativado em 15 de junho de 2027.
Uma alternativa é hospedar seus modelos usando o Cloud Storage para Firebase. Siga este guia para migrar seus modelos do Firebase ML para o Cloud Storage.
Fazer o download dos modelos do TensorFlow Lite
Se você ainda não tiver seus modelos armazenados localmente, faça o download deles no seu projeto do Firebase. Você tem duas opções para fazer isso:
Fazer o download de um por vez no console do Firebase
- Abra a seção da página Machine Learning no console do Firebase.
- Para cada modelo que você quer migrar, clique no menu flutuante de três pontos e em Fazer o download do modelo.
Fazer o download de todos os modelos hospedados em massa
- Abra a página Machine Learning no console do Firebase.
- Clique no botão Obter comando para download em massa para receber um comando
curlque faz o download de todos os modelos no projeto. Esses URLs expiram em sete dias. - Execute o comando no terminal local ou no
Cloud Shell. Se você estiver usando o Cloud Shell, observe o limite de armazenamento em disco de
5 GB.
O comando vai fazer o download dos modelos para uma pasta local chamada
hosted_models.
Hospedar modelos usando o Cloud Storage
Depois de ter os modelos localmente, faça o upload deles para um bucket do Cloud Storage.
Escolha o método de upload que atenda às suas necessidades:
Fazer o upload dos modelos um por vez
- Crie um bucket do Storage: no console do Firebase, acesse Bancos de dados e armazenamento > Storage e siga as etapas de integração para criar um bucket, se ainda não tiver feito isso. Isso exige uma conta de faturamento. Consulte os preços do Firebase para mais detalhes.
- Ainda na seção Storage, faça o upload dos arquivos de modelo
.tflitepara o caminho desejado.
Fazer o upload dos modelos em massa
- Crie um bucket do Storage: no console do Firebase, acesse Bancos de dados e armazenamento > Storage e siga as etapas de integração para criar um bucket, se ainda não tiver feito isso. Isso exige uma conta de faturamento. Consulte os preços do Firebase para mais detalhes.
Use o seguinte comando
gcloudpara fazer o upload de todos os modelos da pasta localhosted_models:gcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
Configurar a segurança e a integração do app
Verifique se as regras de segurança do Storage permitem que o app leia os arquivos de modelo. Por exemplo, é possível restringir o acesso a usuários autenticados.
Adicione o Storage ao seu app: siga os guias de configuração para Android, Apple, ou Flutter.
Atualize o código do aplicativo para fazer o download dos arquivos
.tflitedo novo bucket do Storage.Android
modelRef = storage.getReferenceFromUrl("gs://YOUR_BUCKET/path/to/model.tflite") val localFile = File.createTempFile("models", "tflite") modelRef.getFile(localFile).addOnSuccessListener { // Local temp file has been created }.addOnFailureListener { // Handle any errors }Apple
let gsReference = storage.reference(forURL: "gs://YOUR_BUCKET/path/to/model.tflite") // Create local filesystem URL let localURL = URL(string: "path/to/model.tflite")! // Download to the local filesystem let downloadTask = gsReference.write(toFile: localURL) { url, error in if let error = error { // Uh-oh, an error occurred! } else { // Local file URL for "model.tflite" is returned } }Flutter
final modelRef = FirebaseStorage.instance.refFromURL("gs://YOUR_BUCKET/path/to/model.tflite"); final appDocDir = await getApplicationDocumentsDirectory(); final filePath = "${appDocDir.absolute}/models/model.tflite"; final file = File(filePath); final downloadTask = modelRef.writeToFile(file); downloadTask.snapshotEvents.listen((taskSnapshot) { switch (taskSnapshot.state) { case TaskState.running: // TODO: Handle this case. break; case TaskState.paused: // TODO: Handle this case. break; case TaskState.success: // TODO: Handle this case. break; case TaskState.canceled: // TODO: Handle this case. break; case TaskState.error: // TODO: Handle this case. break; } });Depois que o modelo for baixado, você poderá usar a biblioteca do Tensorflow Lite para carregar e usar o modelo.
(Opcional) Considere usar a Configuração remota do Firebase para atualizar dinamicamente os caminhos do modelo no app sem exigir um novo lançamento.
Opcional: migrar para a API CompiledModel do LiteRT
Se o app ainda usa a API Interpreter legada do TensorFlow Lite, considere
migrar para a API LiteRT CompiledModel,
que oferece suporte aprimorado à aceleração de hardware e outras melhorias em relação
à API legada.