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.
Baixar modelos do TensorFlow Lite
Se você ainda não tiver os modelos armazenados localmente, faça o download deles no seu projeto do Firebase. Você tem duas opções para fazer isso:
Baixe um de cada 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.
Baixar 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 e receba um comando
curlque baixa todos os modelos do projeto. Esses URLs expiram em 7 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 baixar seus modelos para uma pasta local chamada
hosted_models.
Hospedar modelos usando o Cloud Storage
Depois de ter os modelos localmente, faça upload deles para um bucket do Cloud Storage.
Escolha o método de upload que atenda às suas necessidades:
Fazer upload dos modelos um de cada 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 Armazenamento, faça upload dos arquivos do modelo
.tflitepara o caminho desejado.
Fazer upload de 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 comando
gclouda seguir para fazer upload de todos os modelos da pastahosted_modelslocal:gcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
Configurar a segurança e a integração de apps
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 baixar os 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 seu app sem precisar de um novo lançamento.
Opcional: migrar para a API LiteRT CompiledModel
Se o app ainda usar a API Interpreter legada do TensorFlow Lite, considere
migrar para a API CompiledModel do LiteRT,
que oferece suporte aprimorado para aceleração de hardware e outras melhorias em relação
à API legada.