gpt4 book ai didi

google-cloud-ml - 如何将base64编码图像传递给Tensorflow预测?

转载 作者:行者123 更新时间:2023-12-04 12:16:45 25 4
gpt4 key购买 nike

我有一个google-cloud-ml模型,可以通过传递float32的3维数组来运行预测...
{ 'instances' [ { 'input' : '[ [ [ 0.0 ], [ 0.5 ], [ 0.8 ] ] ... ] ]' } ] }
但是,这不是传输图像的有效格式,因此我想传递base64编码的png或jpeg。 This document讨论了这样做,但是还不清楚整个json对象是什么样子。 { 'b64' : 'x0welkja...' }是否可以代替'[ [ [ 0.0 ], [ 0.5 ], [ 0.8 ] ] ... ] ]',而使包含的“实例”和“输入”相同?还是其他结构?还是必须在base64上训练tensorflow模型?

最佳答案

无需在base64数据上训练TensorFlow模型。保持训练图不变。但是,在导出模型时,您需要导出一个可以接受png或jpeg(或者可能是原始数据(如果很小的话))数据的模型。然后,在导出模型时,您需要确保对输出使用名称,以_bytes结尾。这向CloudML Engine发出信号,表明您将发送base64编码的数据。将所有内容放在一起将是这样的:

from tensorflow.contrib.saved_model.python.saved_model import utils

# Shape of [None] means we can have a batch of images.
image = tf.placeholder(shape=[None], dtype=tf.string)
# Decode the image.
decoded = tf.image.decode_jpeg(image, channels=3)
# Do the rest of the processing.
scores = build_model(decoded)

# The input name needs to have "_bytes" suffix.
inputs = {'image_bytes': image}
outputs = {'scores': scores}
utils.simple_save(session, export_dir, inputs, outputs)

您发送的请求将如下所示:
{"instances": [{"b64": "x0welkja..."}]}

关于google-cloud-ml - 如何将base64编码图像传递给Tensorflow预测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47943133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com