【问题标题】:R.keras error during call to fit function调用 fit 函数期间出现 R.keras 错误
【发布时间】:2020-10-28 08:43:37
【问题描述】:

我是 R keras 的新手,所以请多多包涵。我正在尝试使用分类变量构建一个简单的模型,但我已将其重铸为数字。

我可以使用当前安装从 R/keras 中的各种教程中获得示例,因此我知道它不在 reticulate 或 tensorflow 甚至 R 中。但是,当我尝试使用自己的数据创建简单模型时,我得到“fit”执行期间出现以下错误:

我很确定这是我的训练数据格式,但我终其一生都无法弄清楚出了什么问题。提前谢谢您。

# Fit 
model_one <- model %>%   
+    fit(training, 
+        trainLabels, 
+        epochs = 100,
+        batch_size = 32, 
+        validation_split = 0.2)
Error in py_call_impl(callable, dots$args, dots$keywords) : 
  ValueError: in user code:

    C:\Users\JRM\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\keras\engine\training.py:571 train_function  *
        outputs = self.distribute_strategy.run(
    C:\Users\JRM\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:951 run  **
        return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
    C:\Users\JRM\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2290 call_for_each_replica
        return self._call_for_each_replica(fn, args, kwargs)
    C:\Users\JRM\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2649 _call_for_each_replica
        return fn(*args, **kwargs)
    C:\Users\JRM\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\keras\engine\training.py:533 train_step  **
        y, y_pred, sample_weight, regulari

我已将我的脚本和示例数据文件上传到 github:

Sample Data and Script to reproduce error

【问题讨论】:

    标签: r keras


    【解决方案1】:

    其实发现了错误:

    一次热编码生成一个 2 列矩阵:

    # One hot encoding 
    trainLabels <- to_categorical(trainingtarget)
    testLabels <- to_categorical(testtarget)
    print(testLabels[1:10,])
    

    并且模型需要 3 列。

    我更改了模型调用,改为根据变量自动接受正确的列数:

    model %>%  
    layer_dense(units = 8, activation = 'relu', input_shape = ncol(test)) %>%   
    layer_dense(units = ncol(trainLabels), activation = 'softmax') 
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-30
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多