Tensor 可以理解为可变维数的数组,可以根据用户所需要的维数进行使用。但又不只是数组。它还能够进行一些运算操作。
我们的实现基本上是模拟 Pytorch 中的 Tensor 操作。
实现了 Tensor 的基础的运算:加、减、乘、除和矩阵乘法。其中乘法和除法是指对应位置的乘除。同时实现了数乘运算。同时这些运算都有广播机制。
Tensor 的运算是有 laze evaluation 的,即在需要的时候才进行值的计算。
对 Tensor 本身的操作:索引、切片、转置、改变形状。
为了检测这些功能的正确性,利用 gtest 实现了测试。同时利用我们所写的 Tensor,实现了一个简单的线性回归模型。