這篇文章主要講解了“創(chuàng)意RNN和深度RNN怎么實現(xiàn)”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“創(chuàng)意RNN和深度RNN怎么實現(xiàn)”吧!
創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設公司。公司專注于為企業(yè)提供信息化建設解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),微信平臺小程序開發(fā),10余年建站對混凝土攪拌站等多個領域,擁有豐富的網(wǎng)站建設經(jīng)驗。
經(jīng)過上期的學習,我們有了一個可以預測未來時序信號的模型。那么我們也可以用它來產(chǎn)生一些有創(chuàng)意的句子。我們所需要做的就是提供一個包含n_steps個值的種子句子(比如全是0),用這個模型來預測下一個值。然后將這個預測值添加到句子中,依次產(chǎn)生一個新的句子。具體實現(xiàn)如下:
sequence = [0.] * n_steps
for iteration in range(300):
X_batch = np.array(sequence[-n_steps:]).reshape(1, n_steps, 1)
y_pred = sess.run(outputs, feed_dict={X: X_batch})
sequence.append(y_pred[0, -1, 0])
現(xiàn)在我們可以把周杰倫的專輯輸入到RNN網(wǎng)絡中,看看能產(chǎn)生什么樣子的歌曲出來。然而,有時候我們需要一個擁有更多神經(jīng)元的更深的更加強大的RNN,那接下來,我們看下深度RNN。
深度RNN其實跟深度CNN差不多,疊加更多層的神經(jīng)元而已,如下圖:
那么在tensorflow中該如何實現(xiàn)呢?我們可以穿件幾個神經(jīng)元,并且把他們堆疊到MultiRNNCell中。下面的代碼中,我們堆疊了三個相同的神經(jīng)元(我們也可以堆疊多種不同類型不同個數(shù)的神經(jīng)元):
n_neurons = 100
n_layers = 3
basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)
multi_layer_cell = tf.contrib.rnn.MultiRNNCell([basic_cell] * n_layers)
outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)
感謝各位的閱讀,以上就是“創(chuàng)意RNN和深度RNN怎么實現(xiàn)”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對創(chuàng)意RNN和深度RNN怎么實現(xiàn)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!