python - Keras LSTM - “检查模型目标时出错:预期没有数据,但得到:”数据
问题描述
我正在做简单的序列预测。我的模型和数据如下所示:
def generate_rnn(input_shape):
In = Input(shape=(input_shape[1], 1))
x = LSTM(4)(In)
x = Flatten()(x) # I tried both with and without flatten, same results
Out = Dense(1)(x)
model = Model([In, Out])
model.compile(optimizer=Adam(), loss='MSE', metrics=['mse'])
return model
X = np.random.rand(100, 5)
y = np.random.rand(100, 1)
X = X.reshape(X.shape[0], X.shape[1], 1)
rnn = generate_rnn(X.shape)
rnn.fit(X, y, epochs=10)
第一次运行程序时,在函数调用时,rnn.fit()
我收到以下错误消息:
文件“C:\Users\achib\Anaconda3\envs\deep\lib\site-packages\tensorflow_core\python\keras\backend.py”,第 1237 行,在 dtype 中返回 x.dtype.base_dtype.name
AttributeError:“NoneType”对象没有属性“dtype”
如果我rnn.fit()
在控制台中再次运行,我会收到以下错误消息:
ValueError: ('检查模型目标时出错:预期没有数据,但得到:',
然后我的y
变量被打印出来。我之前在 Keras 使用过 LSTM 网络,但这是我第一次遇到这样的问题?有什么帮助吗?
解决方案
模型类的文档-> https://keras.io/api/models/model/#model-class
据此,模型类必须将输入和输出作为不同的参数接收,而不是作为同一列表的一部分。就是这样——
ValueError: ('检查模型目标时出错:预期没有数据,但得到:',
方法。模型的目标变量 (y) 为空。因此,删除方括号应该会有所帮助。
希望这有帮助。
愿原力与你同在。
推荐阅读
- go - rpc 错误:代码 = 未实现 desc = RPC 方法未实现
- java - LibGDX applyLinearImpulse 试图实现 Gravity.... 困惑
- sql - 如何在 SELECT 子句中创建一个新列并用字符串/列表动态填充它,并满足所有条件语句的连接?
- css - 如何给margin-left与margin-right成比例?
- firebase - 从 firebase 以外的来源同时在 bigquery 中保存数据
- laravel-5.8 - 类 App\Http\Controllers\Auth\Auth\ForgotPasswordController 不存在
- wordpress - 尝试部署 Cloudonaut Wordpress Cloudformation 模板时出现“AWS ACM CerError”
- android-studio - 如何在 android studio 上修复此错误?在 android studio 3.2.1 上安装 APK 时出错
- php - 如何覆盖 magento 2 愿望清单模型?
- json - 我们如何以原始顺序从 json 中获取密钥?