gpt4 book ai didi

python - Tensorflow DeepLab : Shape mismatch in tuple component 1. 预期 [x,x,3],得到 [y,y,3]

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:47 24 4
gpt4 key购买 nike

我正在尝试使用 deeplab3+使用新数据集(具有不同数量的类)进行微调的 tensorflow 实现。我将数据集转换为 tfrecords 并开始 train模型没有问题。现在我想评估新的检查点,运行 evaluation脚本,我得到一个形状不匹配错误。

tensorflow.python.framework.errors_impl.InvalidArgumentError: Shape mismatch

模型实现使用了tensorflow.slim,我想我的问题是函数相关

slim.evaluation.evaluation_loop(
master=FLAGS.master,
checkpoint_dir=FLAGS.checkpoint_dir,
logdir=FLAGS.eval_logdir,
num_evals=num_batches,
eval_op=list(metrics_to_updates.values()),
max_number_of_evaluations=num_eval_iters,
eval_interval_secs=FLAGS.eval_interval_secs,
hooks=[tf_debug.LocalCLIDebugHook()]))

我的错误日志

`tensorflow.python.framework.errors_impl.InvalidArgumentError: Shape mismatch in tuple component 1. Expected [513,513,3], got [2448,2448,3]
[[Node: batch/padding_fifo_queue_enqueue = QueueEnqueueV2[Tcomponents=[DT_INT64, DT_FLOAT, DT_STRING, DT_INT32, DT_UINT8, DT_INT64], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/device:CPU:0"](batch/padding_fifo_queue, Reshape_3/_4659, add_2/_4661, Reshape_1, add_3/_4663, case/cond/Merge/_4665, Reshape_6/_4667)]]`

我不明白这个错误,因为实现使用相同的 preprocessing训练和验证期间的例行程序。我还尝试使用 tf_debug.LocalCLIDebugHook() 进行调试,但没有成功。

最佳答案

两种解决方案:

  • 只需将 eval_crop_size/vis_crop_size 更改为评估集中的最大图像大小。

  • 使用 tf.image.resize_image_with_pad(不会改变宽高比)或 tf.image.resize_images 调整您的评估大小,使最大图像长度 < 513 (将改变宽高比但不改变填充)

主要原因在input_preprocess.py .下面的代码揭示了如何对输入进行预处理以确保尺寸兼容性:图像被填充(如果它们小于 crop_size),然后被裁剪(仅用于训练)

# Pad image and label to have dimensions >= [crop_height, crop_width]
image_shape = tf.shape(processed_image)
image_height = image_shape[0]
image_width = image_shape[1]

target_height = image_height + tf.maximum(crop_height - image_height, 0)
target_width = image_width + tf.maximum(crop_width - image_width, 0)
# Randomly crop the image and label
if is_training and label is not None:
processed_image, label = preprocess_utils.random_crop(
[processed_image, label], crop_height, crop_width)

关于python - Tensorflow DeepLab : Shape mismatch in tuple component 1. 预期 [x,x,3],得到 [y,y,3],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49674860/

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