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


- 创建数组需要
形状:如3*4的矩阵
每个元素的类型:例如32位浮点数
每个元素的值:例如全是0.或者随机数

- 数据操作
首先,导入torch

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

可以通过张量的shape属性来访问张量的形状和张量中元素的总数

如果想要改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数

使用全0、全1、其他常量或者从特定分布中随机采样的数字

二层、三行、四列
通过提供包含数值的Python列表(或嵌套列表)来为所需张量中的每个元素赋予确定值

常见的标准算术运算符(+、-、*、/、**)都可以被升级为按元素运算


可以把多个张量连接在一起

0 表示y方向的拼接,1表示x方向的拼接
通过逻辑运算符构建二元向量

对张量中的所有元素进行求和,会产生一个只有一个元素的张量5

即使形状不同,我们仍然可以通过调用广播机制来执行按元素操作

先进行复制,在相加

元素访问

可以用[-1]选择最后一个元素,可以用[1:3]选择第二个和第三个元素

还可以通过指定索引来将元素写入矩阵

为多个元素赋值相同的值,我们只需要索引所有元素,然后为他们赋值

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

执行原地操作

后续计算中没有重复使用x,我们也可以使用x[:]=x+y或x+=y来减少操作的内存开销

转换为NumPy张量

将大小为1的张量转换为Python标量

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

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

为了处理缺失的数据,典型的方法包括插值和删除

对于inputs中的类别值或者离散值,我们将‘NAN’视为一个类别
