TensorFlow基本操作6-数学运算
重点函数
加: +
减: −
乘: ∗
除: /
整除: //
余除: %
乘方: tf.pow(x, a)
平方: tf.square(x)
开平方根: tf.sqrt(x)
指数: tf.pow(a, x)
or a ** x
自然数 e 指数运算: tf.exp(x)
自然对数 : tf.math.log(x)
矩阵相乘: @
or tf.matmul(a, b)
9 数学运算
操作单的类型:
element-wise: + - * /
matrix-wise: @ matmul
dim-wise: reduce_mean max min sum
9.1 加减乘除
加减乘除是最基本的数学运算,分别通过 tf.add, tf.subtract, tf.multiply, tf.divide 函数实现,TensorFlow 已经重载了+ −∗/运算符,一般推荐直接使用运算符来完成加减乘除运算。
整除和余除也是常见的运算之一,分别通过//和%运算符实现。
加: +
减: −
乘: ∗
除: /
整除: //
余除: %
9.2 乘方
tf.pow(x, a)
or
𝑥 ∗∗ 𝑎
ps:a 可以为 1/n , 相当于开 n 次方。
平方: tf.square(x)
开平方根: tf.sqrt(x)
9.3 指数、对数
指数运算:
tf.pow(a, x)
or
a ** x
特别,对于自然指数,可以通过 tf.exp(x)
实现。
对数运算:
在 TensorFlow 中,自然对数 可以通过 tf.math.log(x)
实现。
如果希望计算其他底数的对数,可以根据对数的换底公式:
\log_ax=\frac{\log_ex}{\log_ea}
间接的通过 tf.math.log(x)
实现。
ps:
对!就这么神奇!
指数是 tf.pow(a, x)
对数是 tf.math.log(x)
一个是直接的运算符,一个是.math
下的。
2.0还是有点没规划好吧
9.4 矩阵相乘
通过 @
运算符可以方便的实现矩阵相乘,还可以通过 tf.matmul(a, b)
实现。
需要注意的是,TensorFlow 中的矩阵相乘可以使用批量方式,也就是张量 a,b 的维度数可以大于 2。当张量 a,b 维度数大于 2时,TensorFlow 会选择 a,b 的最后两个维度进行矩阵相乘,前面所有的维度都视作 Batch 维 度。
根据矩阵相乘的定义,a 和 b 能够矩阵相乘的条件是,a 的倒数第一个维度长度(列)和 b 的倒数第二个维度长度(行)必须相等。比如张量 a shape:[4,3,28,32]可以与张量 b shape:[4,3,32,2]进行矩阵相乘。