动手深度学习 第二章 预备知识

2.1 数据操作

入门

image.png
image.png
要想改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数。可以通过-1来调用此自动计算出维度的功能。 即我们可以用x.reshape(-1,4)或x.reshape(3,-1)来取代x.reshape(3,4)。
image.png

使用全0、全1、其他常量,或者从特定分布中随机采样的数字]来初始化矩
image.png

torch的广播机制(broadcast mechanism)

“广播”这一术语用于描述如何在形状不一的数组上应用算术运算。

在满足特定限制的前提下,较小的数组“广播至”较大的数组,使两者形状互相兼容。广播提供了一个向量化数组操作的机制,这样遍历就发生在C层面,而不是Python层面。广播可以避免不必要的数据复制,通常导向高效的算法实现。不过,也存在不适用广播的情形(可能导致拖慢计算过程的低效内存使用)。

可广播的一对张量需满足以下规则:

  • 每个张量至少有一个维度。
  • 迭代维度尺寸时,从尾部的维度开始,维度尺寸
    或者相等
    或者其中一个张量的维度尺寸为 1
    或者其中一个张量不存在这个维度

例如:

import torch

# 示例1:相同形状的张量总是可广播的,因为总能满足以上规则。
x = torch.empty(3, 6, 4)
y = torch.empty(3, 6, 4)



# 示例2:不可广播( a 不满足第一条规则)。
a = torch.empty((0,)) # 维度为0 输出 :tensor([])
b = torch.empty(2, 2)


# 示例3:a 和 b 可广播:
a = torch.empty(5, 4, 3, 1)
b = torch.empty(   4, 1, 1)
# 倒数第一个维度:两者的尺寸均为1
# 倒数第二个维度:b的尺寸为1
# 倒数第三个维度:两者尺寸相同
# 倒数第四个维度:b该维度不存在

# 示例4:不可广播,因为倒数第三个维度:4 != 3
a = torch.empty(6, 4, 3, 1)
b = torch.empty(   3, 1, 1)


索引和切片

第一个元素的索引是0,最后一个元素索引是-1; [-1]选择最后一个元素,可以用[1:3]选择第二个和第三个元素]:
image.png
image.png
[0:2, : ]访问第1行和第2行,其中“:”代表沿轴1(列)的所有元素。
image.png

节省内存

如果我们用Y = X + Y,我们将取消引用Y指向的张量,而是指向新分配的内存处的张量。
image.png
我们可以使用切片表示法将操作的结果分配给先前分配的数组,例如Y[:] =
image.png
如果在后续计算中没有重复使用X, 我们也可以使用X[:] = X + Y或X += Y来减少操作的内存开销。]

转换为其他Python对象

image.png
要(将大小为1的张量转换为Python标量),我们可以调用item函数或Python的内置函数。
image.png

2.2 数据预处理

**在Python中常用的数据分析工具中,我们通常使用pandas软件包。**pandas可以与张量兼容.

读取数据集

创建一个人工数据集,并存储在CSV(逗号分隔值)文件

image.png
…/data/house_tiny.csv 文件如下:
image.png
从创建的CSV文件中加载原始数据集
image.png

处理缺失值

注意,“NaN”项代表缺失值。 [**为了处理缺失的数据,典型的方法包括_插值法_和_删除法,_**将data分成inputs和outputs
**插值法:**位置索引iloc
删除法:drop
image.png
[对于inputs中的类别值或离散值,我们将“NaN”视为一个类别。] 由于“巷子类型”(“Alley”)列只接受两种类型的类别值“Pave”和“NaN”, pandas可以自动将此列转换为两列“Alley_Pave”和“Alley_nan”。 缺少巷子类型的行会将“Alley_Pave”和“Alley_nan”分别设置为0和1。
image.png

转换为张量格式

image.png
image.png

练习

  1. 删除缺失值最多的列。
  2. 将预处理后的数据集转换为张量格式。

方案一 删除缺失值最多的列

image.png
image.png
image.png

方案二 删除缺失值最多的列

image.png

将预处理后的数据集转换为张量格式

image.png

线性代数

练习

image.png

微积分

练习

image.png

自动微分

练习

image.png

概率

练习

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值