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

How to reset Keras data generator in R?

当我们在 Keras 中处理数据生成器(用于训练或测试目的)时,有时我们想要重置生成器。

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

# 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 函数的 equivalent 。有帮助吗?

你总是可以运行 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)