我正在使用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在代码的其他部分没有任何问题,因此我认为我在这些行中做错了什么)