Google 应用引擎和 Google 机器学习引擎在托管用于预测的张量流模型时的主要区别是什么?
What is the main difference between Google app engine and Google ML engine when hosting tensorflow models for prediction?
我有一个本地训练的 tensorflow 模型需要托管在云服务上,这样我就可以在我的 flutter 应用程序中调用它来对输入数据进行预测。
在搜索解决方案时,我发现人们通过使用 ML 引擎(通过 firebase 函数调用模型预测)和 App 引擎(使用 REST API 从托管模型中获取预测来实现上述目标)
如果两者都达到相同的结果,为什么要有两个服务?一个比另一个快吗?还是更便宜?除了拥有前置应用程序之外,这两种服务是否相同?
要使用 Tensorflow Serving 为模型提供服务,您需要...tensorflow serving,一个要在您的环境中安装的二进制文件。
因此,对于 App Engine 标准,您无法安装任何二进制文件,您只能定义要使用的依赖项。
使用 App Engine Flexible,您可以设置 custom runtime environment 并提供 Dockerfile 来对其进行自定义。这次您无法在 App Engine flex 上安装 TensorFlow Serving 和服务您的模型。
注意:App Engine Standard 规模为 0,当您不处理任何请求时无需付费。 App Engine 灵活扩展到 1,因此,您至少支付 1 个实例的全职费用,无论是否有流量。
在 AI Platform 端,您有 2 types of machine type。遗留 MLS1
的行为和定价非常接近 App Engine 标准(缩放至 0,因此,如果创建实例,则至少需要 15 分钟的运行时间,...)但安装了 tensorflow 服务等,您可以使用它来进行预测。
不过,MLS1
类型支持的型号最高可达500Mb,应该不适合你。
N1
类型是 AI PLatform 在线预测服务的新平台(此类机器无法进行批处理)。更多 CPU、GPU、内存、高达 2Gb 的模型……但是,就像 App Engine Flexible 一样,平台规模为 1,因此即使您不提供流量,您也需要付费。
注意:AI Platform 服务机器针对预测和张量流进行了优化。 App Engine 针对一般用途进行了优化,尤其是 Web 服务。
我执行了 talk about the differences last year
从那里开始,我对这些解决方案并不满意。我找到了第三种服务模型的方法,这次是使用 Cloud 运行。 I wrote an article with the model already package in the container (longer container start (cold start) but more efficient in request processing) and another one to load the model on each request(处理时间较长,但可重复用于不同类型的模型)。
关于最后一个,我发布了一个开源解决方案。如果需要,我可以根据您的要求更新它。
最后说明:也许可以使用 TensorflowJS 模型和 NodeJS 运行时环境在 App Engine Standard 上提供 tensorflow 模型。我从未测试过(我既不是数据科学家也不是 NodeJS 开发人员)
我有一个本地训练的 tensorflow 模型需要托管在云服务上,这样我就可以在我的 flutter 应用程序中调用它来对输入数据进行预测。
在搜索解决方案时,我发现人们通过使用 ML 引擎(通过 firebase 函数调用模型预测)和 App 引擎(使用 REST API 从托管模型中获取预测来实现上述目标)
如果两者都达到相同的结果,为什么要有两个服务?一个比另一个快吗?还是更便宜?除了拥有前置应用程序之外,这两种服务是否相同?
要使用 Tensorflow Serving 为模型提供服务,您需要...tensorflow serving,一个要在您的环境中安装的二进制文件。
因此,对于 App Engine 标准,您无法安装任何二进制文件,您只能定义要使用的依赖项。
使用 App Engine Flexible,您可以设置 custom runtime environment 并提供 Dockerfile 来对其进行自定义。这次您无法在 App Engine flex 上安装 TensorFlow Serving 和服务您的模型。
注意:App Engine Standard 规模为 0,当您不处理任何请求时无需付费。 App Engine 灵活扩展到 1,因此,您至少支付 1 个实例的全职费用,无论是否有流量。
在 AI Platform 端,您有 2 types of machine type。遗留 MLS1
的行为和定价非常接近 App Engine 标准(缩放至 0,因此,如果创建实例,则至少需要 15 分钟的运行时间,...)但安装了 tensorflow 服务等,您可以使用它来进行预测。
不过,MLS1
类型支持的型号最高可达500Mb,应该不适合你。
N1
类型是 AI PLatform 在线预测服务的新平台(此类机器无法进行批处理)。更多 CPU、GPU、内存、高达 2Gb 的模型……但是,就像 App Engine Flexible 一样,平台规模为 1,因此即使您不提供流量,您也需要付费。
注意:AI Platform 服务机器针对预测和张量流进行了优化。 App Engine 针对一般用途进行了优化,尤其是 Web 服务。
我执行了 talk about the differences last year
从那里开始,我对这些解决方案并不满意。我找到了第三种服务模型的方法,这次是使用 Cloud 运行。 I wrote an article with the model already package in the container (longer container start (cold start) but more efficient in request processing) and another one to load the model on each request(处理时间较长,但可重复用于不同类型的模型)。
关于最后一个,我发布了一个开源解决方案。如果需要,我可以根据您的要求更新它。
最后说明:也许可以使用 TensorflowJS 模型和 NodeJS 运行时环境在 App Engine Standard 上提供 tensorflow 模型。我从未测试过(我既不是数据科学家也不是 NodeJS 开发人员)