|
|
|
@ -42,8 +42,8 @@ class Tensor(Tensor_):
|
|
|
|
|
The argument is used to define the data type of the output tensor. If it is None, the data type of the
|
|
|
|
|
output tensor will be as same as the `input_data`. Default: None.
|
|
|
|
|
shape (Union[tuple, list, int]): A list of integers, a tuple of integers or an integer as the shape of
|
|
|
|
|
output. Default: None.
|
|
|
|
|
init (:class:`Initializer`): the information of init data.
|
|
|
|
|
output. If `input_data` is available, `shape` doesn't need to be set. Default: None.
|
|
|
|
|
init (Initializer): the information of init data.
|
|
|
|
|
'init' is used for delayed initialization in parallel mode. Usually, it is not recommended to
|
|
|
|
|
use 'init' interface to initialize parameters in other conditions. If 'init' interface is used
|
|
|
|
|
to initialize parameters, the `init_data` API need to be called to convert `Tensor` to the actual data.
|
|
|
|
@ -52,18 +52,26 @@ class Tensor(Tensor_):
|
|
|
|
|
Tensor, with the same shape as `input_data`.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import numpy as np
|
|
|
|
|
>>> import mindspore as ms
|
|
|
|
|
>>> import mindspore.nn as nn
|
|
|
|
|
>>> from mindspore.common.tensor import Tensor
|
|
|
|
|
>>> from mindspore.common.initializer import One
|
|
|
|
|
>>> # initialize a tensor with input data
|
|
|
|
|
>>> t1 = Tensor(np.zeros([1, 2, 3]), mindspore.float32)
|
|
|
|
|
>>> t1 = Tensor(np.zeros([1, 2, 3]), ms.float32)
|
|
|
|
|
>>> assert isinstance(t1, Tensor)
|
|
|
|
|
>>> assert t1.shape == (1, 2, 3)
|
|
|
|
|
>>> assert t1.dtype == mindspore.float32
|
|
|
|
|
>>> assert t1.dtype == ms.float32
|
|
|
|
|
>>>
|
|
|
|
|
>>> # initialize a tensor with a float scalar
|
|
|
|
|
>>> t2 = Tensor(0.1)
|
|
|
|
|
>>> assert isinstance(t2, Tensor)
|
|
|
|
|
>>> assert t2.dtype == mindspore.float64
|
|
|
|
|
>>> assert t2.dtype == ms.float64
|
|
|
|
|
...
|
|
|
|
|
>>> # initialize a tensor with init
|
|
|
|
|
>>> t3 = Tensor(shape = (1, 3), dtype=ms.float32, init=One())
|
|
|
|
|
>>> assert isinstance(t3, Tensor)
|
|
|
|
|
>>> assert t3.shape == (1, 3)
|
|
|
|
|
>>> assert t3.dtype == ms.float32
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
def __init__(self, input_data=None, dtype=None, shape=None, init=None):
|
|
|
|
@ -71,8 +79,8 @@ class Tensor(Tensor_):
|
|
|
|
|
if isinstance(input_data, np_types):
|
|
|
|
|
input_data = np.array(input_data)
|
|
|
|
|
|
|
|
|
|
if input_data is not None and shape is not None and input_data.shape != shape:
|
|
|
|
|
raise ValueError("input_data.shape and shape should be same.")
|
|
|
|
|
if input_data is not None and shape is not None:
|
|
|
|
|
raise ValueError("If input_data is available, shape doesn't need to be set")
|
|
|
|
|
|
|
|
|
|
if init is not None and (shape is None or dtype is None):
|
|
|
|
|
raise ValueError("init, dtype and shape must have values at the same time.")
|
|
|
|
|