- 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’视为一个类别