如何解决通过附加层获取LSTM ValueError
我的数据集由十五个不同维度组成,这些维度以固定间隔(即每10分钟一次)收集。数据集的总大小为15个维度的99个条目。我将数据集分为训练和验证两类。我想尝试LSTM模型(到目前为止,数据大小可能会更小,但这只是出于测试目的)
我的数据集详细信息如下。
<RepeatDataset shapes: ((None,20,14),(None,)),types: (tf.float64,tf.float64)>
<RepeatDataset shapes: ((None,tf.float64)>
第一行是训练数据,第二行是关于验证数据。
当我执行下面的代码时,由于lstm_21层的输入0与该层不兼容,我得到ValueError:期望的ndim = 3,找到的ndim = 2。收到完整的图形:[无,16]
STEPS_PER_EPOCH = 5
EPOCHS = 5
single_step_model = tf.keras.models.Sequential()
single_step_model.add(tf.keras.layers.LSTM(32,input_shape=x_train_single.shape[-2:]))
single_step_model.add(tf.keras.layers.LSTM(16))
single_step_model.add(tf.keras.layers.Dense(1,activation='relu',use_bias=True,kernel_initializer='glorot_uniform'))
single_step_model.compile(optimizer=tf.keras.optimizers.Adam(),loss='mae',metrics=['accuracy'])
single_step_history = single_step_model.fit(train_data_single,epochs=EPOCHS,steps_per_epoch=STEPS_PER_EPOCH,validation_data=val_data_single,validation_steps=5)
对于单个LSTM层,没有错误。但是为什么在尝试添加第二个LSTM层时却出现错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。