机器学习模型:基于Tensorflow(版本1.9)和Python版本3.6数据输入:从Bigquery数据输出:到Bigquery 生产环境 预测频率:每月

我开发了一种基于Tensorflow的机器学习模型 . 我已在本地对其进行了培训,并希望将其部署在Google Cloud Platform中进行预测 .

该模型从Google Bigquery读取输入数据,输出预测必须在Google Bigquery中编写 . 有一些数据准备脚本必须在运行模型预测之前运行 . 目前我不能在 生产环境 中使用BigQuery ML,因为它处于Beta阶段 . 此外,因为它是批量预测,我不认为Tensorflow服务将是一个不错的选择 .

我尝试过部署的策略:

  • Use Google ML Engine for prediction: 此方法在GCS上创建输出部件文件 . 这些必须合并并写入Google Bigquery . 因此,在这种方法中,我必须启动VM才能执行数据准备脚本和ML Engine输出到Google Bigquery脚本 . 这仅仅为一个月内运行两个脚本而增加了24x7的VM成本 .

  • Use Dataflow for data preparation script execution along with Google ML Engine :Dataflow使用python 2.7,而模型是在Tensorflow版本1.9和python版本3.6中开发的 . 所以这种方法不能使用 .

  • Google App Engine :使用此方法,必须开发完整的Web应用程序才能提供预测 . 由于预测是批量 生产环境 ,因此这种方法并不合适 . 另外,flask / django必须与代码集成才能使用它 .

  • Google Compute Engine :使用此方法,VM将全天候运行,仅用于运行每月预测并运行两个脚本 . 这会导致很多成本开销 .

我想知道什么是Tensorflow模型的最佳部署方法,它具有一些前后处理脚本 .