意外错误keras:“错误:意外的','在:”

韩芳

我正在用keras R构建一个分类模型,我的代码如下:

model <- keras_model_sequential() 
model %>% 
  layer_dense(units = 256, activation = 'relu', input_shape = ncol(x_train),kernel_regularizer = regularizer_l2(0.001),) %>% 
  layer_dropout(rate = 0.4) %>% 
  layer_dense(units = 128, activation = 'relu',kernel_regularizer = regularizer_l2(0.001),) %>%
  layer_dropout(rate = 0.3) %>%
  layer_dense(units = 2, activation = 'sigmoid')

history <- model %>% compile(
  loss = 'binary_crossentropy',
  optimizer = 'adam',
  metrics = c('accuracy')
)

model %>% fit(x_train, 
              y_train, 
              epochs = 50, 
              batch_size = 128,
              validation_data = (x_val,y_val))

一切都很好,但是当我尝试使用“validation_data”传递外部数据(x_val,y_val)用作验证数据时,它得到了这个错误:

Error: unexpected ',' in:
"              batch_size = 128,
              validation_data =(x_val,"

如果我只是使用validation_split=0.2 那么一切都很好。我看了很多次代码,但无法弄清楚这里有什么问题。有人可以帮我吗?

非常感谢,何

阿克伦

该问题基于要传递的输入参数。它应该是一个,list因为没有tupleR(虽然它在python

根据 keras 文档

validation_data - 在每个时期结束时评估损失和任何模型指标的数据。该模型将不会在此数据上进行训练。这可以是列表 (x_val, y_val) 或列表 (x_val, y_val, val_sample_weights)。validation_data 将覆盖validation_split。

所以,我们只需更换(x_val, y_val)list(x_val, y_val)

model %>% 
          fit(x_train, 
              y_train, 
              epochs = 50, 
              batch_size = 128,
              validation_data = list(x_val,y_val))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章