我已经使用tensorflow训练了一个图像分类器,并将其部署到Google Cloud平台,现在我正在尝试使用以下代码进行在线预测:
service = googleapiclient.discovery.build('ml','v1')
name = 'projects/{}/models/{}'.format("project_name","model_name")
image = img_to_array(load_img('path/to/image/image.jpg', target_size=(299,299))) / 255.
payload = {
"instances": [{'image': image.tolist()}]
}
response = service.projects().predict(
name=name,
body=payload).execute()
if 'error' in response:
raise RuntimeError(response['error'])
print(response['predictions'])我在几篇文章中看到,我需要将我的请求保存为云存储中的JSON文件,并从那里调用它来进行预测,并避免超出限制的问题。我还读到只有批量预测才能做到这一点。
有没有解决这个问题的办法,或者我应该放弃使用批量预测?任何信息都是非常感谢的。
发布于 2019-07-22 19:32:57
您可以将图像作为Google Cloud Storage URL传递,然后传递它。为此,您必须更改默认的服务函数,将输入作为imageUrl,而不是张量或列表。
发布于 2019-04-03 20:40:10
不幸的是,没有解决方法。你将不得不使用批量预测。
如果你找到了另一种方法,请在这里分享!
https://stackoverflow.com/questions/55246335
复制相似问题