import tensorflow as tf
from tensorflow.python.keras.layers import Layer
from layer.interaction import BiInteractionPooling
from tensorflow.python.keras import backend as K
import numpy as np
mat = np.array([[[1, 2, 3, 4]], [[5, 6, 7, 8]], [[10, 11, 12, 13]]]) mat_tensor = tf.convert_to_tensor(mat, tf.float32) print("原始tensor:\n{}".format(mat_tensor)) # 三维tensor,维度从0开始记录,axis是几表示在哪一维内的元素对应位置求和,axis=1维度上每一个元素都为该结构[[5,6,7,8]],求和为不变 reduce = tf.reduce_sum(mat, axis=2, keep_dims=True) print("axis=2 tensor:\n{}".format(reduce)) reduce = tf.reduce_sum(mat, axis=2, keep_dims=False) print("axis=2,keep dim=false tensor:\n{}".format(reduce)) reduce = tf.reduce_sum(mat, axis=1, keep_dims=False) print("axis=1,keep dim tensor:\n{}".format(reduce))
原始tensor:
[[[ 1. 2. 3. 4.]]
[[ 5. 6. 7. 8.]]
[[10. 11. 12. 13.]]]
axis=2 tensor:
[[[10]]
[[26]]
[[46]]]
axis=2,keep dim=false tensor:
[[10]
[26]
[46]]
axis=1,keep dim tensor:
[[ 1 2 3 4]
[ 5 6 7 8]
[10 11 12 13]]