TensorFlow: Eval Никогда не заканчивается, несмотря на стартовые очереди - PullRequest
0 голосов
/ 12 мая 2018

Мой код висит на следующем утверждении:

print('Beginning Eval...')
feed_dict_train = {img_data: images_batch.eval(session=session),
                   img_labels: labels_batch.eval(session=session)}

Я пытался оценить как на одном примере, так и в качестве пакета. Код для понимания того, как создаются images_batch и label_batch, выглядит следующим образом:

Создание одного примера:

def read_single_example(filename):
#Mini-init
image_size = 256
filenames = tf.train.string_input_producer([filename], num_epochs = None)
reader = tf.TFRecordReader()
_, serialized_example = reader.read(filenames)
features = tf.parse_single_example(
    serialized_example,
    features={
        'label':tf.FixedLenFeature([], tf.float32),
        'image':tf.FixedLenFeature([image_size*image_size*3], tf.float32)
    })
label = features['label'] 
#label = tf.get_default_session().run(label)
image_data = features['image']
#image_data = tf.get_default_session().run(image_data)
image = tf.reshape(image_data,(256,256,3))
return label, image

Чтение одного примера:

label_train, image_train = read_single_example(path)

Пакетирование примеров внутри цикла обучения:

print('Getting Batch')
images_batch, labels_batch = tf.train.shuffle_batch(
    [image_train, label_train], batch_size=batch_size,
    capacity=2000,
    min_after_dequeue=1000)

Записи, считанные с диска, были созданы с найденным кодом здесь , но по сути это просто набор изображений 256x256x3 с тензором 1x41 для меток. Это то, что я думаю, что я все равно сделал, надеясь, что записи не там, где я сделал ошибку, или у меня есть 100 ГБ мертвых данных.

Вот так начинается сеанс Tf:

session = tf.Session()
init = tf.global_variables_initializer()
session.run(init)
tf.train.start_queue_runners(sess=session)

Что, насколько я понимаю, было всем, что мне нужно было сделать, чтобы все работало как задумано. Суть полного кода для сети можно найти здесь . Надеюсь, я не сделал ничего глупого, и спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...