TensorFlow DecodePng 抛出值错误
TensorFlow DecodePng throws Value Error
对于png图像的解码,通常我们使用以下代码段。
image_placeholder = tf.placeholder(tf.string)
image_tensor = tf.read_file(image_placeholder)
image_tensor = tf.image.decode_png(image_tensor, channels=1)
为了使用 Tensorflow 服务部署模型,我按照 Inception_saved_model 的示例为我自己的模型版本。下面是该程序中用于读取传入的 tensorproto 的代码。
image_placeholder = tf.placeholder(tf.string, name='images')
feature_configs = {'images': tf.FixedLenFeature(shape=[], dtype=tf.string), }
tf_example = tf.parse_example(image_placeholder, feature_configs)
image_tensor = tf_example['images']
image_tensor = tf.image.decode_png(image_tensor, channels=1)
当我使用此代码时,Decode_png 抛出值错误:
ValueError: Shape must be rank 0 but is rank 1 for 'DecodePng' (op: 'DecodePng') with input shapes: [?].
有人可以帮我解决我哪里出错了吗?我在此处提供的代码与 Inception 示例中给出的代码类似。
tf.parse_example
对批处理 ("rank 1") 进行操作,而 decode_png
需要单个图像(标量字符串,"rank 0")。在使用 decode_png
.
之前,我会使用 tf.parse_single_example 或将 reshape
添加到标量 (shape=[]
)
对于png图像的解码,通常我们使用以下代码段。
image_placeholder = tf.placeholder(tf.string)
image_tensor = tf.read_file(image_placeholder)
image_tensor = tf.image.decode_png(image_tensor, channels=1)
为了使用 Tensorflow 服务部署模型,我按照 Inception_saved_model 的示例为我自己的模型版本。下面是该程序中用于读取传入的 tensorproto 的代码。
image_placeholder = tf.placeholder(tf.string, name='images')
feature_configs = {'images': tf.FixedLenFeature(shape=[], dtype=tf.string), }
tf_example = tf.parse_example(image_placeholder, feature_configs)
image_tensor = tf_example['images']
image_tensor = tf.image.decode_png(image_tensor, channels=1)
当我使用此代码时,Decode_png 抛出值错误:
ValueError: Shape must be rank 0 but is rank 1 for 'DecodePng' (op: 'DecodePng') with input shapes: [?].
有人可以帮我解决我哪里出错了吗?我在此处提供的代码与 Inception 示例中给出的代码类似。
tf.parse_example
对批处理 ("rank 1") 进行操作,而 decode_png
需要单个图像(标量字符串,"rank 0")。在使用 decode_png
.
reshape
添加到标量 (shape=[]
)