在带有Tensorflow的Jupyter笔记本中,用什么来代替predict_classes()?(NLP文本生成)



我正试图遵循tensorflow NLP教程来训练神经网络,使用我自己编译的源代码生成类似诗歌/歌词的输出。我只知道基本的python,所以这肯定远远超出了我的能力水平。看起来教程有点过时了,因为我收到了这个错误代码:

AttributeError: 'Sequential' object has no attribute 'predict_classes'

据我所知,属性"predict_classes"已被弃用,在当前版本的tensorflow中不再使用。

这是一个答案中建议的一行代码,但我不明白如何将其包含在我的代码中:

= np.argmax(model.predict(x_test), axis=-1)

如有任何帮助,我们将不胜感激。这是给我带来麻烦的代码部分,以及错误代码。我还附上了一个完整的Jupyter笔记本的链接。

seed_text = "Vernal sunlight"
next_words = 100

for _ in range(next_words):
token_list = tokenizer.texts_to_sequences([seed_text])[0]
token_list = pad_sequences([token_list], maxlen=max_sequence_len-1, padding='pre')
predicted = model.predict_classes(token_list, verbose=0)
output_word = ""
for word, index in tokenizer.word_index.items():
if index == predicted:
output_word = word
break
seed_text += " " + output_word
print(seed_text)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-16-0539a42e927b> in <module>()
5         token_list = tokenizer.texts_to_sequences([seed_text])[0]
6         token_list = pad_sequences([token_list], maxlen=max_sequence_len-1, padding='pre')
----> 7         predicted = model.predict_classes(token_list, verbose=0)
8         output_word = ""
9         for word, index in tokenizer.word_index.items():
AttributeError: 'Sequential' object has no attribute 'predict_classes'

这是我关注的视频链接!

这是Jupyter笔记本的副本!

您可以使用以预测张量为参数的argmax来查找预测类。定义预测如下:

predicted = np.argmax(model.predict(x), axis=-1)

最新更新