Image preprocessing is INCONSISTENT at train and evaluate stage causes InvalidArgumentError
ytliang97 opened this issue · 0 comments
Hi, first thanks for getting this done.
Recently I encountered following problem when I try to run evaluate.py
:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Number of ways to split should evenly divide the split dimension, but got split_dim 2 (size = 1) and num_split 3
I've noticed that the preprocessing codes in train.py
use tf.reshape()
before decoding images :
use tf.reshape()
can convert image from grayscale to rgb.
tensorflow-deeplab-v3/train.py
Lines 140 to 141 in a5d7ff2
tensorflow-deeplab-v3/train.py
Lines 145 to 146 in a5d7ff2
but in evaluate.py
, the preprocessing codes didn't use tf.reshape()
:
tensorflow-deeplab-v3/utils/preprocessing.py
Line 233 in a5d7ff2
tensorflow-deeplab-v3/utils/preprocessing.py
Line 243 in a5d7ff2
This will raise error if there is a grayscale image in dataset. So I edit code like this:
image = tf.image.decode_image( tf.reshape(image_string, shape=[]), 3 )
label = tf.image.decode_image( tf.reshape(label_string, shape=[]), 1 )
It works!