预备知识1-数据操作学习笔记
数据的两种基本操作:(1) 数据获取;(2) 将数据读入计算机后对其进行处理。张量(tensor):N维数组。在MXNet中为ndarray,在PyTorch和TensorFlow中为Tensor,都与numpy中的ndarray相似。但深度学习框架比Numpy的ndarray多一些重要功能:(1) GPU很好地支持加速计算,而NumPy仅支持CPU计算;(2) 张量类支持自动微分。 一、入门torch的基本操作二、运算符对于任意具有相同形状的张量,常见的标准算术运算符(+、 -、 *、 /和**)都可以被升级为按元素运算。多个张量连结(concatenate)张量的逻辑运算元素求和三、广播机制形状不同,通过调用广播机制(broadcasting mechanis m)来执行按元素操作,工作机制如下:1. 通过适当复 制元素来扩展一个或两个数组,以便在转换之后,两个张量具有相同的形状;2. 对生成的数组执行按元素操作。大多数情况下,我们将沿着数组中长度为1的轴进行广播四、索引和切片 五、节省内存 运行一些操作可能会导致为新结果分配内存。例如,如果我们用Y=X+Y,我们将取消引用Y指向的张量,而是指向新分配的内存处的张量。返回值为False,说明以上操作导致Y内存地址进行重新分配。这是不可取的,原因有两个:1. 首先,我们不想总是不必要地分配内存。在机器学习中,可能有数百兆的参数,且在一秒内多次更新所有参数。通常情况下,我们希望原地执行这些更新;2. 若不原地更新,其他引用仍指向旧的内存地址而出现错误。六、转换为其他Python对象torch张量和numpy数组将共享它们的底层内存,就地操作更改一个张量也会同时更改另一个张量。来源:檐苔