Ich möchte tf.image.resize_image_with_crop_or_pad
verwenden, um einen Teil des Eingabebildes zu beschneiden. Aber da kommt ein Fehler: ValueError: 'image' must be fully defined
. Und ich überprüfte die Why do I get ValueError('\'image\' must be fully defined.') when transforming image in Tensorflow? Ich fügte Tensor.set_shape()
hinzu, aber es kann auch nicht funktionieren. Ich liste meinen Code und Fehler wie folgt:Tensorflow: Tensor.set_shape() ValueError: 'Bild' muss vollständig definiert sein
example = tf.image.decode_png(file_contents, channels=3)
example.set_shape = ([256,256,3])
crop_image = tf.image.resize_image_with_crop_or_pad(example, crop_size, crop_size)
Fehler:
File "/home/kang/Documents/work_code_PC1/VGG_tensorflow_UCMerced/readUClandUsedImagetxt.py", line 97, in _input_pipeline
crop_image = tf.image.resize_image_with_crop_or_pad(image, crop_size, crop_size)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/image_ops.py", line 534, in resize_image_with_crop_or_pad
_Check3DImage(image, require_static=True)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/image_ops.py", line 221, in _Check3DImage
raise ValueError('\'image\' must be fully defined.')
ValueError: 'image' must be fully defined.
Ich weiß nicht, warum der Fehler heraus kommt sogar habe ich die bestimmte Form dem Bild. Aber ich testen Sie den Code wie folgt:
example = tf.image.decode_png(file_contents, channels=3)
example = tf.reshape(example, [256,256,3])
crop_image = tf.image.resize_image_with_crop_or_pad(example, crop_size, crop_size)
Es funktioniert. Ich denke, die Umformung in die gleiche Form ändert nicht die Reihenfolge der Werte in Tensor, habe ich recht? Vielleicht kann es die Lösung sein.
Oh. Vielen Dank. Das ist ein dummer Fehler ... –