我正在尝试使用这个https://cloud.google.com/ml/reference/rest/v1beta1/projects/predict 函数。按照这个https://cloud.google.com/ml/docs/quickstarts/prediction 示例,我上传了 mnist 代码的deployable
版本,并为其创建了模型和版本。现在我想从 Python 代码中获取一些预测结果。
通过阅读该函数的描述,我不明白应该如何运行它。我没有看到其参数的描述以及它们应该是什么样的。
例如,我使用以下代码创建了学习任务:
credentials = GoogleCredentials.get_application_default()ml = discovery.build('ml','v1beta1', credentials=credentials)projectID = 'projects/{}'.format('testml')jobDict = { 'jobId': 'test_job_3', 'trainingInput': { 'scaleTier': 'BASIC', 'packageUris': [ 'gs://testml-ml/cloudmldist/1479282298/trainer-0.0.0.tar.gz' ], 'pythonModule': 'trainer.task', 'args': [ '--train_dir=gs://testml-ml/test_job3_results' ], 'region': 'us-central1' } }request = ml.projects().jobs().create(parent = projectID, body = jobDict)response = request.execute()
我调用了带有参数parent
和body
的jobs.create
函数。我不明白从文档中,projects.predict
函数需要什么参数以及如何构建它们。文档中提到了输出格式,但跳过了输入参数的说明。
回答:
也许你感到困惑是因为predict函数接受一个包装器作为参数,就是你看到的 HTTP 请求体。这是一个包含实例列表的包装器,采用 HTTP 请求格式。实例的格式由你构建的模型决定;predict只是一个通信通道。你需要在预测请求中将这些放在”?data=”之后。