当前位置: 首页 > news >正文

Tensorflow的数学基础

Tensorflow的数学基础


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

Scalar

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

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

输出:

<tf.Tensor: shape=(), dtype=int32, numpy=7>

检查尺寸:

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)
http://www.lryc.cn/news/5703.html

相关文章:

  • IT培训就是“包就业”吗?内行人这么看
  • 【算法】【数组与矩阵模块】顺时针旋转打印矩阵
  • Java中的锁概述
  • 微电影行业痛点解决方案
  • 使用Spring框架的好处是什么
  • 【表格单元格可编辑】vue-elementul简单实现table表格点击单元格可编辑,点击单元格变成弹框修改数据
  • vue3.0 响应式数据
  • uni-app ①
  • 20个 Git 命令玩转版本控制
  • SAP NetWeaver版本和SAP Kernel版本的确定
  • 面试23K字节测试开发岗被血虐,到底具有怎样的技术才算高级水平?
  • 智云通CRM:买对了吗——大客户采购的方案实施
  • 前后端开发过程中的跨域问题总结
  • 爬虫:栖落的电影网站,利用requests和re模块
  • 使用burpsuite抓包 + sql工具注入 dvwa靶场
  • 树与图中的dfs和bfs—— AcWing 846. 树的重心 AcWing 847. 图中点的层次
  • 从零开始学数据分析之数据分析概述
  • 十五载厚积薄发,电信级分布式数据库是这样炼成
  • Centos调整分区存储大小
  • 华为OD机试真题JAVA实现【单词接龙】真题+解题思路+代码(20222023)
  • Mapbox Style 规范
  • Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析
  • HTML学习
  • Java最新学习路线
  • 腾讯xSRC[linux+docker]搭建教程
  • springcloud - 2021.0.3版本 - (一)服务注册nacos+feign
  • C++教程(初级,有基础)
  • 字符编码及转换
  • redis原理
  • kettle开发-Day37-SQ索引优化