首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用亚马逊网络服务部署多个TensorFlow模型?

如何使用亚马逊网络服务部署多个TensorFlow模型?
EN

Stack Overflow用户
提问于 2019-06-11 13:12:25
回答 2查看 486关注 0票数 1

我已经训练了10个不同的TensorFlow模型来进行样式转换,基本上每个模型都负责根据样式图像对图像应用滤镜。因此,每个模型都是独立运行的,我希望将其集成到一个应用程序中。有没有办法使用AWS部署这些模型?

我尝试使用API部署这些模型,然后使用AWS Lambda的端点,最后使用API Gateway创建SageMaker。但是这里的问题是,我们只能在SageMaker上部署一个模型,但在我的例子中,我想部署10个不同的模型。

我希望在我的应用程序中提供每个模型的链接,因此选择的过滤器将在AWS上触发模型并应用过滤器。

EN

回答 2

Stack Overflow用户

发布于 2020-01-18 02:17:52

我对类似的东西所做的是,我创建了自己的docker容器,并使用能够加载和预测多个模型的api代码。应用程序接口,当它启动时,它从S3存储桶中复制一个model.tar.gz,在该tar.gz中是我所有模型的权重,然后我的代码扫描内容并加载所有模型。如果你的模型太大(内存消耗),你可能需要以不同的方式处理这个问题,就像here所说的那样,它只在你调用predict时加载模型。我在一开始就加载了所有的模型,以获得更快的预测速度。这实际上并不是代码上的大变化。

我现在正在尝试的另一种方法是让API Gateway调用多个Sagemaker端点,尽管我没有找到很好的文档。

票数 0
EN

Stack Overflow用户

发布于 2020-01-21 04:16:35

有几个选项,最终的选择取决于您在成本、延迟、可靠性和简单性方面的优先级。

  1. Different SageMaker endpoints per model -这样做的一个好处是,由于模型是相互隔离的,因此可以带来更好的健壮性。如果一个模型被调用了很多次,它不会把整个舰队都打倒。它们各自过着自己的生活,也可以托管在不同类型的机器上,以实现更好的经济效益。请注意,为了实现高可用性,甚至建议将硬件后端(每个2+端点的SageMaker服务器)增加一倍,以便端点是多区域的,因为如果端点有两个或更多instances.
  2. One SageMaker TFServing多模型端点,SageMaker会尽最大努力在不同的可用性区域上托管端点后端-如果您的所有模型都是TensorFlow模型,并且如果它们的工件与TFServing兼容,则您可能能够在单个SageMaker TFServing端点中托管所有这些模型。请参阅文档的这一部分:
  3. One ,该功能于2019年底发布,支持在 中的同一container.
  4. Serverless部署中托管多个模型-这可能是经济高效的:模型仅在调用时才会产生费用。这仅限于符合Lambda内存和存储限制且不需要GPU的{DL模型;DL框架}对。在过去,它已经被记录了几次,特别是在TensorflowMXNet

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56536882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档