培训谷歌云ml引擎实际上在云 - 澄清方法

问题描述 投票:1回答:1

我正在尝试使用谷歌云ML引擎为sklearn模型实现基于云的预测。我能够做到这一点,但似乎即使在使用REST API时,它总是引用一个实际上是离线训练的训练模块/或者安装了sklearn的标准python3运行时,而不是任何谷歌服务:

training_inputs = {'scaleTier': 'BASIC',
#'masterType': 'standard',
#'parameterServerType': 'large_model',
#'workerCount': 9,
#'parameterServerCount': 3,
'packageUris': ['gs://pathto/trainer/package/packages/trainer-0.0.0.tar.gz'],
'pythonModule': 'trainer.task',
'region': 'europe-west1',
'jobDir': ,
'runtimeVersion': '1.12',
'pythonVersion': '3.5'}

所以,我看到它的方式,无论是使用gcloud(命令行提交)还是通过以下方式使用REST API:

request = ml.projects().jobs().create(body=job_spec, parent=project_id)

实际训练是通过运行sklearn的python代码完成的 - 即谷歌云ML引擎所做的只是从sklearn model.bst文件接收模型规范,然后运行实际预测。我的理解是否正确?谢谢你的帮助,

python machine-learning scikit-learn google-cloud-ml
1个回答
1
投票

为了回答你的问题,这里有一些关于ML引擎的背景:命令中引用的模块是the main module,它启动整个训练过程。此过程将在this example中包含代码中的培训文件和评估文件,ML Engine将负责根据这些文件创建模型。因此,当向ML Engine提交训练作业时,训练过程将使用ML Engine资源用于每个训练步骤来创建模型,该模型可以部署到ML Engine中用于预测。

对于您的问题,ML引擎不会干扰训练数据集和模型编码。这就是为什么它需要具有模型规范和代码的训练模块。它为模型训练和预测提供资源,并管理模型的不同版本。这个document中的图表应该是ML Engine所做的很好的参考。

© www.soinside.com 2019 - 2024. All rights reserved.