Tensorflow vs Numpy concat操作

时间:2017-12-03 19:27:43

标签: python numpy multidimensional-array tensorflow tensor

我只是在numpy和tensorflow中尝试了一些代码,因为tensorflow在后端使用了numpy我并不期望在某些操作中存在差异,例如concat操作。

  

在Numpy

z = np.array(
[
 [
   [1,2,3,],
   [4,5,6,]
 ],

 [
   [7,8,9],
   [10,11,12]
 ],

 [
   [13,14,15],
   [16,17,18]
 ]

])

np.concatenate(z,axis = 1)给出

array([[ 1, 2, 3, 7, 8, 9, 13, 14, 15],
[ 4, 5, 6, 10, 11, 12, 16, 17, 18]])
  

在Tensorflow中

hello = tf.constant(value = [
        [
            [1,2,3,],
            [4,5,6,]
        ],

        [
            [7,8,9],
            [10,11,12]
        ],

        [
            [13,14,15],
            [16,17,18]
        ]

    ] )

tf.concat(hello ,axis=1) gives

array([[[ 1, 2, 3],
[ 4, 5, 6]],

   [[ 7,  8,  9],
    [10, 11, 12]],

   [[13, 14, 15],
    [16, 17, 18]]])

为什么会出现这种差异

1 个答案:

答案 0 :(得分:1)

tf.concat期望张量的列表沿着轴连接。如果只指定一个张量,它将只打印该张量而不执行任何操作。