Firebase Keras部署用于Tensorflow.js

Firebase Keras部署用于Tensorflow.js,firebase,tensorflow,keras,google-cloud-platform,tensorflow.js,Firebase,Tensorflow,Keras,Google Cloud Platform,Tensorflow.js,我需要能够为Tensorflow.js预测部署一个keras模型,但似乎只支持一个TFLite对象。js似乎接受JSON文件进行加载,但不接受keras SavedModel(.pb+/assets+/variables) 我怎样才能达到这个目标 请注意Tensorflow.js部分:有很多指向的指针,但与我要查找的函数最接近的API函数是该函数,它需要.pb和weights\u manifest.json。在我看来,在将其发送到GCloud之前,我必须以编程方式进行组装,因为keras Sav

我需要能够为Tensorflow.js预测部署一个keras模型,但似乎只支持一个TFLite对象。js似乎接受JSON文件进行加载,但不接受keras SavedModel(.pb+/assets+/variables)

我怎样才能达到这个目标

请注意Tensorflow.js部分:有很多指向的指针,但与我要查找的函数最接近的API函数是该函数,它需要
.pb
weights\u manifest.json
。在我看来,在将其发送到GCloud之前,我必须以编程方式进行组装,因为keras SavedModel并不同时包含这两个变量(我的包含.pb+/assets+/variables)

对于一个简单的部署特性来说,这似乎很乏味,我想我的问题只会涉及到每个工具的常见用法


我要找的是一条来自Keras=>Firebase/GCloud=>Tensorflow.js的简单路径。

所以我理解你的困惑,但你已经准备好了一半。 因此,如果我理解正确,您的keras模型具有以下文件和文件夹:

saved_model.pb
/assests
/variables
这足以将keras模型转换为tensorflow.js模型。 按以下方式使用转换器脚本。确保您拥有最新版本的
tfjs
。如果您没有最新版本,请尝试创建
虚拟环境
并安装最新的
tfjs
,否则它将中断您的
tensorflow
版本

import tensorflowjs as tfjs
import tensorflow as tf

model=tf.keras.models.load_model('path/to/keras/model')

tfjs.converters.save_keras_model(model, 'path/where/you/will/like/to/have/js/model/converted')
转换模型后,您将收到
js
model的以下文件

model.json
something.bin
您必须使用Web服务器托管这些文件,并使其可用于loadLayersModel API,如下所示:

const model = await tf.loadLayersModel(
     'location/of/model.json');
就是这样,您已经将模型从Keras转换为Tensorflowjs,并在js中上传


我希望我的回答能对你有所帮助。

所以我理解你的困惑,但你已经准备好了一半。 因此,如果我理解正确,您的keras模型具有以下文件和文件夹:

saved_model.pb
/assests
/variables
这足以将keras模型转换为tensorflow.js模型。 按以下方式使用转换器脚本。确保您拥有最新版本的
tfjs
。如果您没有最新版本,请尝试创建
虚拟环境
并安装最新的
tfjs
,否则它将中断您的
tensorflow
版本

import tensorflowjs as tfjs
import tensorflow as tf

model=tf.keras.models.load_model('path/to/keras/model')

tfjs.converters.save_keras_model(model, 'path/where/you/will/like/to/have/js/model/converted')
转换模型后,您将收到
js
model的以下文件

model.json
something.bin
您必须使用Web服务器托管这些文件,并使其可用于loadLayersModel API,如下所示:

const model = await tf.loadLayersModel(
     'location/of/model.json');
就是这样,您已经将模型从Keras转换为Tensorflowjs,并在js中上传

我希望我的回答能帮助你