Ich bekomme diesen Fehler für den unten genannten Code. Bitte hilf mir dabei. Dieser Code druckt Variablen Anzahl der Stapel jedes Mal, wenn ich diesen Code ausführen. Ich kann den Fehler nicht herausfinden.Fehler in der Eingabe-Pipeline mit Warteschlangen in Tensorflow
OutOfRangeError (siehe oben für Traceback): FIFOQueue '_2_batch/fifo_queue' geschlossen ist, und hat nicht genügend Elemente (angeforderte 15, aktuelle Größe 0) [[node: batch = QueueDequeueManyV2 [component_types = [DT_FLOAT] , timeout_ms = -1, _device = "/ Job: localhost/Replik: 0/Aufgabe: 0/cpu: 0"] (Batch/fifo_queue, batch/n)]]
import tensorflow as tf
import numpy as np
import os
batch_size = 16
min_queue = 256
def load_image():
length = calculate_size("./Coco_subset_5356")
names = tf.train.match_filenames_once("./Coco_subset_5356/*.jpg")
# Extracted names from the file
filename_queue = tf.train.string_input_producer(names)
#Initialised the File reader
reader = tf.WholeFileReader()
key, value = reader.read(filename_queue)
my_img = tf.image.decode_jpeg(value, channels = 3)
my_img = tf.image.resize_images(my_img, [256,256])
my_img.set_shape((256,256,3))
print(length)
images = tf.train.batch(
[my_img],
batch_size=batch_size,
num_threads=1,
capacity=min_queue + 3*batch_size)
print(images)
with tf.Session() as sess:
#sess.run(init_op)
tf.local_variables_initializer().run()
#print(tf.get_collection(tf.GraphKeys.LOCAL_VARIABLES))
#For coordination between queue runner and the reader
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord = coord)
for j in range(length/batch_size):
#optimizer.run(feed_dict={input_batch: images[i])
x = sess.run(images)
print(j)
print(x.shape)
coord.request_stop()
coord.join(threads)
def calculate_size(img_dir):
file = []
for subdir, dirs, files in os.walk(img_dir):
for i in files:
i = os.path.join(img_dir, i)
file.append(i)
length = len(file)
return length
load_image()
Ich hatte ein ähnliches Problem und in meinem Fall wurden einige Bilder nicht korrekt decodiert (in meinem Datensatz hatte ich 1x1 Pixel Bilder, die den Filterungsprozess überstanden haben ..). Sind Sie sicher * alle * Ihre Bilder können korrekt als JPG-Dateien geöffnet und entschlüsselt werden? (Sie dürfen auch nicht abgeschnitten werden, Tensorflow wird standardmäßig einen Fehler bei der Verarbeitung von abgeschnittenen Bildern auslösen.) – GPhilo
Wie viele * .jpg-Dateien enthält das Verzeichnis? Ist es ein Vielfaches von 15? Was, wenn Sie 'allow_smaller_final_batch = True' in der 'tf.train.batch' Methode setzen? – npf
Würden Sie Ihre Frage auch bearbeiten, um den Fehler lesbarer zu machen (z. B. mit dem Zeichen>)? – npf