Cloud ML

时间:2016-12-24 23:49:29

标签: google-cloud-platform google-cloud-ml

看起来Cloud ML已迁移到TensorFlow 0.12.0。 (我从导出的模型文件中确认了它。我需要使用0.12.0导入在Cloud ML上生成的模型。)

但我怀疑Cloud ML的预测功能仍在先前版本上运行,因为当我使用我最近在Cloud ML上生成的导出模型时,它返回503(在线预测服务不可用)。

谷歌有人可以确认是这种情况吗?

2 个答案:

答案 0 :(得分:0)

在线预测目前是alpha版,因此需要一些特殊的调整才能正确使用。这是一个有效的例子。注意使用'实例','示例'以及目标列的虚拟值(在我的例子中为'fare_amount')。

from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
import json

import google.cloud.ml.features as features
from google.cloud.ml import session_bundle

credentials = GoogleCredentials.get_application_default()
api = discovery.build('ml', 'v1beta1', credentials=credentials,
            discoveryServiceUrl='https://storage.googleapis.com/cloud-ml/discovery/ml_v1beta1_discovery.json')

request_data = {'instances':
  [
    {'examples':
      {
        'pickup_longitude': -73.885262,
        'pickup_latitude': 40.773008,
        'dropoff_longitude': -73.987232,
        'dropoff_latitude': 40.732403,
        'passenger_count': 2,
        'fare_amount': -999
      }
    }
  ]
}

parent = 'projects/%s/models/%s/versions/%s' % ('cloud-training-demos', 'taxifare', 'v1')
response = api.projects().predict(body=request_data, name=parent).execute()
print "response={0}".format(response)

答案 1 :(得分:0)

快速说明,Cloud ML Engine现在是v1产品,其在线预测部分是Beta版。

如果使用v1端点(而不是v1beta1),则默认行为是在训练和预测中使用TensorFlow 1.0。所以事情应该是一致的,更可靠的。