-
Notifications
You must be signed in to change notification settings - Fork 101
Description
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
image = tf.image.decode_image( | |
tf.reshape(parsed['image/encoded'], shape=[]), _DEPTH) |
tensorflow-deeplab-v3/train.py
Lines 145 to 146 in a5d7ff2
label = tf.image.decode_image( | |
tf.reshape(parsed['label/encoded'], shape=[]), 1) |
but in evaluate.py
, the preprocessing codes didn't use tf.reshape()
:
tensorflow-deeplab-v3/utils/preprocessing.py
Line 233 in a5d7ff2
image = tf.image.decode_image(image_string) |
tensorflow-deeplab-v3/utils/preprocessing.py
Line 243 in a5d7ff2
label = tf.image.decode_image(label_string) |
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!