赞
踩
张量是一种特殊的数据结构,主要是描述矩阵 行列式这类。张量(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做算术运算,不要转换格式之类的复杂操作。计算过程类似线代里的矩阵运算。
最后还有一个稀疏张量,这个没有理解,暂时先跳过,后面用到再回来理解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。