《智能前端技术与实践》——第 2 章 前端开发基础 ——2.6 深度学习中的 JavaScript——2.6.1 JavaScript数据类型

简介: 《智能前端技术与实践》——第 2 章 前端开发基础 ——2.6 深度学习中的 JavaScript——2.6.1 JavaScript数据类型

2.6 深度学习中的 JavaScript


本节将介绍深度学习领域所涉及的前端知识,包括深度学习中的 JavaScript 数据类型和 JavaScript 异步编程。


2.6.1 JavaScript 数据类型


深度学习中基本的数据结构是张量,高效的数据结构对任何一个深度学习项目都非常重要。 在 C/C++中,我们可以通过数组来高效地存储一些集合数据并实现快速访问;在 Python 中, 我们可以通过 NumPy 中的 NDArray 对象来实现此功能。NDArray 对象是一系列同类型数据的 集合,用于存放同类型元素的多维数组。


深度学习中支持的 JavaScript 数据类型是 TypedArray,它是一种介于原始数组与 NDArray 之间的数据结构。在现代浏览器中有 11 种类型的 TypedArray,如表 2-8 所示。


image.png

image.png


接下来,介绍 ArrayBuffer 及访问 ArrayBuffer 的两种方法——TypedArray 和 DataView。


1.ArrayBuffer


ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区,它是一个字节数 组。由于 ArrayBuffer 仅仅是内存上的二进制缓冲区,因此它并不提供任何操作数据(读取数 据、写入数据)的方法,即我们并不能直接操作 ArrayBuffer 的内容,而要通过 TypedArray 或 DataView 对象来操作。它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写 缓冲区中的内容,如代码清单 2-22 所示。


代码清单 2-22


constbuffer=newArrayBuffer(4)
console.log(buffer.byteLength) //4

2.TypedArray


TypedArray(类型化数组)对象描述了一个底层的二进制数据缓冲区的类数组视图。 TypedArray 定义了如何访问底层的 ArrayBuffer,实际上用于存储数据的数据结构是 ArrayBuffer, 没有名为 TypedArray 的全局属性,也没有名为 TypedArray 的构造函数。示例代码如代码 清单 2-23 所示。


代码清单 2-23


consttypedArray1=newInt8Array(8);
typedArray1[0] =128;
consttypedArray2=newInt8Array(typedArray1);
typedArray2[1] =20;
console.log(typedArray1);
// 期望输出: Int8Array [-128, 0, 0, 0, 0, 0, 0, 0]console.log(typedArray2);
// 期望输出: Int8Array [-128, 20, 0, 0, 0, 0, 0, 0]

由于 Int8Array 中单个元素值的范围是−128~127,因此当指定 typedArray1 数组的第一个元素 为 128 时,该值超出范围,于是会从另一边界重新开始循环,即值为−128。


3.DataView


DataView 是一个可以从二进制 ArrayBuffer 对象中读写多种数值类型的底层接口,在使用 它时,无须考虑不同平台的字节序问题,如代码清单 2-24 所示。


代码清单 2-24

varbuffer=newArrayBuffer(4)
newDataView(buffer).setInt16(0,42,true)
console.log(newUint8Array(buffer))

我们首先在代码清单 2-24 中创建了 4 字节大小的 ArrayBuffer,然后将已经创建的 ArrayBuffer 作为数据源并创建 DataView 对象,并通过 setInt16()方法创建起始位置为 0、值为 42 的 16 位 整数。我们还指定 setInt16()方法的参数 littleEndian 为 true,即采用小端字节序(低位字节放在 内存的低地址端,高位字节放在内存的高地址端)。该参数的默认值为 false,即默认采用大端 字节序。上述代码的运行结果如下。


Uint8Array [42, 0, 0, 0]
相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
阿里云实时数仓实战 - 用户行为数仓搭建
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求:熟练掌握 SQL 语法熟悉 Linux 命令,对 Hadoop 大数据体系有一定的了解   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
7月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
481 70
|
7月前
|
JavaScript 前端开发 API
|
7月前
|
人工智能 IDE JavaScript
JetBrains WebStorm 2025.1 发布 - 最智能的 JavaScript IDE
JetBrains WebStorm 2025.1 (macOS, Linux, Windows) - 最智能的 JavaScript IDE
255 6
JetBrains WebStorm 2025.1 发布 - 最智能的 JavaScript IDE
|
6月前
|
机器学习/深度学习 传感器 算法
基于多模态感知与深度学习的智能决策体系
本系统采用“端-边-云”协同架构,涵盖感知层、计算层和决策层。感知层包括视觉感知单元(800万像素摄像头、UWB定位)和环境传感单元(毫米波雷达、TOF传感器)。边缘侧使用NVIDIA Jetson AGX Orin模组处理多路视频流,云端基于微服务架构实现智能调度与预测。核心算法涵盖人员行为分析、环境质量评估及路径优化,采用DeepSORT改进版、HRNet-W48等技术,实现高精度识别与优化。关键技术突破包括跨摄像头协同跟踪、小样本迁移学习及实时推理优化。实测数据显示,在18万㎡商业体中,垃圾溢流检出率达98.7%,日均处理数据量达4.2TB,显著提升效能并降低运营成本。
338 7
|
7月前
|
机器学习/深度学习 人工智能 运维
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
255 8
|
8月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7357 23
|
9月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
491 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
9月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
274 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
10月前
|
机器学习/深度学习 运维 监控
利用深度学习进行系统健康监控:智能运维的新纪元
利用深度学习进行系统健康监控:智能运维的新纪元
345 30
|
10月前
|
机器学习/深度学习 存储 运维
深度学习在数据备份与恢复中的新视角:智能化与效率提升
深度学习在数据备份与恢复中的新视角:智能化与效率提升
369 19

热门文章

最新文章