我训练了一个带有tensorflow的图像分类器并将其部署到谷歌云,现在我正在尝试使用以下代码进行在线预测:
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文件,并从那里调用它来进行预测并避免超出限制问题。我还读到这只能用于批量预测。
有没有解决方法,或者我应该放弃并使用批量预测?任何信息都非常感谢。
遗憾的是没有解决方法。您将不得不使用批量预测。
如果你找到了另一种方法,请在这里分享!
您可以将图像作为Google云端存储网址传递,然后传递它。为此,您必须更改默认服务功能以将输入作为imageUrl而不是张量或列表。