python - 如何为序列生成设置一个只有一个输入且时间为 0 的 LSTM 网络?

标签 python keras

我设置了一个 X 形状为 (batch_size, 50) 和 Y 形状为 (batch_size, 10(sequence length), 10(output vector)) 的训练集。

LSTM 单元的 Keras 文档说,需要 3D 输入,但 Sequence 2 Sequence 模型可以正常工作并执行此操作。是否有另一种通用方法来解决此任务?

model = Sequential()
model.add(LSTM(50, input_shape=(50,)))
model.add(TimeDistributed(Dense(10, activation='softmax')))

我收到错误:“ValueError:输入 0 与层 lstm_1 不兼容:预期 ndim=3,发现 ndim=2”

最佳答案

这只返回序列的最后一步,你应该设置参数: return_sequences=True

对于以下模型:

 model = Sequential()
 model.add(LSTM(50, input_shape=(1, 50), return_sequences=True))
 model.add(TimeDistributed(Dense(10, activation='softmax')))

我有:

Layer (type)                 Output Shape              Param #   
=================================================================
lstm_3 (LSTM)                (None, 1, 50)             20200     
_________________________________________________________________
time_distributed_2 (TimeDist (None, 1, 10)             510       
=================================================================
Total params: 20,710
Trainable params: 20,710
Non-trainable params: 0
_________________________________________________________________

关于python - 如何为序列生成设置一个只有一个输入且时间为 0 的 LSTM 网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55782849/

相关文章:

python - 在 SciPy 中,csr_matrices 的奇特索引

python - 如何使用 urllib3 发布 x-www-form-urlencoded 数据

python - 使用 pytest 在 Flask 中测试服务器发送的事件

Keras - 使用带参数的激活函数

python - 在 Tensorflow 2.0 中的自定义训练循环中应用回调

python - 无法在 pygame.mixer 中打开任何声音文件

python - 检查文本在 python 中是否右对齐

python - 你如何从keras中的图像Batchdataset输出图像

python - Keras 在使用 TensorFlow-gpu 时出现错误

keras - restore_best_weights 问题 keras 提前停止