当我们执行tf.embedding_lookup时,它返回一个向量(不是矩阵)。
In [244]: one_hot_label = tf.nn.embedding_lookup(np.eye(vocab_size), Y[labels_i])
In [245]: one_hot_label
Out[245]: <tf.Tensor 'embedding_lookup_43975:0' shape=(20, 8000) dtype=float64>
我需要将此(20,8000)
张量重塑为(20,8000,1)
。我该怎么办?
我没有要求使用tf.reshape的硬线(20,8000,1)。我一般都在问如何转换2d - &gt; 3d或更高。
答案 0 :(得分:2)
您可以使用tf.expand_dims
:此操作会将尺寸1插入张量的形状。
one_hot_label = tf.expand_dims(one_hot_label, axis=2)