keras的model.fit中validation_data参数问题及解决
程序员文章站
2022-04-02 11:25:20
keras多维度输入model.fit中validation_data遇到的问题我设置三个输入入口构建model处是这样的model = Model(inputs=[input_x1,input_x2,input_x3], outputs=output)再到最后训练程序,看似毫无问题(附上主要问题,无关的核心代码已删,请见谅)history = model.fit([X_train1,X_train2,X_train3], Y_train,...
model.fit中validation_data参数遇到的问题
我设置三个输入入口
构建model处是这样的
model = Model(inputs=[input_x1,input_x2,input_x3], outputs=output)
再到最后训练程序,看似毫无问题(附上主要问题,无关的核心代码已删,请见谅)
history = model.fit([X_train1,X_train2,X_train3], Y_train, batch_size=batch_size, epochs=epochs, verbose=2, validation_data=([X_test,X_test,X_test], Y_test), ])
点击运行,报错。
报错意思是说维度不匹配,但是如果注释掉validation_data这一行程序可以照常训练。
ValueError: Error when checking input: expected input_2 to have shape (1, 1, *) but got array with shape (1, 2, *)
网上查了下,还是有人跟我遇到类似的问题,作者说没找到多输入时model.fit中设置validation_data的例子,不过还是没有解决我的问题。
https://www.jianshu.com/p/00015b976016
分析一下,既然注释掉validation_data可以跑,那么问题就在validation_data这块,于是我检查了传入的值,果不其然。
修改前:
history = model.fit([X_train1,X_train2,X_train3], Y_train, batch_size=batch_size, epochs=epochs, verbose=2, validation_data=([X_test,X_test,X_test], Y_test)
修改后(仅仅改动验证部分传入的参数值)
history = model.fit([X_train1,X_train2,X_train3], Y_train, batch_size=batch_size, epochs=epochs, verbose=2, validation_data=([X_test1,X_test2,X_test3], Y_test)
验证集的维度应该与训练集的维度一一对应(也是服了自己)
最后,成功运行。(不要粗心。。。)
本文地址:https://blog.csdn.net/QAQIknow/article/details/108241062
下一篇: Python3基础语法之集合类型
推荐阅读
-
总结Nginx 的使用过程中遇到的问题及解决方案
-
AndroidStudio中AVD虚拟机设备空间不足调试过程出现的黑屏问题及解决方案
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
html5的input的required使用中遇到的问题及解决方法
-
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
-
Python中import导入上一级目录模块及循环import问题的解决
-
ubuntu14.04 使用中遇到的问题及解决方法集锦
-
Win7版IE10安装过程中的常见问题整理及解决
-
python线程中的同步问题及解决方法
-
解决vue中监听input只能输入数字及英文或者其他情况的问题