张量(Tensor)是MindSpore网络运算中的基本数据结构,构造方式主要有以下几种:
首先导入基本模块以及接口
import numpy as np
from mindspore import Tensor, context
from mindspore import dtype as mstype
context.set_context(mode=context.GRAPH_MODE, device_target="CPU")
1、根据数据直接生成
x = Tensor(0.1)
2、由Numpy数组创建
arr = np.array([1, 0, 1, 0])
x_np = Tensor(arr)
3、使用init初始化器构造张量
from mindspore import Tensor
from mindspore import dtype as mstype
from mindspore.common.initializer import One, Normal
tensor1 = Tensor(shape=(2, 2), dtype=mstype.float32, init=One())
tensor2 = Tensor(shape=(2, 2), dtype=mstype.float32, init=Normal())
print(tensor1)
print(tensor2)
4、继承另一个张量的属性,形成新的张量
from mindspore import ops
oneslike = ops.OnesLike()
x = Tensor(np.array([[0, 1], [2, 1]]).astype(np.int32))
output = oneslike(x)
print(output)
[[1 1]
[1 1]]
5、输出指定大小的恒定值张量
import mindspore.ops as ops
shape = (2, 2)
ones = ops.Ones()
output = ones(shape, mstype.float32)
print(output)
[[1. 1.]
[1. 1.]]
zeros = ops.Zeros()
output = zeros(shape, mstype.float32)
print(output)
[[0. 0.]
[0. 0.]]