【问题标题】:How to reset Keras data generator in R?如何在 R 中重置 Keras 数据生成器?
【发布时间】:2019-05-24 18:37:37
【问题描述】:

当我们在 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 功能的等效。有什么帮助吗?

【问题讨论】:

  • 我现在唯一可行的方法是使用两个不同的生成器进行评估和测试(以避免重置)。但如果能够重置同一个生成器就好了。

标签: r keras reset prediction


【解决方案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)

【讨论】:

  • 谢谢!这正是我一直在寻找的。​​span>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 2017-06-18
  • 1970-01-01
  • 2019-09-24
  • 2018-03-29
  • 2020-07-31
  • 1970-01-01
相关资源
最近更新 更多