INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors_impl.InvalidArgumentError'>, assertion failed: [Unable to decode bytes as JPEG, PNG, GIF, or BMP] #67
Hi Hadi,
I use Python 2.7.13 and Tensorflow 1.3.0 on CPU.
I want to use DensNet( https://github.com/pudae/tensorflow-densenet ) for regression problem. My data contains 60000 jpeg images with 37 float labels for each image.
I saved my data into tfrecords files as you mentioned on your page by:
INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors_impl.InvalidArgumentError'>, assertion failed: [Unable to decode bytes as JPEG, PNG, GIF, or BMP]
[[Node: case/If_0/decode_image/cond_jpeg/cond_png/cond_gif/Assert_1/Assert = Assert[T=[DT_STRING], summarize=3, _device="/job:localhost/replica:0/task:0/cpu:0"](case/If_0/decode_image/cond_jpeg/cond_png/cond_gif/is_bmp, case/If_0/decode_image/cond_jpeg/cond_png/cond_gif/Assert_1/Assert/data_0)]]
INFO:tensorflow:Caught OutOfRangeError. Stopping Training.
INFO:sensorflow:Finished training! Saving model to disk.
To use Densenet for my problem, I should fix this error first.
Could you please help me out of this problem. This code works perfectly for the datasets like flowers, MNIST and CIFAR10 available at https://github.com/pudae/tensorflow-densenet/tree/master/datasets but does not work for my data.
Hi Hadi, I use Python 2.7.13 and Tensorflow 1.3.0 on CPU.
I want to use DensNet( https://github.com/pudae/tensorflow-densenet ) for regression problem. My data contains 60000 jpeg images with 37 float labels for each image. I saved my data into tfrecords files as you mentioned on your page by:
` def Read_Labels(label_path): labels_csv = pd.read_csv(label_path) labels = np.array(labels_csv) return labels[:,1:]
def load_image(addr):
read an image and resize to (224, 224)
def Shuffle_images_with_labels(shuffle_data, photo_filenames, labels): if shuffle_data: c = list(zip(photo_filenames, labels)) shuffle(c) addrs, labels = zip(*c) return addrs, labels
def image_to_tfexample_mine(image_data, image_format, height, width, label): return tf.train.Example(features=tf.train.Features(feature={ 'image/encoded': bytes_feature(image_data),
'image/format': bytes_feature(image_format), 'image/class/label': _float_feature(label), 'image/height': int64_feature(height), 'image/width': int64_feature(width), }))
def _convert_dataset(split_name, filenames, labels, dataset_dir): assert split_name in ['train', 'validation']
num_per_shard = int(math.ceil(len(filenames) / float(_NUM_SHARDS)))
with tf.Graph().as_default():
sys.stdout.write('\n') sys.stdout.flush()
def run(dataset_dir):
And I decode it by:
` with tf.Session() as sess:
It's all fine up to this point. But when I use the bellow commands for decoding TFRecord files:
` reader = tf.TFRecordReader
keys_to_features = { 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), 'image/format': tf.FixedLenFeature((), tf.string, default_value='raw'), 'image/class/label': tf.FixedLenFeature( [37,], tf.float32, default_value=tf.zeros([37,], dtype=tf.float32)), }
items_to_handlers = { 'image': slim.tfexample_decoder.Image('image/encoded'), 'label': slim.tfexample_decoder.Tensor('image/class/label'), }
decoder = slim.tfexample_decoder.TFExampleDecoder( keys_to_features, items_to_handlers)`
I get the following error.