【发布时间】:2019-01-13 08:48:53
【问题描述】:
我正在尝试了解 tf.reshape 的工作原理。举个例子:
embeddings = tf.placeholder(tf.float32, shape=[N0,N1])
M_2D = tf.placeholder(tf.float32, shape=[N0,None])
M_3D = tf.reshape(M_2D, [-1,N0,1])
weighted_embeddings = tf.multiply(embeddings, M_3D)
这里我有一个 2D 张量 M_2D,它的列代表维度为 N1 的 N0 个嵌入的系数。我想创建一个 3D 张量,其中 M_2D 的每一列都放置在 M_3D 的第一维中,并且列保持相同的顺序。我的最终目标是创建 2D 嵌入的 3D 张量,每个张量由 M_2D 的列加权。
如何确定 reshape 实际上将每一列放置在 M_3D 的新维度中。是否有可能改为放置行? tensorflow 文档中是否有关于 tf.reshape 的内部工作过程的明确解释,特别是在提供 -1 时?
【问题讨论】:
标签: python tensorflow reshape