(六)人工智能应用--深度学习原理与实战--理解张量与运算图

news2025/7/19 9:31:00

Tensorflow名称中的Tensor即张量,不仅仅是Tensorflow,几乎所有的深度学习平台都以张量为基本的数据结构。简单来说,张量就是多维数组,本质上是一种数据容器,它可以有任意维度,比如矩阵就是二维张量(二维数组)。

深度学习中使用张量来表示数据,计算图是由张量和张量运算形成的运算结构图,如果把张量作神经网络的原料的话,计算图就相当于神经网络这台机器的齿轮,它用图的形式来表达计算过程-----即数据的计算和流动。Tensorflow名称为张量(Tensor)的流动(flow) 。

主要学习内容:

1)理解和掌握张量的概念、维度(轴 axis)
2)掌握常用数据类型的张量表示,包括:
①向量数据
②时间序列数据
③图像数据
④视频数据
3) 理解和掌握计算图的作用及结构

一、 理解张量的相关概念

在Python中,通常用numpy来存储张量,numpy是个常用的科学计算包,其核结构是Ndarray (即多维数组)。在Tensorflow中的张量Tensor可以和Numpy数组相互转换。

0维张量(标量):

只含有1个数字的张量叫做0维张量,也叫标量。如果把张量比喻成水桶,0维度张量就是只有1滴水的水桶。
请添加图片描述

1维张量

即一维数组,维度个数(轴数)为1。
请添加图片描述

2维张量

即二维数组,维度个数(轴数)为2。

请添加图片描述

3维张量

一个3维张量可以看成是将多个2维张量放入一个1维张量中,形状上相当于一个数字立方体

请添加图片描述

张量的形状改变

使用reshape()方法
reshape前后张量的元素个数(size)相同
reshape的参数中可以只指定部分维度,-1表示该维度由计算得出(size除以其他维度的积)

请添加图片描述

请添加图片描述

3维以上张量

张量可以是任意维度的,除了2维、3维外,常用的还有4维、5
维张量。
(高维相当于低维的堆叠)

请添加图片描述

二、掌握常用数据类型的张量表示

含义

向量数据:2D张量,形状为(samples, features) 。

时间序列数据:3D张量,形状为(sampLes,timesteps, features)。

图像数据:4D张量,形状为(samples,height,width、channels)。

视频数据:5D张量,形状为(samples,frames、height、width、channels)。

注:samples为样本量,features为特征数,timesteps为时序值,channels为图像颜色通道数(如,常见的RGB三个通道),frames为视频的帧数。图像和视频如果为灰度模式,则不需要channels这一维度,会减少一个维度。另外需要注意的是,不同系统中的表示顺序可能会不同,如openCV和TensorfLow中图像张量的表示形式里channels的位置是不同的。

示例

2D张量的例子:
统计1000个人的姓名、年龄和收入3个特征的情况,会形成一个形状(1000,3)的2D张量。也就是一张二维表格,1000行,4列。

3D张量的刚子:
统计1只股票200个交易日内、每个交易日240分钟、每分钟的初始价、最高价、最低价和结束价,会形成一个(200,240,4)的3D张量。如果统计1000只股票,则会形成一个(1000,200,240,4)的4D张量。同理,如果统计5个股票交易所的各1000只股票,则会形成一个(5,1000,200,240,4)的5D张量。即:高维张量是低维张量的堆叠。

如图,一张600 * 600像素的猫的彩色图片(RGB模式),可以用一个形状为:(600,600,3)的3D张量来表示(RGB图片每个像素点有红、黄、蓝3个通道值)。如果有5张猫的图片,那么可以用形状为(5,600,600,3)的4D张量表示。

请添加图片描述

三、理解计算图的作用及结构

计算图是一种表述计算逻辑的图形结构,表现为有向无环图,它定义了数据的流转方式、计算方式、以及各种计算之间的依赖关系。计算图通常由节点和有向边构成:
节点:数据和计算
有向边:数据流、控制流(即依赖关系)

