我正在寻找部署我的深度学习应用程序的最佳方法,该应用程序执行以下操作:
- 从中获取数据
BigQuery - 发现
anomaly(基于训练的模型) mysql在数据库中抛出输出。
我希望这个程序像 cronjob 一样每天在特定时间运行。
除了使用 a 之外,我如何实现此部署的任何线索,cronjob因为当它不使用时,没有必要为时间和资源付费。
提前致谢。
我正在寻找部署我的深度学习应用程序的最佳方法,该应用程序执行以下操作:
BigQueryanomaly(基于训练的模型)mysql在数据库中抛出输出。我希望这个程序像 cronjob 一样每天在特定时间运行。
除了使用 a 之外,我如何实现此部署的任何线索,cronjob因为当它不使用时,没有必要为时间和资源付费。
提前致谢。
有两个步骤是必要的,您需要一个经过训练的模型,并且您需要定期将此模型应用于新数据。
第 1 步:训练模型后,您需要以某种方式对其进行序列化。这可以通过您的深度学习框架中的工具,或者通过将参数保存在某处并将代码保存在其他地方,或者通过腌制整个对象来实现。存储此模型工件后,我们可以在步骤 2 中重用此拟合模型。
第 2 步:安排一些加载此模型工件的作业,从 BigQuery 加载数据(以块或最后一个时间段的行的完整范围),通过您的模型运行这些数据并保存结果。时间表只启动了一些脚本,如何正确运行这些预测取决于规模。如果这是一项非常大的工作,您可能不得不通过 Spark 之类的方式分发它。如果它是可管理的,您可以在一台机器上执行此操作,也许通过分块数据。
除了使用 cronjob 之外,因为在不使用时无需支付时间和资源
听起来您想使用云计算。
我建议查看AWS 在其 CloudWatch 工具中提供的事件。您可以设置一个作业,然后安排它在您喜欢的任何时间运行 - 他们甚至有一个 cron-job 界面来指定类似的内容:每个小时。
您可能可以基于单个 AWS 实例进行设置,检查您是否满足用例的三个要求:
甚至可能有很好的 AMI(亚马逊系统映像 - 带有预装软件)可以用于您的用例!
最好的方法是让单独的容器加载数据,然后在Kubernetes中自行部署管道。他们实际上有一个名为 [Kubeflow] 的工具,仅用于机器学习部署。