1 input_tensor = Input(shape=(self.config.max_len, len(self.words)))
2 lstm = LSTM(512, return_sequences=True)(input_tensor)
3 dropout = Dropout(0.6)(lstm)
4 lstm = LSTM(256)(dropout)
5 dropout = Dropout(0.6)(lstm)
6 dense = Dense(len(self.words), activation='softmax')(dropout)
7 self.model = Model(inputs=input_tensor, outputs=dense)
8 optimizer = Adam(lr=self.config.learning_rate)
9 self.model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
- 第一行: 構造輸入向量
- 第二行,構造了一個LSTM layer, hidden units size = 512
- 第三行,構造了一個dropout layer,dropout rate = 0.6
- 第四行,構造了一個LSTM layer,hidden units size = 256
- 第五行,構造了一個dropout layer,dropout rate = 0.6
- 第六行,構造了一個全鏈接層+softmax 做爲 output layer
- 第七行,利用 inputs 和 outputs 構造Model
- 第八行,使用 Adam 優化器
- 第九行,compile model,指定了模型的損失函數類型爲交叉熵損失,優化器以及評價指標
首春:寒隨窮律變,春逐鳥聲開。初風飄帶柳,晚雪間花梅。碧林青舊竹,綠沼翠新苔。芝田初雁去,綺樹巧鶯來。
初晴落景:晚霞聊自怡,初晴彌可喜。日晃百花色,風動千林翠。池魚躍不一樣,園鳥聲還異。寄言博通者,知予物外志。
初夏:一朝春夏改,隔夜鳥花遷。陰陽深淺葉,曉夕重輕煙。哢鶯猶響殿,橫絲正網天。珮高蘭影接,綬細草紋連。碧鱗驚棹側,玄燕舞檐前。何須汾陽處,始復有山泉。
度秋:夏律昨留灰,秋箭今移晷。峨嵋岫初出,洞庭波漸起。桂白髮幽巖,菊黃開灞涘。運流方可嘆,含毫屬微理。
3. 訓練
4.訓練完成以後,原始的代碼一共提供了4個進行predict 的API: