是否有通过RESTful API部署Tensorflow模型的示例代码?我看到了命令行程序和移动应用程序的示例.是否有一个框架,人们只需加载模型并通过Web框架(如Flask)公开预测方法来获取输入(比如通过JSON)并返回响应?通过框架,我的意思是扩展大量的预测请求.当然,由于模型是不可变的,我们可以启动预测服务器的多个实例并将其置于负载均衡器(如HAProxy)之后.我的问题是,人们是否正在使用某种框架或从头开始这样做,或者,这可能已经在Tensorflow中提供,我没有注意到它.
https://github.com/sugyan/tensorflow-mnist通过使用Flask和加载预训练模式(恢复)显示一个简单的restAPI示例.
@app.route('/api/mnist', methods=['POST']) def mnist(): input = ((255 - np.array(request.json, dtype=np.uint8)) / 255.0).reshape(1, 784) output1 = simple(input) output2 = convolutional(input) return jsonify(results=[output1, output2])
另请参阅https://tensorflow-mnist.herokuapp.com/上的在线演示.似乎API足够快.
TensorFlow服务是一种用于机器学习模型的高性能开源服务系统,专为生产环境而设计,并针对TensorFlow进行了优化.初始版本包含使用gRPC构建的示例,但您可以使用RESTful API轻松替换前端(在下图中表示为"客户端")以满足您的需求.
要快速入门,请查看教程.