关于将多维张量重塑为[-1,n]

时间:2016-10-25 16:20:56

标签: tensorflow

在阅读张量流分段时,我试图弄清楚以下实现的目标是什么?

x张量定义如下self.x = tf.placeholder("float", shape=[None, None, None, n_label])

稍后,一个函数尝试调用转换的张量“x1”,定义为x1=tf.reshape(self.x, [-1, n_label])

我的理解是tf.reshape(self.x, [-1,n_label])应该尝试重塑 x张量为1-D向量。

但是我有点混淆x这样定义的shape=[None, None, None, n_label]和x1这样转换。 x1应该是什么样子以及为什么要这样做?

1 个答案:

答案 0 :(得分:1)

(ROOT ['S'])(S ['NP', 'VP'])(NP ['Papa'])(S ['NP', 'VP'])(VP ['V', 'NP'])(V ['ate'])(VP ['V', 'NP'])(NP ['Det', 'N'])(Det ['the'])(NP ['Det', 'N'])(N ['caviar'])(ROOT ['S']) 表示我们不想在创建图形时指定尺寸,而是希望在运行时确定它。例如,当您想在火车和推理期间使用不同的小批量大小时,它可能很有用。

对于某些维度重塑None意味着“保留张量的总大小”。例如,对于形状[3,4,2]的x,重塑。(x,[ - 1,2])将产生新的形状张量[12,2]。