我需要根据在Cloud ml引擎中部署的模型进行在线预测。我在python中的代码类似于在文档(https://cloud.google.com/ml-engine/docs/tensorflow/online-predict)中找到的代码:
service = googleapiclient.discovery.build('ml', 'v1')
name = 'projects/{}/models/{}'.format(project, model)
if version is not None:
name += '/versions/{}'.format(version)
response = service.projects().predict(
name=name,
body={'instances': instances}
).execute()
但是,我从脚本外部接收到“实例”数据,我想知道是否有一种方法可以在不使每个“ service = googleapiclient.discovery.build('ml','v1')”各不相同的情况下运行此脚本。请求之前的时间,因为这需要时间。pd:这是我关于gcp的第一个项目。谢谢。
def call_ai_platform():
response = AI_SERVICE.projects().predict(name=name,
body={'instances': instances}).execute()
奖金!如果您对googleapiclient.discovery
调用中的MemoryCache类感到好奇,那是从另一个SO借来的:
class MemoryCache():
"""A workaround for cache warnings from Google.
Check out: https://github.com/googleapis/google-api-python-client/issues/325#issuecomment-274349841
"""
_CACHE = {}
def get(self, url):
return MemoryCache._CACHE.get(url)
def set(self, url, content):
MemoryCache._CACHE[url] = content