tensor的与维度有关的计算

1.  tf.slice()

https://www.jianshu.com/p/71e6ef6c121b

2.tf.stack()/tf.unstack()

https://www.jianshu.com/p/25706575f8d4

3.tf.concat()

t1 = [[[1, 2], [2, 3]], [[4, 4], [5, 3]]]
t2 = [[[7, 4], [8, 4]], [[2, 10], [15, 11]]]
t3=tf.concat([t1, t2], axis=1)#axis是连接的维度
print(sess.run(tf.shape(t3)))
print(sess.run(t3))


---------------output
[2 4 2]#两个二维数组,每个二维数组中4个一维数组,每个一维数组中2个元素.


[[[ 1  2]
  [ 2  3]
  [ 7  4]
  [ 8  4]]

 [[ 4  4]
  [ 5  3]
  [ 2 10]
  [15 11]]]

4.tf.reduce_max()

c = np.array([   [[3.,4], [1.,7]],    [[2.,3.],[5.,9.]],       [[0,3,],[4,5]]  ])


#三个二维数组的对应元素分别比较,4个较大的元素保留,最后三维数组包含一个二维数组
print(sess.run(tf.reduce_max(c, 0,keepdims=True)))#keepdims=True,会保持原维度
print(sess.run(tf.reduce_max(c,0,keepdims=False)))

#三个二维数组内部的两个一维数组对应元素比较,每个二维数组保留一个放有两个较大元素的一维数组
print(sess.run(tf.reduce_max(c,1,keepdims=True)))

#每个一维数组内部两个元素比较,保留较大者
print(sess.run(tf.reduce_max(c,2,keepdims=True)))

---------------------------output
[[[3. 4.]
  [5. 9.]]]
-------------

[[3. 4.]
 [5. 9.]]#keepdims=False

--------------
[[[3. 7.]]

 [[5. 9.]]

 [[4. 5.]]]

--------------
[[[4.]
  [7.]]

 [[3.]
  [9.]]

 [[3.]
  [5.]]]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章