Python 在云端培训google cloud ml引擎-澄清方法

Python 在云端培训google cloud ml引擎-澄清方法,python,machine-learning,scikit-learn,google-cloud-ml,Python,Machine Learning,Scikit Learn,Google Cloud Ml,我正在尝试使用google cloud ML引擎为sklearn模型实现基于云的预测。我能够做到这一点,但即使在使用REST API时,它似乎也总是引用一个培训师模块,该模块实际上是在离线/或安装了sklearn的标准python3运行时上进行培训的,而不是任何google服务: training_inputs = {'scaleTier': 'BASIC', #'masterType': 'standard', #'parameterServerType': 'large_model', #'

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

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代码完成的,也就是说,google cloud ML引擎所做的只是从sklearn model.bst文件接收模型规格,然后运行实际的预测。我的理解正确吗?感谢您的帮助,

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


对于您的问题,ML引擎不会干扰训练数据集和模型编码。这就是为什么它需要带有型号规格和代码的培训师模块。它为模型训练和预测提供资源,并管理不同版本的模型。这张图应该是ML引擎的一个很好的参考。

谢谢@enle lin,有用的解释,特别是它帮助我更好地掌握了云ML引擎,非常感谢!顺致敬意,