当我们在 Keras 中处理数据生成器(用于训练或测试目的)时,有时我们想要重置生成器。
以下代码是 R 中使用 Keras 的 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 函数的等效。有什么帮助吗?
最佳答案
您始终可以运行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)
关于r - 如何在 R 中重置 Keras 数据生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56298011/