【发布时间】:2018-09-16 14:53:26
【问题描述】:
好的,所以我在https://cs.stanford.edu/people/karpathy/char-rnn/shakespear.txt 上训练了一个有状态的 LSTM。它在准确性方面似乎并不算太差,但我知道我想创作自己的莎士比亚作品。
问题是,我该如何从它实际生成预测?
特别是,模型批输入形状为 (128, 128, 63),输出形状为 (128, 128, 63)。 (第一个数字是batch size,第二个数字是预测输入输出的长度,第三个数字是文本中不同字符的个数。)
例如,我想:
- 从空文本开始生成各种预测
- 从小的起始文本(例如“PYRULEZ:”)开始生成预测
考虑到 LSTM 的工作原理,这应该是可能的。
这是用于生成和拟合模型的代码的 sn-p:
model = Sequential()
model.add(LSTM(dataY.shape[2], batch_input_shape=(128, dataX.shape[1], dataX.shape[2]), return_sequences = True, stateful=True, activation = "softmax"))
model.summary()
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics = ['acc'])
model.fit(dataX, dataY, epochs = 1, batch_size = 128, verbose=1, shuffle = False)
查看其他代码示例,我似乎需要以某种方式对其进行修改,但我不确定具体如何。
如果有帮助,我可以包含整个代码示例。它是独立的。
【问题讨论】:
标签: python tensorflow keras lstm prediction