如何在R中重置Keras数据生成器?

时间:2019-05-24 18:37:37

标签: r keras reset prediction

在Keras中处理数据生成器(出于培训或测试目的)时,有时需要重置生成器。

以下代码是使用Keras的R中的test_generator示例:

# define the test generator:
test_generator<- flow_images_from_directory(path_to_folder,image_data_generator_object,target_size = c(h_w),class_mode="binary",batch_size =10,shuffle = "FALSE")

#evaluate the model:
my_model%>% evaluate_generator(test_generator, steps = 100)

# Now I want to reset my test_generator before using it for prediction.
# what should be the code?

#predictions
my_model%>%predict_generator(test_generator, steps = 100)

我想要的是在评估和预测步骤之间重置数据生成器(因为不维护顺序。

Python 中,这通常是我要做的:

test_generator.reset()

我在 R(keras)中找不到 reset 函数的等效。有帮助吗?

1 个答案:

答案 0 :(得分:1)

您始终可以运行generator$reset()

我通常要做的是创建一个自动启动生成器的函数。然后我可以像这样运行它:

 my_generator <- function() {
    flow_images_from_data(X_train, Y_train, datagen, batch_size = 32)
  }

  # train using generator
  x <- model %>% fit_generator(my_generator(),
                               steps_per_epoch = 32, 
                               epochs = 2)