tensorflow - 调整尺寸

时间:2017-10-13 17:29:26

标签: tensorflow tensor

我是tensorflow的新手,想知道是否可以在张量中调整单个维度。

让我有一个给定的张量:

t = [[1, 10], [2, 20]]
shape(t) = [2, 2]

现在我想修改这个张量的形状,以便:

shape(t) = [2, 3]

到目前为止,我刚刚找到了这些功能:

  • 重塑 - >这个函数能够以这样的方式重塑张量,即维数的总数保持不变(据我所知)

    shape(t) = [1, 3] | [3, 1] | [4]
    
  • expand_dims - >此功能可以添加新的1维维度

    shape(t) = [1, 2, 2] | [2, 1, 2] | [2, 2, 1]
    

是否符合我描述的目的?如果没有:为什么? (也许拥有这样的功能没有意义吗?)

亲切的问候

1 个答案:

答案 0 :(得分:0)

使用tf.concat可以做到。这是一个例子。

import tensorflow as tf

t = tf.constant([[1, 10], [2, 20]], dtype=tf.int32)
# the new tensor w/ the shape of [2]
TBA_a = tf.constant([3,30], dtype=tf.int32)
# reshape TBA_a to [2,1], then concat it to t on axis 1 (column)
new_t = tf.concat([t, tf.reshape(TBA_a, [2,1])], axis=1)

sess = tf.InteractiveSession()
print(new_t.eval())

它会给我们

[[ 1 10  3]
 [ 2 20 30]]