04数据操作+数据预处理 问题笔记

 PPT:http://courses.d2l.ai/zh-v2/assets/pdfs/part-0_4.pdf

 课程代码对应Judpyter笔记本中的位置:

数据操作,数据操作实现 d2l-zh/pytorch/chapter_preliminaries/ndarray.ipynb

数据预处理实现 d2l-zh/pytorch/chapter_preliminaries/pandas.ipynb

P1数据操作

N维数组是机器学习和神经网络的主要数据结构

04数据操作+数据预处理 问题笔记_第1张图片

04数据操作+数据预处理 问题笔记_第2张图片

04数据操作+数据预处理 问题笔记_第3张图片

 

P2数据操作实现

张量表示由一个数值组成的数组,这个数组可能有多个维度。

04数据操作+数据预处理 问题笔记_第4张图片

torch.size() 括号中有几个数字就是几维
第一层(最外层)中括号里面包含了两个中括号(以逗号进行分割),这就是(2,3,4)中的2
第二层中括号里面包含了三个中括号(以逗号进行分割),这就是(2,3,4)中的3
第三层中括号里面包含了四个数(以逗号进行分割),这就是(2,3,4)中的4

 torch.exp(x) 对每个元素做指数运算

04数据操作+数据预处理 问题笔记_第5张图片

04数据操作+数据预处理 问题笔记_第6张图片

 广播机制

当两个数组的形状并不相同的时候,我们可以通过扩展数组的方法来实现相加、相减、相乘等操作,这种机制叫做广播(broadcasting)。

 广播的原则:如果两个数组的后缘维度(trailing dimension,即从末尾开始算起的维度)的轴长度相符,或其中的一方的长度为1,则认为它们是广播兼容的。广播会在缺失和(或)长度为1的维度上进行。

  这句话乃是理解广播的核心。广播主要发生在两种情况,一种是两个数组的维数不相等,但是它们的后缘维度的轴长相符,另外一种是有一方的长度为1。

04数据操作+数据预处理 问题笔记_第7张图片

 节省内存

[运行一些操作可能会导致为新结果分配内存]

04数据操作+数据预处理 问题笔记_第8张图片

执行原地操作:

04数据操作+数据预处理 问题笔记_第9张图片04数据操作+数据预处理 问题笔记_第10张图片

如果在后续计算中没有重复使用X,我们也可以使用X[:] = X + YX += Y来减少操作的内存开销。

P3数据预处理 

怎么读取原始数据,使得通过机器学习的方法进行处理

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

2.从创建的csv文件中加载原始数据集

3.为了处理缺失的数据,典型的方法包括插值删除,这里,我们将考虑插值

4.对于inputs中的类别值或离散值,我们将“NaN”视为一个类别

5.现在inputsoutputs中的所有条目都是数值类型,它们可以转换为张量格式

你可能感兴趣的:(深度学习,#视频笔记,机器学习,图像处理,计算机视觉)