当前位置:   article > 正文

昇思25天学习打卡营第2天|张量学习

昇思25天学习打卡营第2天|张量学习

定义(小白理解版)

张量是一种特殊的数据结构,主要是描述矩阵 行列式这类。张量(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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这里和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]))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

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]))
  • 1
  • 2
  • 3
  • 4

运算

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

TODO

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/761872
推荐阅读
相关标签
  

闽ICP备14008679号