机器学习--张量

机器学习--张量

机器学习的数据结构--张量

张量是机器学习程序中的数字容器,本质上就是各种不同维度的数组,如下图所示。

张量的维度称为轴(axis),轴的个数称为阶(rank)

标量--0D张量

py 复制代码
import numpy as np #导入NumPy
X = np.array(5) # 创建0D张量,也就是标量
print("X的值",X)
print("X的阶",X.ndim) #ndim属性显示张量轴的个数
print("X的数据类型",X.dtype) # dtype属性显示张量数据类型
print("X的形状",X.shape) # shape属性显示张量形状

向量--1D张量

由一组数字组成的数组叫作向量(vector),也就是一阶张量

py 复制代码
X = np.array([5,6,7,8,9]) #创建1D张量,也就是向量
print("X的值",X)
print("X的阶",X.ndim) #ndim属性显示张量轴的个数
print("X的形状",X.shape) # shape属性显示张量形状

(5,)表示一个1D张量,元素数量是5,也就是5维向量。

矩阵--2D张量

矩阵是2D张量,形状为 (样本,特征)。第一个轴是样本轴,第二个轴是特征轴。

序列数据--3D张量

时序数据集的形状为3D张量:(样本,时戳,标签)

图像数据--4D张量

图像数据集其形状为(样本,图像高,图像宽度,颜色深度),如MNIST特征数据集的形状为 (60000,28,28,1)。

比如指定批量大小为64。此时每批的100px×100px的彩色图像张量形状为(64, 100,100,3),如果是灰度图像,则为(64,100,100,1)

视频数据--5D张量

其形状为(样本,帧,高度,宽度,颜色深度)

张量的创建和访问

py 复制代码
array_04=np.arange(1,5,1) # 通过arange函数生成数组
array_05=np.linspace(1,5,5) # 通过linspace函数生成数组
print (array_04)
print (array_05)

arange(a,b,c)函数产生a~b(不包括b),间隔为c;

linspace(a,b, c)函数是把a~b(包括b),平均分成c份。

索引(indexing)和切片(slicing)这两种方式访问张量

py 复制代码
array_06 = np.arange(10)
print (array_06)
index_01 = array_06[3] # 索引-第4个元素
print ('第4个元素', index_01)
index_02 = array_06[-1] # 索引-最后一个元素
print ('第-1个元素', index_02)
slice_01 = array_06[:4] # 从0到4切片
print ('从0到4切片', slice_01)
slice_02 = array_06[0:12:4] # 从0到12切片,步长为2
print ('从0到12切片,步长为4', slice_02)
相关推荐
GuWenyue1 小时前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
GuWenyue1 小时前
90%AI新手不会调参!LangChain双模型流水线实战,一套代码兼顾严谨+创意
人工智能
光锥智能3 小时前
WAIC亮点|兼具泛化能力与作业效率的极智嘉机器人天团
人工智能·机器人
阳光是sunny3 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
甲维斯3 小时前
Kimi K3 重构10000行单文件屎山代码!
人工智能
阳光是sunny3 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
新知图书3 小时前
11.3 详细实现与核心配置(作业批改智能体开发)
人工智能·agent·ai agent·智能体·扣子
深度研习笔记4 小时前
OpenCV工业视觉实战11|多线程解耦+视频流稳流+推理加速,彻底解决卡顿阻塞,实现毫秒级工业实时检测
人工智能·opencv·计算机视觉
delishcomcn4 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹4 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试