tf.squeeze和tf.nn.rnn的功能是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tf.squeeze和tf.nn.rnn的功能是什么?相关的知识,希望对你有一定的参考价值。
tf.squeeze和tf.nn.rnn的功能是什么?
我搜索了这些API,但我找不到参数,例子等。另外,使用p_inputs
由以下代码形成的tf.squeeze
的形状是什么,使用tf.nn.rnn
的含义和情况是什么?
batch_num = 10
step_num = 2000
elem_num = 26
p_input = tf.placeholder(tf.float32, [batch_num, step_num, elem_num])
p_inputs = [tf.squeeze(t, [1]) for t in tf.split(1, step_num, p_input)]
答案
这些问题的最佳答案来源是TensorFlow API documentation。您提到的两个函数在数据流图中创建操作和符号张量。特别是:
tf.squeeze()
函数返回一个与第一个参数具有相同值的张量,但形状不同。它删除大小为1的尺寸。例如,如果t
是具有形状[batch_num, 1, elem_num]
的张量(如在您的问题中),tf.squeeze(t, [1])
将返回具有相同内容但大小为[batch_num, elem_num]
的张量。tf.nn.rnn()
函数返回一对结果,其中第一个元素表示某个给定输入的递归神经网络的输出,第二个元素表示该输入的该网络的最终状态。 TensorFlow网站上有一个更详细的tutorial on recurrent neural networks。
以上是关于tf.squeeze和tf.nn.rnn的功能是什么?的主要内容,如果未能解决你的问题,请参考以下文章
tf.contrib.rnn.static_rnn与tf.nn.dynamic_rnn区别
深度学习原理与框架-递归神经网络-RNN_exmaple(代码) 1.rnn.BasicLSTMCell(构造基本网络) 2.tf.nn.dynamic_rnn(执行rnn网络) 3.tf.expa