0

我正在寻找一种方法来检索每个时期的损失值,以便将我的适应度函数(对于遗传算法)定义为:fitness <- 1 / (history$metrics$loss + 0.00000001)但我有一个错误说:Error in history$metrics : object of type 'closure' is not subsettable

一开始,我创建了一个继承自 KerasCallback 类的新 R6 类。

    # define custom callback class
    LossHistory <- R6::R6Class("LossHistory",
      inherit = KerasCallback,
    
      public = list(
    
        losses = NULL,
    
        on_batch_end = function(batch, logs = list()) {
          self$losses <- c(self$losses, logs[["loss"]])
        }
    ))

然后我称之为:

history <- LossHistory$new()
model %>% fit(
  X_train, Y_train,
  batch_size=128, epochs=20, verbose=0,
  callbacks= list(history)
) 

你知道我的健身功能有什么问题吗?问候。

4

0 回答 0