定义(小白理解版)

张量是一种特殊的数据结构,主要是描述矩阵 行列式这类。张量(Tensor)是MindSpore网络运算中的基本数据结构,类似日常的多维数组,不过比基础的数组多了一些描述信息。

学习点

作为一个初学者,暂时不去深入的了解更多张量的细节。主要还是以应用为主去学习。和普通的数组一样,我们要学习它的“增改查”等操作。

张量的创建方式有多种Tensor、float、int、bool、tuple、list和numpy.ndarray类型。基本涵盖了python的常用数值类型。

data = 12
tensor_1 = Tensor(data)
data = [12.3,4,56]
tensor_2 = Tensor(data)
data = (1,2,3,4)
tensor_3 = Tensor(data)
data = np.array([1,2,3])
tensor_4 = Tensor(data)

这里和python的数组切片基本一样,直接看例子

tensor = Tensor(np.array([[0, 1], [2, 3]]).astype(np.float32))

print("First row: {}".format(tensor[0]))
print("value of bottom right corner: {}".format(tensor[1, 1]))
print("Last column: {}".format(tensor[:, -1]))
print("First column: {}".format(tensor[..., 0]))

了解了查以后,改就没啥好说的了,对应赋值即可。这里举个简单例子

tensor = Tensor(np.array([[0, 1], [2, 3]]).astype(np.float32))
print("value of bottom right corner: {}".format(tensor[1, 1]))
tensor[1, 1] = 2.341
print("value of bottom right corner: {}".format(tensor[1, 1]))

运算

mindspore 的tensor计算也非常简单易懂,基本一看就会。直接对可以直接对tensor做算术运算,不要转换格式之类的复杂操作。计算过程类似线代里的矩阵运算。

TODO

最后还有一个稀疏张量,这个没有理解,暂时先跳过,后面用到再回来理解。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部