Предсказатель_генератор в Керасе навсегда во время выполнения - PullRequest
0 голосов
/ 26 февраля 2019

Решено: для этой проблемы github (https://github.com/keras-team/keras/issues/3946), при использовании flow_images_from_directory, изображения должны находиться в папке в указанном каталоге (папка в папке). Обнаружено это на основании («Найдено 0 изображений, принадлежащих 0 классам») При попытке запустить этот код в Python. В R сообщение об ошибке не появляется, и Предикат_генератор работает вечно. После помещения изображений в папку (с названием« папка ») в test_dir, предикат_Генератор работал быстро (20 мс / шаг) идала чувственные результаты на изображениях кошек и собак.

Оригинальный пост:

Мы пытаемся использовать точно настроенную модель, чтобы делать прогнозы на немаркированном изображении. В этом примере мы используемМодель взята из Allaire и Chollet's Deep Learning With R (и доступна с их сайта github, ссылка ниже в коде). Проблема, с которой мы сталкиваемся, заключается в том, что, даже делая прогнозы только для одного изображения и работая на компьютере с графическим процессором,Предикат_генератор часть этого кода работает в течение 18 часов без сотрудничестваmpletion.Мы намерены делать прогнозы на ~ 200К изображениях, поэтому нам нужно, чтобы время выполнения было коротким для каждого изображения.

(Примечание: мы думаем, что наш графический процессор задействован, поскольку на его отладку VGG уходит несколько часов для выполнения задачи двоичной классификации с несколькими сотнями обучающих изображений.)

Наш код адаптированиз этого поста:

Как оценить () и предсказать () из данных, подобных генератору, в R keras

Мы пытались с похожими неопределенными результатами во время выполнения,следовать аналогичному примеру:

https://www.kaggle.com/dkoops/keras-r-vgg16-base

Какие изменения нам нужно внести в наш код для генерации прогнозов?Каково разумное ожидаемое время выполнения на изображение (в секундах?)?

Вот наш код:

library(keras)
####load cats and dogs model (taken from: https://github.com/jjallaire/deep-learning-with-r-notebooks)
model <- load_model_hdf5("cats_and_dogs_small_2.h5")

train_datagen = image_data_generator(
  rescale = 1/255,
  rotation_range = 40,
  width_shift_range = 0.2,
  height_shift_range = 0.2,
  shear_range = 0.2,
  zoom_range = 0.2,
  horizontal_flip = TRUE,
  fill_mode = "nearest"
)

#get data from https://www.kaggle.com/c/dogs-vs-cats/data. Put one image into folder test1image
test_dir<-"test1image"

test_generator <- flow_images_from_directory(
  test_dir,                  # Target directory  
  train_datagen,              # Data generator
  target_size = c(150, 150),  # Resizes all images to 150 × 150
  batch_size = 1,
  class_mode = "binary",
  shuffle = FALSE# binary_crossentropy loss for binary labels
)

num_test_images = 1
y <- predict_generator(model, test_generator, steps=num_test_images, 
                       verbose =1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...