深度学习的关键数据结构——张量解释

news2024/9/22 17:20:49

参考英文文章:

https://deeplizard.com/learn/video/Csa5R12jYRgicon-default.png?t=O83Ahttps://deeplizard.com/learn/video/Csa5R12jYRg

什么是张量(Tensor)

神经网络中的输入、输出和变换都是用张量表示的,因此,神经网络编程大量使用张量。张量的概念是其他更具体概念的数学归纳。

以下例子中的每一个都是更一般的张量概念的特定实例:

  • 标量
  • 数组
  • 向量
  • 二维数组
  • 矩阵

我们将上面列出的示例分成两组:

  • 数,数组,二维数组

  • 标量、向量、矩阵

第一组三个术语(数、数组、二维数组)是计算机科学中常用的术语,而第二组(标量、向量、矩阵)是数学中常用的术语。

我们经常看到这样的事情,不同的研究领域对同一个概念使用不同的词在深度学习中,我们通常将所有这些都称为张量。

访问元素所需的索引

上面两对元素之间的关系是,两个元素都需要相同数字的索引来引用数据结构中的特定元素。

例如,假设下面这样子的一个数组:

a = [1,2,3,4]

现在,假设我们想访问(引用)这个数据结构中的数字 3 。我们可以使用一个索引来完成,比如:

a[2]# 输出 3

假设我们有这个二维数组:

dd = [[1,2,3],[4,5,6],[7,8,9]]

现在假设我们想要访问数据结构中的数字 3 。在这种情况下,我们需要两个索引去定位这个特定的元素

dd[0][2]# 输出 3

张量是广义的

让我们看看当访问(引用)这些数据结构中的特定元素需要两个以上的索引会发生什么。

当需要两个以上的索引来访问特定元素时,我们停止为结构指定特定名称,并开始使用更通用的语言。

在数学中,我们不再使用标量、向量和矩阵等词,而是开始使用张量(tensor)或nd张量(nd-tensor)。

字母 n 告诉我们访问结构中特定元素所需的索引数

而在计算机科学中,我们不再使用诸如,数字,数组,2维数组之类的词,而开始使用多维数组或n维数组(nd-array)

字母 n 告诉我们访问结构中特定元素所需的索引数

所以张量是多维数组或者简称n维数组。我们之所以说张量是一种统称(generalization),是因为我们对n的所有值都使用张量这个词,就像这样:

  • 标量是0维张量

  • 向量是一维张量

  • 矩阵是二维张量

  • n维数组是n维张量

张量允许我们去掉这些特定的项,只需使用n来标识我们正在处理的维数。

关于张量的维数要注意的一点是,它不同于我们在向量空间中引用向量维数时的意思。张量的维数并不能告诉我们张量中有多少分量(components)。

例如,我们的二维张量dd有九个分量。

dd = [[1,2,3],[4,5,6],[7,8,9]]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2139244.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【资料分析】特殊考点——拉动增长、贡献率、容斥问题

拉动增长和增量贡献率 第X产业增加值 是一个整体名称,例如张狗剩这是一个整体的名字 增量贡献率 部分增量/ 整体增量,已知增量贡献率80.6%,对应的部分增量可以求得(现期2632,增长率10.3%,可用假设分配)&a…

【Linux 20】进程控制

文章目录 🌈 一、创建线程⭐ 1. 线程创建函数⭐ 3. 给线程传参⭐ 4. 创建多线程⭐ 5. 获取线程 ID 🌈 二、终止线程⭐1. 使用 return 终止线程⭐ 2. 使用 pthread_exit 函数终止线程⭐ 3. 使用 pthread_cancel 函数终止线程 🌈 三、等待线程⭐…

如何查看串口被哪个程序占用?截止目前最方便的方法

痛点:串口因为某种原因被占用,如何找到罪魁祸首? 做开发的小伙伴们,经常会遇到这样的问题:串口因为某种原因被占用,导致无法通讯,但是又找不到被哪个程序占用。只有重启电脑,才能解…

Python计算机视觉 第10章-OpenCV

Python计算机视觉 第10章-OpenCV OpenCV 是一个C 库,用于(实时)处理计算视觉问题。实时处理计算机视觉的 C 库,最初由英特尔公司开发,现由 Willow Garage 维护。OpenCV 是在 BSD 许可下发布的开源库,这意味…

[产品管理-20]:NPDP新产品开发 - 18 - 产品设计与开发工具 - 初始设计与规格定义

目录 前言: 一、什么是初始设计规格 二、初始设计与规格定义的工具 2.1 用户 - 功能性设计 1、定义与目的 2、主要内容 3、重要性 4、注意事项 2.2 用户 - 可用性设计 1、定义与目的 2、主要原则 3、实施步骤 4、重要性 2.3 生产 - 可生产性设计 1、…

