李沐动手学深度学习-数据操作+数据预处理
N维数组样例
- n维数组是机器学习和神经网络的主要数据结构
batch
:批量,在深度学习中我们读取图片通常不是一张一张读而是一个批量一个批量读
创建数组
- 形状:例如3*4的矩阵
- 每个元素的数据类型:例如32位浮点数
- 每个元素的值,例如全是0,或者随机数
访问元素
-
一个元素:
-
一行元素:
-
一列元素:
-
子区域:
后面没有的话表示到结尾
-
子区域:
数据操作
首先我们应该导入torch
,而不是pytorch
import torch
张量
:表示一个数值组成的数组,这个数组可能有多个维度
x = torch.arange(12)
我们可以通过张量的shape
属性来访问张量的形状和张量中元素的总个数
x.shape
我们可以通过numel
方法来访问张量中元素的个数
x.numel()
要改一个张量的形状而不改变元素数量和元素值,可以使用reshape
函数
X = x.reshape(3,4)
使用全零、全1、其他常量或者从特定分布中随机采样的数字
torch.zeros((2, 3, 4))
torch.ones((2, 3, 4))
通过提供包含数值的python列表来为所需张量中的每个元素赋予确定的值
.tensor([[2,1,4,3], [1, 2, 3, 4], [4, 3, 2, 1]])
常见的标准算术运算符都可以被升级为按元素运算
x = torch.tensor([1.0, 2, 4, 8])
y = torch.tensor([2, 2, 2, 2])
x + y, x - y, x * y, x / y, x ** y
将多个张量连接在一起
X = torch.arange(12, dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2,1,4,3], [1, 2, 3, 4], [4, 3, 2, 1]])
torch.cat((X, Y), dim=0) #dim=0是按第一维合并
torch.cat((X, Y), dim=1) #dim=1是按第二维合并
通过逻辑运算符构建二元张量
X == Y
对张量中的所有元素进行求和会产生一个只有一个元素的张量
X.sum()
广播机制
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
2022-11-04 线性dp数字三角形
2022-11-04 flyod
2022-11-04 二分查找和二分答案
2022-11-04 数字三角形模型及应用
2022-11-04 两道二分