TensorFlow之矩阵其它运算
2018-10-15 本文已影响5人
逆风g
其它运算,是指在使用TensorFlow训练网络时,经常使用到的运算,包括cast
、abs
、pow
、sqrt
、sigmoid
、argmax
、argmin
、reduce_sum
、reduce_mean
、equal
- 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]]
- 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.]]
- 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.]]
- 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.]]
- 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]]
- 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]
- 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]
- 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.]
- 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. ]
- 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]]