1.数据操作
N维数组是机器学习和神经网络的主要数据结构
要想用jupyter notebook,就要切换到之前已经配置好的环境中
① shape属性、numel()、reshape()
张量(tensor)表示一个数值组成的数组,这个数组可能有多个维度
用shape属性来访问张量的形状,numel()可用来访问张量中元素的个数
改变一个张量的形状而不改变元素的数量和元素值,我们可以用reshape函数
② torch.zeros()、torch.ones()、自己给tensor赋值
生成全0、全1的tensor可用torch.zeros()和torch.ones()方法
也可以自己给tensor赋值
③ +、-、*、/、**运算在tensor中升级为按元素运算,torch.exp()也可用来按元素运算
④ 把多个张量连结在一起
dim=0表示行方向的堆叠, dim=1表示列方向的堆叠
⑤ 通过逻辑运算符构建张量(x,y是上面的)
⑥ 对tensor中的所有元素求和
⑦即使形状不同,我们仍可以通过广播机制(broadcasting mechanism)来执行按元素操作
这里的a,b都会通过赋值自身从而达到3x2的维度
⑧ 读取和修改tensor中的元素
⑨ 运行一些操作可能会导致为新结果分配内存,如果在后续计算中没有重复使用x,我们也可以使用x[:] = x+y或x+=y来减少操作的内存开销
⑩ 将tensor转换为Numpy张量,将大小为1的tensor转换为python标量
2.数据预处理
为了处理缺失的数据,典型的方法包括插值和删除,这里,我们考虑插值
对inputs中的类别值或离散值,我们将"NaN"视为一个类别
现在inputs和outputs中的所有条目都是数值类型,可以转换为张量格式