TensorFlow的API:tf.squeeze,tf.nn.rnn

417*_*7mm 7 python tensorflow

这看起来很奇怪,因为我是初学者,但请原谅我.

什么样的处理做p_inputstf.squeeze做?我搜索了这些API,但是我找不到参数,例子等.另外,下面的代码使用形成的'p_inputs'的形状是tf.nn.rnn什么,使用的含义和情况是p_inputs什么?

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)]
Run Code Online (Sandbox Code Playgroud)

mrr*_*rry 10

这些问题的最佳答案来源是TensorFlow API文档.您提到的两个函数在数据流图中创建操作和符号张量.特别是:

  • tf.squeeze()函数返回一个与第一个参数具有相同值的张量,但形状不同.它删除大小为1的尺寸.例如,如果t是具有形状的张量[batch_num, 1, elem_num](如在您的问题中),tf.squeeze(t, [1])将返回具有相同内容但大小的张量[batch_num, elem_num].

  • tf.nn.rnn()函数返回一对结果,其中第一个元素表示某个给定输入的递归神经网络的输出,第二个元素表示该输入的该网络的最终状态.TensorFlow网站提供了有关更多细节的递归神经网络教程.