1. 科学计算
Tensorflow2 重新组织了数学计算模块,其提供了数学计算、数值处理的全维度接口,方便了使用者对数据的处理。
2. tf.math 模块常用函数列表
Tensorflow 提供了丰富的数学计算函数,并将这些函数统一到了 tf.math 模块中,常用的函数类型如下表所示。
关于数学计算所有的API请学者自行查阅文档:https://tensorflow.google.cn/api_docs/python/tf 从左侧导航栏找到tf.math模块,即可浏览查看所有的数据计算api及其使用方法。
3. 基本运算
3.1 加减乘除
加法
tf.math.add(x, y, name=None)
减法
tf.math.subtract(x, y, name=None)
乘法
tf.math.multiply(x, y, name=None)
除法
tf.math.divide(x, y, name=None)
import tensorflow as tf
# 定义张量常量
a = tf.constant([3, 8])
b = tf.constant([2, 5])
# 加法
add = tf.math.add(a, b)
# 减法
sub = tf.math.subtract(a, b)
# 乘法
mul = tf.math.multiply(a, b)
# 除法
div = tf.math.divide(a, b)
print(add)
print('-'*50)
print(sub)
print('-'*50)
print(mul)
print('-'*50)
print(div)
tf.Tensor([ 5 13], shape=(2,), dtype=int32)
--------------------------------------------------
tf.Tensor([1 3], shape=(2,), dtype=int32)
--------------------------------------------------
tf.Tensor([ 6 40], shape=(2,), dtype=int32)
--------------------------------------------------
tf.Tensor([1.5 1.6], shape=(2,), dtype=float64)
3.2 指数、平方、对数
指数运算
tf.math.pow( x, y, name=None )
开方运算
tf.math.sqrt( x, name=None )
对数运算
tf.math.log( x, name=None )
a = tf.constant([[1.,2.],[3.,4.]])
# 指数为2
b = tf.math.pow(a,2)
# 开方
c = tf.math.sqrt(b)
# 自然指数运算
d = tf.math.exp(a)
# 对数运算,以自然常数e为底的对数
e = tf.math.log(a)
# 对各个元素求平方
f = tf.math.square(a)
print(b)
print('-'*50)
print(c)
print('-'*50)
print(d)
print('-'*50)
print(e)
print('-'*50)
print(f)
tf.Tensor(
[[ 1. 4.]
[ 9. 16.]], shape=(2, 2), dtype=float32)
--------------------------------------------------
tf.Tensor(
[[1. 2.]
[3. 4.]], shape=(2, 2), dtype=float32)
--------------------------------------------------
tf.Tensor(
[[ 2.7182817 7.389056 ]
[20.085537 54.59815 ]], shape=(2, 2), dtype=float32)
--------------------------------------------------
tf.Tensor(
[[0. 0.6931472]
[1.0986123 1.3862944]], shape=(2, 2), dtype=float32)
--------------------------------------------------
tf.Tensor(
[[ 1. 4.]
[ 9. 16.]], shape=(2, 2), dtype=float32)
3.3 矩阵相乘
tf.matmul(x, y, name=None)
a = tf.constant([[1,2],[3,4]])
b = tf.constant([[5,6],[7,8]])
result = tf.matmul(a,b)
print(result)
tf.Tensor(
[[19 22]
[43 50]], shape=(2, 2), dtype=int32)