
用 Character RNN 產生莎翁文章
|
513
model = keras.models.Sequential([
keras.layers.GRU(128, return_sequences=True, input_shape=[None, max_id],
dropout=0.2, recurrent_dropout=0.2),
keras.layers.GRU(128, return_sequences=True,
dropout=0.2, recurrent_dropout=0.2),
keras.layers.TimeDistributed(keras.layers.Dense(max_id,
activation="softmax"))
])
model.compile(loss="sparse_categorical_crossentropy", optimizer="adam")
history = model.fit(dataset, epochs=20)
使用
Char-RNN
模型
現在模型可以預測莎翁文章的下一個字元了
,
為了將一些文字傳給它
,
我們要先和之前一
樣預先處理它
,
所以我們建立一個小函式
:
def
preprocess(texts):
X = np.array(tokenizer.texts_to_sequences(texts)) - 1
return
tf.one_hot(X, max_id)
現在我們用這個模型來預測句子的下一個字母
:
>>>
X_new ...