代码之家  ›  专栏  ›  技术社区  ›  Luciana Carota

为什么Keras的R“预测”函数不能识别正确的输入维度?

  •  0
  • Luciana Carota  · 技术社区  · 2 年前

    我已经在R中实现了keras lstm网络,我可以对其进行培训并正确使用fit功能。但当我使用“预测”功能时,我会遇到以下错误:

    pred<-基本型号%>%预测(matchsetarray)

    警告:tensorflow:为输入KerasTensor传感器(类型规格=TensorSpec(形状=(96,2,26),数据类型=tf)构建了形状(96,2,26)的模型。float32,name='lstm_3_input',name='lstm_3_input',description=“由层'lstm_3_input'创建),但在形状不兼容的输入上调用了它(32,2,26)。 py_call_impl(可调用、dots$args、dots$keywords)中出错: ValueError:在用户代码中:

    File "C:\Users\Utente\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py", line 1801, in predict_function  *
        return step_function(self, iterator)
    File "C:\Users\Utente\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py", line 1790, in step_function  **
        outputs = model.distribute_strategy.run(run_step, args=(data,))
    File "C:\Users\Utente\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py", line 1783, in run_step  **
        outputs = model.predict_step(data)
    File "C:\Users\Utente\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py", line 1751, in predict_step
        return self(x, training=False)
    File "C:\Users\Utente\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\keras\utils\traceback_utils.py", line 67, in error_handler
        raise e.with_traceback(filtered_tb) from None
    File "C:\Users\
    

    然而,预测输入的维数是(96,2,26),但“预测”考虑维度(32, 2, 26)的输入“MatCHSET数组”。我能强迫predict阅读正确的格式吗?

    我试图验证输入“matchsetarray”的维度:

    dim(matchsetarray) [1] 96 2 26

    这是“预测”函数所期望的正确维度。

    0 回复  |  直到 2 年前