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.]]]

 

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