TensorFlow之矩阵其它运算


其它运算,是指在使用TensorFlow训练网络时,经常使用到的运算,包括castabspowsqrtsigmoidargmaxargminreduce_sumreduce_meanequal

  1. tf.cast(x, dtype, name=None)

把矩阵x中的每个元素转换成指定类型dtype

a = tf.constant([[1, 1.4, 1], [2, 2.5, 2]], dtype=tf.float32)
b = tf.cast(a, dtype=tf.uint8)
b =
[[1 1 1]
 [2 2 2]]
  1. tf.abs(x, name=None)

对矩阵x中的每个元素取绝对值

a = tf.constant([[1, -1, 1], [-2, -2, 2]], dtype=tf.float32)
b = tf.abs(a)
b =
[[1. 1. 1.]
 [2. 2. 2.]]
  1. tf.pow(x, y, name=None)

把矩阵x中的每个元素作指数运算,指数为y

a = tf.constant([[1, -1, 1], [-2, -2, 2]], dtype=tf.float32)
b = tf.pow(a,2)
b =
[[1. 1. 1.]
 [4. 4. 4.]]
  1. tf.sqrt(x, name=None)

把矩阵x中的每个元素开根号

a = tf.constant([[1, 1, 1], [4, 4, 4]], dtype=tf.float32)
b = tf.sqrt(a)
b =
[[1. 1. 1.]
 [2. 2. 2.]]
  1. tf.sigmoid(x, name=None)

把矩阵x中的每个元素作sigmoid运算:y = 1 / (1 + exp(-x))

a = tf.constant([[-1, -2, -3], [1, 2, 3]], dtype=tf.float32)
b = tf.sigmoid(a)
b =
[[0.26894143 0.11920292 0.04742587]
 [0.7310586  0.880797   0.95257413]]
  1. tf.argmax(input,
    axis=None,
    name=None,
    dimension=None,
    output_type=dtypes.int64)

矩阵input在纬度axis上取最大元素索引

a = tf.constant([[4, 2, 1], [1, 2, 3]], dtype=tf.float32)
b = tf.argmax(a, axis=1)
b =
[0 2]
  1. tf.argmin(input,
    axis=None,
    name=None,
    dimension=None,
    output_type=dtypes.int64)

矩阵input在纬度axis上取最小元素索引

a = tf.constant([[4, 2, 1], [1, 2, 3]], dtype=tf.float32)
b = tf.argmin(a, axis=1)
b =
[2 0]
  1. tf.reduce_sum(input_tensor,
    axis=None,
    keepdims=None,
    name=None,
    reduction_indices=None,
    keep_dims=None)

矩阵input_tensor减少纬度axis,被减少的元素按纬度求和,若axis没有指定,则对所有纬度元素求和

a = tf.constant([[4, 2, 1], [1, 2, 3]], dtype=tf.float32)
b = tf.reduce_sum(a, axis=1)
b =
[7. 6.]
  1. tf.reduce_mean(input_tensor,
    axis=None,
    keepdims=None,
    name=None,
    reduction_indices=None,
    keep_dims=None)

矩阵input_tensor减少纬度axis,被减少的元素按纬度求平均,若axis没有指定,则对所有纬度元素求平均

a = tf.constant([[4, 2, 1], [1, 2, 3]], dtype=tf.float32)
b = tf.reduce_mean(a, axis=1)
b =
[2.3333333 2.       ]
  1. tf.equal(x, y, name=None)

将矩阵x和矩阵y按元素进行比较,相等则等于True,否则等于False

a = tf.constant([[4, 2, 1], [1, 2, 3]], dtype=tf.float32)
b = tf.constant([[3, 2, 1], [0, 2, 1]], dtype=tf.float32)
c = tf.equal(a, b)
c = 
[[False  True  True]
 [False  True False]]

你可能感兴趣的:(TensorFlow之矩阵其它运算)