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*n和a*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)
相关文章:
Tensorflow的数学基础
Tensorflow的数学基础 在构建一个基本的TensorFlow程序之前,关键是要掌握TensorFlow所需的数学思想。任何机器学习算法的核心都被认为是数学。某种机器学习算法的策略或解决方案是借助于关键的数学原理建立的。让我们深入了解一下TensorFlow的数学基础。 Scalar 标…...
IT培训就是“包就业”吗?内行人这么看
大部分人毕业后选择参加职业技能培训,都是为了学完之后能找到好工作,而“就业服务”也成为各家培训机构对外宣传的重点内容。那么,所谓的“就业服务”就是“包就业”和“包底薪”吗?学完就一定能拿到offer吗?今天&…...
【算法】【数组与矩阵模块】顺时针旋转打印矩阵
目录前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本思考感悟写在最后前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识! 问题介绍 …...
Java中的锁概述
java中的锁java添加锁的两种方式:synchronized:关键字 修饰代码块,方法 自动获取锁、自动释放锁Reentrantlock:类 只能修饰代码块 手动加锁、释放锁java中锁的名词一些锁的名词指的是锁的特性,设计,状态&am…...
微电影行业痛点解决方案
在当下新媒体时代,微电影作为“微文化”的载体,具有“微”的特点,经过短短数年的快速发展,并获得了受众广泛的关注和喜爱,对人们的休闲娱乐方式也产生较大的影响。但在迅猛发展的同时也存在一些行业痛点,诸…...
使用Spring框架的好处是什么
使用Spring框架的好处是什么? 1、轻量:Spring 是轻量的,基本的版本大约2MB。 2、控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 3、面向切面的编程(AOP…...
【表格单元格可编辑】vue-elementul简单实现table表格点击单元格可编辑,点击单元格变成弹框修改数据
前言 这是继我另一个帖子就是单元格点击变成输入框后添加的功能 因为考虑到有些时候修改单元格的信息可能点击后要修改很多,那一个输入框不好用 所以这时候就需要一个弹框可以把所有表单都显示出来修改 所以这里就专门又写了一个demo,用于处理这种情况 …...
vue3.0 响应式数据
目录1.什么是响应式2. 选项式 API 的响应式数据3.组合式 API 的响应式数据3.1 reactive() 函数3.2 toref() 函数3.3 toRefs() 函数3.4ref() 函数总结1.什么是响应式 这个术语在今天的各种编程讨论中经常出现,但人们说它的时候究竟是想表达什么意思呢?本质…...
uni-app ①
文章目录一、uni-app简介学习 uniapp 本质uniapp 优势uni-app 和 vue 的关系uni-app 和小程序有什么关系uniapp 与 web 代码编写区别课程内容学习重点知识点一、uni-app 简介 uni-app 是一个使用 Vue.js 进行 开发所有前端应用的框架。开发者编写一套代码,即可发布…...
20个 Git 命令玩转版本控制
想要在团队中处理代码时有效协作并跟踪更改,版本控制发挥着至关重要的作用。Git 是一个版本控制系统,可以帮助开发人员跟踪修订、识别文件版本,并在必要的时候恢复旧版本。Git 对于有一定编程经验的用户来说虽然不算太难,但是想要…...
SAP NetWeaver版本和SAP Kernel版本的确定
SAP NetWeaver(SAP NW)描述了用于“业务启用”的所有软件和服务。SAP业务套件(如ERP中央组件(ECC)或供应商关系管理(SRM))包含该特定业务解决方案的软件组件。 以下是SAP NetWeaver…...
面试23K字节测试开发岗被血虐,到底具有怎样的技术才算高级水平?
前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了6年软件测试。。。 下面这条招聘是在腾讯招聘官网截图下来的,首先我们对高级水平下一个定义吧,那它应该是对标这个职级该有的能力 什么样的工程师才能算高级?至少…...
智云通CRM:买对了吗——大客户采购的方案实施
一旦采购合同签署后,供应商就要履行合同,按时交付产品进场使用,或实施服务方案。不过,无论对供应商还是客户来说,双方的合作并没有就此结束。 在这个阶段,客户会评估此次合作的供应商做事是否靠谱&#x…...
前后端开发过程中的跨域问题总结
1.何为跨域问题 出于浏览器的同源策略限制。同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能不能使用。可以说web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。…...
爬虫:栖落的电影网站,利用requests和re模块
这是栖落的电影网站地址:https://xxx.xxx 进入网页,显示: 爬取目标:电影的名称、观影人数和评分。 易知本网站的url url "https://xxx.xxx" 本网站会识别出headers中的python请求而拒绝访问,所以需要更改…...
使用burpsuite抓包 + sql工具注入 dvwa靶场
使用burpsuite抓包 sql工具注入 dvwa靶场 记录一下自己重新开始学习web安全之路②。 一、准备工作 1.工具准备 sqlmap burpsuite 2.浏览器准备 火狐浏览器 设置代理。 首先,先设置一下火狐浏览器的代理 http代理地址为127.0.0.0.1 ,端口为8080 …...
树与图中的dfs和bfs—— AcWing 846. 树的重心 AcWing 847. 图中点的层次
一、AcWing 846. 树的重心1.1题目1.2思路分析题意:什么是树的重心?树的重心是指,删除某个结点后剩下的最大连通子树的结点数目最小,如下图是根据样列生成的树,若删除结点1,则剩下三个子树最大的是中间那颗结…...
从零开始学数据分析之数据分析概述
当今世界对信息技术的依赖程度在不断加深,每天都会有大量的数据产生,我们经常会感到数据越来越多,但是要从中发现有价值的信息却越来越难。 这里所说的信息,可以理解为对数据集处理之后的结果,是从数据集中提炼出的可…...
十五载厚积薄发,电信级分布式数据库是这样炼成
所在论坛:数据库技术创新&云原生论坛 分享时段:2.18 10:00-10:30 分享主题:大规模并行处理:AntDB分布式演进之路 分享嘉宾:沈夺,亚信科技AntDB数据库内核开发工程师 由中国开源软件推进联盟Postgre…...
Centos调整分区存储大小
将/home下900G转移到/目录下 1、查看分区大小:df -hl 2、备份home文件:tar cvf /run/home.tar /home 3、终止home文件进程(切换到非home路径下执行这个命令):fuser -km /home 3.1、如果没有fuser,在线安装…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