Linux FTP服务问题排查

一、问题描述 最近linux虚拟机重启之后发现,FTP服务总是不正常,工具无法连接。 二、排查及处理过程 1、检查ftp服务是否正常安装:yes rpm -qa|grep vsftpd 2、检查ftp服务是否正常启动: systemctl status vsftpd 启动vsftpd sys…

Lnux-gcc/g++使用

目录 1.gcc/g介绍 1.什么是 gcc / g 2.gcc/g指令格式 2. gcc / g 实现程序翻译的过程 1.预处理(进行宏替换) 2.编译(生成汇编) 3.汇编(生成机器可识别代码) 4.连接(生成可执行文件或库文件) 1.gcc/g介绍 1.什么…

浪潮信息首推3秒智能控温!告别服务器开机噪音

在当前的数据中心运维实践中,运维人员在部署服务器时常被“飞机起飞”般的开机噪音所困扰。服务器刚刚接通电源,其内部元件尚处于预热待命状态,而风扇却已全速运转,这不仅加剧了噪音污染,还拖慢了启动速度,…

电子电气架构 --- 基于ISO 26262的车载电子软件开发流程

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不…

kettle从入门到精通 第八十五课 ETL之kettle kettle中javascript步骤调用外部javascript/js文件

场景:交流学习群里面有小伙伴咨询kettle中的javascript代码步骤如何调用外部js文件中的函数,觉得有点意思的,于是就抽时间整理了一下。 1、外部js文件为test.js,代码如下: function test(param){return "接收到了…

2024CSP-J初赛全真模拟卷选择题篇(原创,难度偏简单)

注意,本卷由再临TSC原创,禁止转载! 本卷难度偏简单,若想要通过初赛本卷应拿80分左右 查看答案的方法: if(设备"PC") { 把光标移到答案上面,选中答案,就会显示(); } …

计算机的错误计算(九十四)

摘要 探讨 的计算精度问题。 正如其它许多函数或运算一样,以2为底的对数运算,也包含在 IEEE 754-2019 的列表中[1]。 例1. 已知 计算 不妨用Go代码计算: package mainimport ("fmt""math" )func main() {x : 0.…

Java网络编程 TCP通信(Socket 与 ServerSocket)

1.TCP通信原理 TCP通信涉及两个端点:客户端和服务器。服务器端使用 ServerSocket 监听特定端口,等待客户端的连接请求。客户端使用 Socket 连接到服务器的IP地址和端口。一旦连接建立,双方就可以通过输入输出流进行数据交换. ServerSocket是…

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍: 真正的好东西,搞网站优化seo从业必备。可以快速提升网站权重,带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…

福建科立讯通信 指挥调度管理平台 SQL注入漏洞

北峰通信-福建科立讯通信 指挥调度管理平台 SQL注入漏洞 厂商域名和信息收集 域名: 工具sqlmap python sqlmap.py -u "http://ip:端口/api/client/down_file.php?uuid1" --batch 数据包 GET /api/client/down_file.php?uuid1%27%20AND%20(SELECT%20…

MYSQL基础-多表操作-事务-索引

1. 多表设计 概述 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: …

云计算服务的底层,虚拟化技术的实现原理

虚拟化技术: 一、 从cpu说起, intel和amd等cpu制造商 为了提高其cpu对 虚拟化程序的运算速度, 给cpu硬件里面 增加了指令集 VMLAUNCH, VMRESUME, VMEXIT, VMXOFF 这些指令集称为硬件辅助虚拟化技术的指令集。 ---------------------…

探索Python的Excel世界:openpyxl的魔法之旅

文章目录 探索Python的Excel世界:openpyxl的魔法之旅背景:为什么选择openpyxl?什么是openpyxl?如何安装openpyxl?简单的库函数使用方法场景应用:openpyxl在实际工作中的应用常见bug及解决方案总结 探索Pyth…

倒序循环(一)

题目描述 输入一个正整数n,输出从 n~ 1 递减的序列。 输入格式 一行一个整数 n 输出格式 n 行,每行一个符合题目要求的整数 样例数据 样例输入#1 5样例输出#1 5 4 3 2 1样例输入#2 6样例输出#2 6 5 4 3 2 1数据范围 对于100%的数据&#xff…

(c++)用取模符%、除运算判断是否是某个数的倍数,判断个位十位是否有某个数

结果易懂&#xff0c;但凡和7有关&#xff0c;都输出相应的关系。关系分为三种&#xff0c;7的倍数&#xff0c;十位是7&#xff0c;个位是7 #include<iostream>using namespace std;int main() {for (int num 1; num < 100; num){if (num % 7 0)//是7的倍数{cout …