我想预测 cloud-ml 中的 jpeg 图像。
我的训练模型是初始模型,我想将输入发送到图形的第一层:('DecodeJpeg/contents:0'
我必须发送 jpeg 图像)。我通过添加retrain.py将此层设置为可能的输入:
inputs = {'image_bytes': 'DecodeJpeg/contents:0'}
tf.add_to_collection('inputs', json.dumps(inputs))
然后我将训练结果保存在两个文件(export 和 export.meta)中:
saver.save(sess, os.path.join(output_directory,'export'))
我使用这些文件在 cloud-ml 中创建了一个模型。
正如一些帖子(here、here和here from Google cloud官方博客)中所建议的那样,我正在尝试使用
gcloud beta ml predict --json-instances=request.json --model=MODEL
其中实例是以 base64 格式解码的 jpeg 图像,其中:
python -c 'import base64, sys, json; img = base64.b64encode(open(sys.argv[1], "rb").read()); print json.dumps({"key":"0", "image_bytes": {"b64": img}})' image.jpg &> request.json
但是请求返回给我:
error: 'Prediction failed: '
我的程序有什么问题?你有什么建议吗?我特别从这篇文章中假设 cloud-ml 在读取带有 image_bytes 的请求时会自动将 base64 图像转换为 jpeg 格式。这是对的吗?不然我怎么办?