温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

创意RNN和深度RNN怎么实现

发布时间:2022-05-07 15:31:37 来源:亿速云 阅读:150 作者:iii 栏目:大数据

这篇文章主要讲解了“创意RNN和深度RNN怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“创意RNN和深度RNN怎么实现”吧!

1. 创意RNN

经过上期的学习,我们有了一个可以预测未来时序信号的模型。那么我们也可以用它来产生一些有创意的句子。我们所需要做的就是提供一个包含n_steps个值的种子句子(比如全是0),用这个模型来预测下一个值。然后将这个预测值添加到句子中,依次产生一个新的句子。具体实现如下:

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])

创意RNN和深度RNN怎么实现

现在我们可以把周杰伦的专辑输入到RNN网络中,看看能产生什么样子的歌曲出来。然而,有时候我们需要一个拥有更多神经元的更深的更加强大的RNN,那接下来,我们看下深度RNN。

2. 深度RNN

深度RNN其实跟深度CNN差不多,叠加更多层的神经元而已,如下图:
创意RNN和深度RNN怎么实现

那么在tensorflow中该如何实现呢?我们可以穿件几个神经元,并且把他们堆叠到MultiRNNCell中。下面的代码中,我们堆叠了三个相同的神经元(我们也可以堆叠多种不同类型不同个数的神经元):

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)

感谢各位的阅读,以上就是“创意RNN和深度RNN怎么实现”的内容了,经过本文的学习后,相信大家对创意RNN和深度RNN怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

rnn
AI