tensorflow 有没有办法发送多个图像到tf服务模型?

jchrr9hc  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(159)

我正在尝试以下代码,但遇到意外错误
这是我获取输入并将其传递给模型的代码。

def get_instances(dir = '/test_data'):

        instances = list()
        file_names = [file.split('/')[-1] for file in os.listdir(dir)]
        for file in file_names :
          image = nv.imread(os.path.join(dir ,file), resize = (300,300), color_mode='rgb',normalize=True)
          image = combine_rgb_xyz(image)
          #image = nv.expand_dims(image,axis=0)
          instances.append(image)
        return np.array(instances) ,file_names

在我把这些数据发送到模型之后,用下面的代码:

def make_prediction(instances):
   url = get_url()
   data = json.dumps({"signature_name": "serving_default", "instances": instances.tolist()})
   headers = {"content-type": "application/json"}
   json_response = requests.post(url, data=data, headers=headers)
   predictions = json.loads(json_response.text)['predictons']
   return predictions

但是我得到了意外输出:

'predictons'
pokxtpni

pokxtpni1#

您可以使用tf.make_tensor_prototf.make_ndarray进行图像numpy数组与Tensor之间的转换。然后,您可以使用'serving_default'签名进行预测,并将多个图像传递给serving_default请求以获得更快的结果。'serving_default'签名支持同时处理多个图像,因为它具有4d输入(批次、高度、宽度、通道)。请参考此guide将多个图像传递到TF服务。

相关问题