在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 函数的等效。有帮助吗?
答案 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)