函数 tf.squeeze 和 tf.nn.rnn 有什么作用?
我搜索了这些 API,但找不到参数、示例等。
此外,以下代码使用 tf.squeeze
形成的 p_inputs
的形状是什么,使用 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()
函数返回一个张量,其值与其第一个参数相同,但形状不同。它删除大小为一的维度。例如,如果t
是形状为[batch_num, 1, elem_num]
的张量(如您的问题),tf.squeeze(t, [1] )
将返回一个内容相同但大小为[batch_num, elem_num]
的张量。tf.nn.rnn()
函数返回一对结果,其中第一个元素表示某个给定输入的循环神经网络的输出,第二个元素表示该网络针对该输入的最终状态。 TensorFlow 网站有一个 tutorial on recurrent neural networks更多详情。
关于python - tf.squeeze 和 tf.nn.rnn 函数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41482823/