使用map_fn将jpgs解码为张量时出错

时间:2016-06-10 15:52:33

标签: tensorflow tensorflow-serving

我正在使用tensorflow服务与神经网络的批处理。我的代码基于example of the inception network:我想对图中的图像进行解码和预处理,所以我修改了exporting script以便使用map函数预处理图像:< / p>

...
with tf.Graph().as_default():
    # Build inference model.
    jpegs = tf.placeholder(tf.string, shape=(None))
    images = tf.map_fn(lambda jpeg : image_processing.image_preprocessing(jpeg, False), jpegs,
                       dtype=tf.float32, back_prop=False)

    # Run inference.
    logits, _ = inception_model.inference(images, len(labels_names))
 ...

image_preprocessing与初始模型中的相同。它接收一个以字节为单位的编码图像,并返回一个浮点值的张量,图像经过解码,缩放和预处理。

模型正确导出但是当我在tensorflow服务中测试时,我收到以下错误:

  

grpc.framework.interfaces.face.face.NetworkError:NetworkError(code = StatusCode.INTERNAL,details =“输出0的类型   string与节点的声明输出类型float不匹配   _recv_map / TensorArrayPack_0 = _Recvclient_terminated = true,recv_device =“/ job:localhost / replica:0 / task:0 / cpu:0”,   send_device = “/职业:本地主机/副本:0 /任务:0 / CPU:0”,   send_device_incarnation = 6080232697619483985,   tensor_name =“map / TensorArrayPack:0”,tensor_type = DT_FLOAT,   _device = “/作业:本地主机/复制:0 /任务:0 / CPU:0”“)

输出类型应该是一个浮点数的张量,因为它在image_preprocessing中,但它表示它是一个字符串。怎么了? (image_preprocessing在代码的其他部分没有任何问题,因此我认为我在这些行中做错了什么)

0 个答案:

没有答案