TensorFlow服务未能为TensorFlow 2.0 keras.layers.LSTM服务

TensorFlow服务未能为TensorFlow 2.0 keras.layers.LSTM服务,keras,tensorflow-serving,tensorflow2.0,Keras,Tensorflow Serving,Tensorflow2.0,为什么TensorFlow服务无法为这个简单的LSTM keras层提供服务,而它使用保存的\u model\u cli run成功运行?我怎样才能修好它 TensorFlow版本2.0 alpha $ pip install tensorflow==2.0.0-alpha0 保存的模型将重新生成: 导入tensorflow作为tf 从tensorflow.keras.models导入模型 从tensorflow.keras.layers导入输入,LSTM img_宽度=10 img_高度

为什么TensorFlow服务无法为这个简单的LSTM keras层提供服务,而它使用保存的\u model\u cli run成功运行?我怎样才能修好它

TensorFlow版本2.0 alpha

$  pip install tensorflow==2.0.0-alpha0 
保存的模型将重新生成:

导入tensorflow作为tf 从tensorflow.keras.models导入模型 从tensorflow.keras.layers导入输入,LSTM img_宽度=10 img_高度=10 def build_模型: input\u img=Inputshape=img\u width*img\u height,1,name='input\u data',dtype='float32' x=LSTM12,返回序列=False,name='lstm\u 1'input\u img 模型=模型输入\u img,x 回归模型 def保存: 模型=构建模型 tf.saved_model.savemodel、/测试_keras_服务/1/ 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 拯救 TensorFlow服务安装:

$ docker pull tensorflow/serving

$ docker images -a
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
tensorflow/serving         latest              38bee21b2ca0        2 months ago        229MB
为SavedModel提供服务

$ docker run -p 8501:8501 --mount type=bind,source=/the/path/of/dir/test_keras_serving,target=/models/my_model -e MODEL_NAME=my_model -t tensorflow/serving
使用TensorFlow服务预测python代码

导入json 导入请求 将numpy作为np导入 def pred: inp_值=np.zeros2100,1 _url='1〕http://localhost:8501/v1/models/my_model:predict' headers={缓存控制:无缓存,内容类型:application/json} data=json.dumps{signature\u name:service\u default,instances:inp\u value.tolist} json\u response=requests.postrl=\u url,data=data,headers=headers printjson\u响应 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': pred 在客户端,结果是

<Response [400]>
但是,SavedModel与saved_model_cli配合良好:

产出:

Result for output key lstm_1:
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]

如何使用TensorFlow服务获得与已保存的\u model \u cli相同的结果?

使用docker pull TensorFlow解决了此问题/Serving:nightly

使用docker pull TensorFlow解决了此问题/Serving:nightly请避免在评论中回答问题。您可以将此添加为答案并接受自己的答案。
$ saved_model_cli run --dir ./test_keras_serving/1 --tag_set serve --signature_def serving_default --input_exprs input_data=np.zeros((2,100,1))
Result for output key lstm_1:
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]