机器学习--张量

机器学习--张量

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

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

张量的维度称为轴(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)
相关推荐
银河系搭车客指南14 小时前
AI Agent 的失忆症:我是怎么给它装上"第二个大脑"的
人工智能
张拭心14 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
我的username14 小时前
极致简单的openclaw安装教程
人工智能
小锋java123414 小时前
【技术专题】嵌入模型与Chroma向量数据库 - Chroma 集合操作
人工智能
七月丶14 小时前
别再手动凑 PR 了:这个 AI Skill 会按仓库习惯自动建分支、拆提交、提 PR
人工智能·设计模式·程序员
用户51914958484515 小时前
CVE-2024-10793 WordPress插件权限提升漏洞利用演示
人工智能·aigc
chaors15 小时前
从零学RAG0x01之向量化
人工智能·aigc·ai编程
chaors15 小时前
从零学RAG0x02向量数据库
人工智能·aigc·ai编程
陈少波AI应用笔记15 小时前
硅谷龙虾大战技术拆解:当AI长出爪子
人工智能
冬奇Lab15 小时前
一天一个开源项目(第39篇):PandaWiki - AI 驱动的开源知识库搭建系统
人工智能·开源·资讯