Tensorflow服务:何时使用它而不是在Flask服务中简单推断?

2024-04-28 09:54:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我在服务一个使用对象检测API训练的模型。我是这样做的:

  • 在端口9000上创建一个Tensorflow服务,如basic tutorial

    中所述
  • 使用tensorflow中的predict_pb2创建一个调用此服务的python代码_服务.api类似于this

  • 在Flask服务器中调用此代码,以使该服务可用于HTTP

尽管如此,我还是可以用以下方法来做得容易得多:

如您所见,我可以跳过使用Tensorflow服务。在

那么,在我的案例中使用Tensorflow服务有什么好的理由吗?如果没有,在什么情况下我应该使用它?在


Tags: 对象端口代码模型服务器apihttpflask
2条回答

我认为最重要的原因是

  • Tensorflow服务利用了gRPC和Protobuf,而普通的 FlaskWeb服务使用REST和JSON。JSON依赖于htp1.1,而 gRPC使用HTTP/2(there are important differences)。此外, Protobuf是一种二进制格式,用于序列化数据和it is more efficient than JSON。在
  • TensorFlow服务于同一型号,使用硬件(如GPU)更合适。在
  • TensorFlow服务可以管理模型版本控制

几乎所有的事情,它在很大程度上取决于你拥有的用例和你的场景,所以考虑利弊和你的需求是很重要的。TensorFlow服务有很好的特性,但是这些特性也可以通过一些努力来实现,以便与Flask一起工作(例如,您可以创建批处理机制)。在

Flask用于处理请求/响应,而Tensorflow serving是专门为生产中灵活的ML模型而构建的。在

让我们来看看你想:

  • 为多个产品(多对多关系)提供多个模型 同时。在
  • 看看哪个型号对你的产品有影响(A/B测试)。在
  • 在生产中更新模型权重,这就像保存一个新的 模型到文件夹。在
  • 具有与C/C++编写的代码相同的性能。在

你可以随时免费使用这些优势,通过发送请求到TF服务使用烧瓶。在

相关问题 更多 >