9.11学习日记

经过前期的知识点学习,今天开始跟着李沐老师的动手学深度课程学习

一、访问元素

一个元素:[1,2] 代表着取第一行第二列
一行:[1:] 代表取第一行的所有元素
一列:[:1] 代表取第一列的所有元素
子区域:[1:3,1:] 代表取第一行和第三行并且第一列的所有元素
子区域:[::3,::2] 从数组的第一行开始,每隔三行选择一行,每隔两列选择一列

二、张量

2.1定义张量

2.1.1torch.arange()

是一个用于创建一维张量的函数,参数说明:

start: 起始值(默认是 0)
end: 结束值(默认是 None,即生成 start 到 end 的值)
step: 步长(默认是 1)

例如x = torch.arange(12)就是生成一个从 0 开始到 11 结束的序列

2.1.2 shape和numel

x.shape == torch.Size([12])用于访问张量的形状
x.numel() == 12返回张量中元素的总数

2.1.3 reshape

X == x.reshape(3,4)将x改变为3行4列的矩阵

2.1.4 zeros、ones等等

torch.zeros((2,3,4))创建了一个三维张量,实际上是两个三行四列且元素均为0的矩阵

2.2运算

2.2.1连接张量

X = torch.arange(12, dtype=torch.float32).reshape((3, 4))
Y = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
Z1 = torch.cat((X, Y), dim=0)
Z2 = torch.cat((X, Y), dim=1)

Z1 = tensor([[ 0., 1., 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 11.],
[ 2., 1., 4., 3.],
[ 1., 2., 3., 4.],
[ 4., 3., 2., 1.]])
Z2 = tensor([[ 0., 1., 2., 3., 2., 1., 4., 3.],
[ 4., 5., 6., 7., 1., 2., 3., 4.],
[ 8., 9., 10., 11., 4., 3., 2., 1.]])

2.2.2求和

sum可以所有张量内容求和为一个标量

2.2.3广播机制

a张量三行一列,b张量一行两列,则a+b为三行两列
在这里插入图片描述

三、数据预处理

1.碰到缺失值可以设为Nan,例如:
inputs, outputs = data.iloc[:, 0:2] # 获取前两列作为 inputs 和 outputs
inputs = inputs.fillna(inputs.mean())
将 inputs中的缺失值替换为每一列的均值,以确保模型处理时没有空值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值