Tensorflow的数学基础
创始人
2024-05-25 20:04:15
0

Tensorflow的数学基础


在构建一个基本的TensorFlow程序之前,关键是要掌握TensorFlow所需的数学思想。任何机器学习算法的核心都被认为是数学。某种机器学习算法的策略或解决方案是借助于关键的数学原理建立的。让我们深入了解一下TensorFlow的数学基础。

Scalar

标量是一个没有方向的物理量,完全由其大小来表征。标量是只有一维的向量。

# importing packages
import tensorflow as tf# creating a scalar
scalar = tf.constant(7)
scalar

输出:


检查尺寸:

scalar.ndim

输出:

0

Vector

矢量是一个有大小和方向的二维对象。我们可以把矢量从几何上解释为一个有方向的线段,箭头显示方向,线的长度等于矢量的大小。下面是一个在TensorFlow中创建矢量的例子。

# importing packages
import tensorflow as tf# create a vector
vector = tf.constant([10, 10])# checking the dimensions of vector
vector.ndim

输出:

1

Matrix

矩阵是一个术语,指的是以行和列组织的多维数组。行和列的长度决定了矩阵的大小。当一个矩阵有 “a “行和 “b “列时,该矩阵被表示为 “a*b “矩阵,这也指定了该矩阵的长度。

# importing packages
import tensorflow as tf# creating a matrix
matrix = tf.constant([[1, 2], [3, 4]])
print(matrix)
print('the number of dimensions of a matrix is :\
'+str(matrix.ndim))

输出:

tf.Tensor(
[[1 2][3 4]], shape=(2, 2), dtype=int32)
the number of dimensions of a matrix is : 2

数学操作

加法

当两个或多个矩阵具有相同的维度时,它们可以被加在一起。术语 “加法 “指的是将每个元素添加到给定的位置或地点的过程。

# importing packages
import tensorflow as tf# creating two tensors
matrix = tf.constant([[1, 2], [3, 4]])
matrix1 = tf.constant([[2, 4], [6, 8]])# addition of two matrices
print(matrix+matrix1)

输出:

tf.Tensor(
[[ 3  6][ 9 12]], shape=(2, 2), dtype=int32)

减法

矩阵的减法与两个矩阵的加法的工作方式相同。如果两个矩阵的尺寸相同,用户可以将它们相减。

# importing packages
import tensorflow as tf# creating two tensors
matrix = tf.constant([[1, 2], [3, 4]])
matrix1 = tf.constant([[2, 4], [6, 8]])# subtraction of two matrices
print(matrix1 - matrix)

输出:

tf.Tensor(
[[1 2][3 4]], shape=(2, 2), dtype=int32)

乘法

维度n必须等于a,两个矩阵m*na*b才可以相乘。m*b是结果矩阵。

# importing packages
import tensorflow as tf# creating two tensors
matrix = tf.constant([[1, 2], [3, 4]])
matrix1 = tf.constant([[2, 4], [6, 8]])# multiplication of two matrices
print(matrix1 * matrix)

输出:

tf.Tensor(
[[ 2  8][18 32]], shape=(2, 2), dtype=int32)

除法

为了执行除法,两个矩阵必须具有相同的维度,就像加法一样。

# importing packages
import tensorflow as tf# creating two tensors
matrix = tf.constant([[1, 2],[3, 4]])
matrix1 = tf.constant([[2, 4],[6, 8]])# division of two matrices
print(matrix1 / matrix)

输出:

tf.Tensor(
[[2. 2.][2. 2.]], shape=(2, 2), dtype=float64)

矩阵的转置

矩阵的转置是通过将其行转换成列或将列转换成行来确定的。所提供的矩阵上标中的字母 “T “表示该矩阵的转置。

矩阵M m_n的转置是MT(转置)n_m,它是通过将列向量转置为行向量而得到的。Tf.transpose()方法用于在TensorFlow中查找矩阵的转置。如果M是一个矩阵,转置用M T表示

# importing packages
import tensorflow as tf# creating a matrix
matrix = tf.constant([[1, 2], [3, 4]])
# transpose of the matrix
print(tf.transpose(matrix))

输出:

tf.Tensor(
[[1 3][2 4]], shape=(2, 2), dtype=int32)

点积

匹配成分的乘积之和是两个向量的点积。在同一轴上的成分,可以表示为:
tf.tensodot()方法用于在TensorFlow中寻找点积。当我们指定轴=1时,矩阵乘法就会发生。

# importing packages
import tensorflow as tf# creating a matrix
matrix = tf.constant([[1, 2], [3, 4]])# dot product of matrices
print('dot product of matrices is : ' +str(tf.tensordot(matrix, matrix, axes=1)))

输出:

dot product of matrices is : tf.Tensor(
[[ 7 10][15 22]], shape=(2, 2), dtype=int32)

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...