看起来Cloud ML已迁移到TensorFlow 0.12.0。 (我从导出的模型文件中确认了它。我需要使用0.12.0导入在Cloud ML上生成的模型。)
但我怀疑Cloud ML的预测功能仍在先前版本上运行,因为当我使用我最近在Cloud ML上生成的导出模型时,它返回503(在线预测服务不可用)。
谷歌有人可以确认是这种情况吗?
答案 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。所以事情应该是一致的,更可靠的。