计算图适用于需要大规模计算的环境,配合GPU在并行计算方面的优势可以有效提升计算效率。主流的神经网络框架Tensoflow、Pytorch等都采用计算图结构。

请添加图片描述

了解TensorfLow中的张量和计算图功能

1.TensorfLow中大多数神经网络建模工作现在都可以用更高层的APIKeras方便地实现,但TensorfLow同时也提供了强大的直接操作张量和计算图的功能。

2.TensorfLow提供了张量Tensor的定义、数据类型、类型转换、数值操作、形状变换、算术操作、矩阵运算、索引与切片等各种操作功能,允许开发人员从更底层上构建计算逻辑。

3.TensorfLow2.×版本中已经内置了Keras作为官方推荐的神经网络API,Keras允许模块化地构建神经网络,使用非常方便,受到广泛欢迎。我们后续主要使用Keras API来构建神经网络模型。

四、总结

1.张量(Tensor)是神经网络的基本数据结构,本质上是一种维度任意的多维数据容器。

2.深度学习中使用张量来表示各种数据,如向量数据、时间序列数据、图像数据、视频数据等,需要熟悉它们的形状格式,在神经网络的训练中会经常用到。

3.计算图是张量计算过程的逻辑表示,图运算非常适用于神经网络这种大规模运算场景,配合GPU的并行计算能门能够大幅提高运算效率。

4.TensorfLow提供了在底层直接定义操作张量和计算图的功能,大多数情况下使用Tensorflow推荐的Keras高层API可以模块化地、更高效地构建神经网络模型。

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

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

相关文章

数字图像处理【11】OpenCV-Canny边缘提取到FindContours轮廓发现

本章主要介绍图像处理中一个比较基础的操作:Canny边缘发现、轮廓发现 和 绘制轮廓。概念不难,主要是结合OpenCV 4.5的API相关操作,为往下 "基于距离变换的分水岭图像分割" 做知识储备。 Canny边缘检测 在讲述轮廓之前,…

数字孪生,建设智慧城市的新型“加速器”

城市是什么? 是现代文明与生态的联结,是自然与人友好栖息的空间,是运转复杂庞大的系统。 今天,中国的城市在历经十余年的“智慧城市”建设后已经被赋予了数智融合的全新解读。随着近年来5G、云计算、人工智能爆发式能量增长&#…

常见的bug---4、在DataGrip上跑本地模式报return 2异常

文章目录 问题描述原因分析:解决方案: 问题描述 FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 在DataGrip上设置了Hive的本地模式。虽然可以建表、但是无法对表进行插入数据 原因分析: 在插…

深入理解张量维度的真正含义

在人工智能领域,比如深度学习,机器学习,张量这一概念被频繁使用。虽然网上有很多关于张量的文章,但基本都是废话太多,而且复制粘贴说不到重点。 今天我就来讲解一下张量维度的真正含义。 首先. 张量并不是一个简单多…

STM32F103驱动VL53L0X激光测距模块

STM32F103驱动VL53L0X激光测距模块 简介引脚定义STM32F103ZET6开发板与VL53L0X模块接线测试代码实验结果 简介 TOF 是飞行时间(Tlme of Flight)技术的缩写,即传感器发出经过调制的近红外光,遇到物体后反射,传感器通过…

bug:file name too long文件名超出系统最大限制

各操作系统支持最长的文件和目录名称长度(Linux、Win、Mac) 今天开发需求的时候发现无法新建文件,提示file name too lang,于是翻阅和查询了一些资料,发现不同操作系统下文件名和目录名最长的长度不同。 操作系统文件名…

游戏如何应对虚拟定位问题

在游戏系统设计中,排行榜这一设计可谓是十分巧妙。它可以充分调动玩家的“胜负欲”,给予玩家前进的目标及动力,满足玩家的心理需求。 排行榜的设计使用范围广,对游戏留存、付费等指标提升效果出众,在不少游戏中都可以…

玩机搞机---某些安卓定制机解除系统安装限制的思路与分析过程

