【问题标题】:Strange error when calling fit() in R for keras在 R 中为 keras 调用 fit() 时出现奇怪的错误
【发布时间】:2021-10-23 16:39:21
【问题描述】:

我正在尝试使用 Keras 在 R 中实现 Bi LSTM。问题在于检测不同推文严重性的文本分类。我正在使用我在网上找到的一些代码,这是我的模型:

model <- keras_model_sequential() %>%
 layer_embedding(input_dim = max_features, output_dim = 32, input_length = max.length) %>% 
  layer_lstm(units = 32, return_sequences = TRUE) %>% 
  layer_lstm(units = 32, return_sequences = TRUE) %>%
  bidirectional(layer_lstm(units = 32)) %>% 
  layer_dense(units = 1, activation = 'softmax')


summary(model)

然后我尝试训练模型:

model %>%
  compile(loss = 'categorical_crossentropy',
          optimizer = 'adam',
          metrics = c('accuracy'))

history2 <- model %>%
  fit(x.train,
      train.Labels,
      epochs = 20,
      batch_size = 32,
      validation_split = 0.2,
      verbose = 2,
      class_weight = list("0" = 1, "1" = 22.9, "2" = 38.4, "3" = 33.4, "4" = 83.3, "5" = 382.2, "6" = 4280.4))

plot(history)

每次我尝试运行 fit() 时,都会遇到这个错误:

py_call_impl(callable, dots$args, dots$keywords) 中的错误:ValueError:在用户代码中:C:\Users\farah\AppData\Local\R-MINI~1\envs\R-RETI~1\lib \site-packages\keras\engine\training.py:853 train_function * return step_function(self, iterator) C:\Users\farah\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\站点包\keras\engine\training.py:842 step_function ** 输出 = model.distribute_strategy.run(run_step, args=(data,)) C:\Users\farah\AppData\Local\R-MINI~1\ envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:1286 运行返回 self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs) C:\Users\farah\ AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2849 call_for_each_replica return self._call_for_each_replica(fn, args, kwargs) C:\ Users\farah\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:3632 _call_for_each_replica 返回 fn(*args, **kwargs)

我不完全确定这意味着什么,如果有任何帮助,我将不胜感激!

如果您确实需要任何其他信息,请告诉我!

【问题讨论】:

    标签: python r tensorflow keras


    【解决方案1】:

    错误消息指示“ValueError”异常,但不清楚值错误是什么,因为仅显示堆栈跟踪。 有时运行它会提供额外的信息:

    for(x in reticulate::py_last_error()) cat(x, "\n")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多