0

Я использую скрипт build_image_data.py отсюда: https://github.com/tensorflow/models/blob/master/inception/inception/data/build_image_data.py точно так же, как документация для преобразования моего набора данных в формат TFRecords. В сценарии inception_train.py, когда я печатаю изображения и метки, метки не соответствуют изображениям, поэтому я не могу перейти к правильному обучению. Набор данных, который я использую, несбалансирован (разное количество изображений между классами). Я также сделал тест с использованием того же количества изображений между классами и ярлыками, которые по-прежнему ошибочны. Код тензорного потока нетронутый, единственное изменение, которое я сделал, не применяет искажения в сценарии image_processing.py. Я не знаю, были ли метки неправильными из-за моего преобразования в TFR или из-за сценария image_processing.py, который возвращает изображения и метки. Есть идеи?Неверные метки в начальной сети v3 (Tensorflow)

Tensorflow версия: 0.10 ОС: Ubuntu 14,04

Фрагмент кода в inception_train.py сценария, чтобы проверить это:

labs = sess.run(labels) 
imgs = sess.run(images) 


for i in range(FLAGS.batch_size): 
    print('Label ' + str(labs[i])) 
    plt.imshow(imgs[i, :, :, :]) 
    plt.show() 
+0

Вы упомянули о внесении изменений - это работает, если вы используете совершенно свежие скрипты? –

+0

Нет, он не работает с искажениями. – chrisrn

+0

Я сделал много отпечатков в скрипте build_image_data.py, и метки были правы, поэтому, возможно, ошибка в скрипте image_processing.py. Любая помощь приветствуется. – chrisrn

ответ

1

Вы должны работать и в то же время: это , сделайте один вызов sess.run. Что-то вроде этого:

imgs,labs = sess.run([images,labels])# ONLY ONE CALL 

for i in range(FLAGS.batch_size): 
    print('Label ' + str(labs[i])) 
    plt.imshow(imgs[i, :, :, :]) 
    plt.show() 
Смежные вопросы