定制机的意义不多做解释,懂的人都明白. 在一些定制机中会限制用户安装app。当你使用第三方工具或者adb指令安卓app是他会提示de xxx.apk. autostarter is not auth,install failed!等等类似的提示,在解决某些定制系统中类似问题的过程中,基本…

Unity知识记录--项目升级URP

URP是指Unity的通用渲染管线,此处主要针对原有项目进行升级使用,但并不是所有的内容都可以直接通过升级完成,直接使用的Unity默认的shader通常可以完成直接升级,自己编写的shader通常需要重做。 首先我们先要安装这个Package&…

汇报方案设计方案规划方案资源下载

标题汇报方案设计方案规划方案资源下载https://wheart.cn/so/home?mdw&tag%E5%AE%89%E5%85%A8文章标签事业单位人事人才信息综合管理系统建设设计报价方案人事系统,人事人才,事业单位,工资系统,职称系统xx纪检委智慧监督平台建设方案汇报.docx建设方案,规划设计,汇报方案营…

程序员如何走向世界!

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

训练速度提升300倍,Niantic最新VPS视觉定位方案亮相

近年来在谷歌、Niantic等推动下,视觉定位对于AR应用的重要性越来越明显,尤其是在室内导航场景,定位精度可超越传统GPS方案。为了进一步提升视觉定位、深度视觉地图构建的准确性,Niantic Labs在CVPR 2023期间公布了ACE方案&#xf…

[MySql]表的增删查改

目录 前言: 1.插入数据 2.查询数据 2.1全列查询 2.2指定查询 2.3别名 2.4去重 2.5排序 2.6条件查询 2.7聚合查询 2.7.1group by语句 2.7.2havin语句 2.8联合查询 2.8.1内连接 2.8.2外连接 2.8.3自连接 2.8.4子查询 3.修改 4.删除 前言: 本次大多数使用…

【计算机视觉】MobileSAM论文解读:比SAM小60倍,比FastSAM快4倍,速度和效果双赢

文章目录 一、导读二、摘要三、Introduction三、Related work3.1 SAM:泛化和通用功能性3.2 ViT:轻巧高效 四、Mobile-Friendly SAM4.1 Background and Project Goal4.1.1 Background on SAM4.1.2 Project goal 4.2 Proposed Method4.2.1 耦合蒸馏4.2.2 从…

这个工具,补齐了 JMeter性能分析最后一公里短板

要说现在企业中主流的性能测试工具是什么? 答案肯定有 JMeter。 但是Jmeter 贵为测试工具界的“大牛”,在性能分析能力方面,还是有些欠缺的。 像Allen巨佬在高级性能实际教学的过程中就会经常遇到,学生截取一个监听器的图&…

使用传统的jdbc方式操作数据库

现在开发中有了mybatis、jdbcTemplate之后,已经很少公司会直接使用jdbc来连接数据库了,但是无论是mybatis还是jdbcTemplate,其底层都是jdbc。 这篇文章就主要介绍一下怎么通过jdbc来连接数据库。 在这之前,创建数据库jdbc&#xf…

JS相关介绍

1.JS引入: 内部:直接在html文件内部使用script标签调用 外部:另外新建JS文件,再在html文件中调用 2.输入输出: 输入:prompt(请输入您的姓名:) 输出:document.write(你们真是天才) 注…

2.9 Bootstrap 辅助类

文章目录 Bootstrap 辅助类文本背景其他更多实例关闭图标插入符快速浮动内容居中清除浮动显示和隐藏内容屏幕阅读器 Bootstrap 辅助类 下面将讨论 Bootstrap 中的一些可能会派上用场的辅助类。 文本 以下不同的类展示了不同的文本颜色。如果文本是个链接鼠标移动到文本上会变…

【自定义类型】(结构体、枚举、联合)

结构体内存对齐: 计算结构体的大小 结构体成员不是按照顺序在内存中连续存放的而是有一定的对齐规则的 结构体内存对齐的规则: 1、结构体的第一个成员永远放在相比于结构体变量起始位置的偏移量为0的位置。 2、从第二个成员开始,往后的每…