Browse Source

Add backprop and add some comments

tags/v1.1.0
l00591931 5 years ago
parent
commit
9c6eb9b9a4
3 changed files with 46 additions and 10 deletions
  1. +8
    -5
      mindspore/nn/layer/basic.py
  2. +30
    -0
      mindspore/ops/_grad/grad_array_ops.py
  3. +8
    -5
      mindspore/ops/operations/array_ops.py

+ 8
- 5
mindspore/nn/layer/basic.py View File

@@ -599,7 +599,7 @@ class Interpolate(Cell):


Inputs: Inputs:
- **x** (Tensor) - Tensor to be resized. Input tensor must be a 4-D tensor with shape: - **x** (Tensor) - Tensor to be resized. Input tensor must be a 4-D tensor with shape:
math:'(batch, channels, height, width)', with data type of float32 or float64.
math:'(batch, channels, height, width)', with data type of float32 or float64.


Outputs: Outputs:
Resized tensor. Resized tensor.
@@ -609,7 +609,7 @@ class Interpolate(Cell):
scale_factor * width)' in float32 scale_factor * width)' in float32


Supported Platforms: Supported Platforms:
``Ascend``
``Ascend`` ``GPU`` ``CPU``


Examples: Examples:
>>> from mindspore.ops import operations as P >>> from mindspore.ops import operations as P
@@ -703,7 +703,7 @@ class Tril(Cell):
Tensor, has the same type as input `x`. Tensor, has the same type as input `x`.


Supported Platforms: Supported Platforms:
``Ascend``
``Ascend`` ``GPU`` ``CPU``


Examples: Examples:
>>> x = Tensor(np.array([[1, 2], [3, 4]])) >>> x = Tensor(np.array([[1, 2], [3, 4]]))
@@ -742,10 +742,13 @@ class Triu(Cell):
Outputs: Outputs:
Tensor, has the same type as input `x`. Tensor, has the same type as input `x`.


Supported Platforms:
``Ascend`` ``GPU`` ``CPU``

Examples: Examples:
>>> x = Tensor(np.array([[1, 2], [3, 4]])) >>> x = Tensor(np.array([[1, 2], [3, 4]]))
>>> tril = nn.Tril()
>>> result = tril(x)
>>> triu = nn.Triu()
>>> result = triu(x)
>>> print(result) >>> print(result)
[[1 2] [[1 2]
[0 4]] [0 4]]


+ 30
- 0
mindspore/ops/_grad/grad_array_ops.py View File

@@ -51,6 +51,36 @@ def get_bprop_fill(self):
return bprop return bprop




@bprop_getters.register(P.Ones)
def get_bprop_ones(self):
"""Generate bprop for Ones"""

def bprop(dims, dtype, out, dout):
return zeros_like(dims)

return bprop


@bprop_getters.register(P.Zeros)
def get_bprop_zeros(self):
"""Generate bprop for Zeros"""

def bprop(dims, dtype, out, dout):
return zeros_like(dims)

return bprop


@bprop_getters.register(P.SequenceMask)
def get_bprop_sequence_mask(self):
"""Generate bprop for SequenceMask"""

def bprop(lengths, dtype, max_length, out, dout):
return zeros_like(dims), zeros_like(max_length)

return bprop


@bprop_getters.register(P.DType) @bprop_getters.register(P.DType)
def get_bprop_dtype(self): def get_bprop_dtype(self):
"""Generate bprop for DType""" """Generate bprop for DType"""


+ 8
- 5
mindspore/ops/operations/array_ops.py View File

@@ -1129,14 +1129,14 @@ class Ones(PrimitiveWithInfer):


Inputs: Inputs:
- **shape** (Union[tuple[int], int]) - The specified shape of output tensor. - **shape** (Union[tuple[int], int]) - The specified shape of output tensor.
Only constant positive int is allowed.
Only constant positive int is allowed.
- **type** (mindspore.dtype) - The specified type of output tensor. Only constant value is allowed. - **type** (mindspore.dtype) - The specified type of output tensor. Only constant value is allowed.


Outputs: Outputs:
Tensor, has the same type and shape as input shape value. Tensor, has the same type and shape as input shape value.


Supported Platforms: Supported Platforms:
``Ascend`` ``GPU``
``Ascend`` ``GPU`` ``CPU``


Examples: Examples:
>>> from mindspore.ops import operations as ops >>> from mindspore.ops import operations as ops
@@ -1182,14 +1182,14 @@ class Zeros(PrimitiveWithInfer):


Inputs: Inputs:
- **shape** (Union[tuple[int], int]) - The specified shape of output tensor. - **shape** (Union[tuple[int], int]) - The specified shape of output tensor.
Only constant positive int is allowed.
Only constant positive int is allowed.
- **type** (mindspore.dtype) - The specified type of output tensor. Only constant value is allowed. - **type** (mindspore.dtype) - The specified type of output tensor. Only constant value is allowed.


Outputs: Outputs:
Tensor, has the same type and shape as input shape value. Tensor, has the same type and shape as input shape value.


Supported Platforms: Supported Platforms:
``Ascend`` ``GPU``
``Ascend`` ``GPU`` ``CPU``


Examples: Examples:
>>> from mindspore.ops import operations as ops >>> from mindspore.ops import operations as ops
@@ -1239,7 +1239,7 @@ class SequenceMask(PrimitiveWithInfer):


Inputs: Inputs:
- **lengths** (Union[tuple[int], list[int]]) - Defines the first N elements that are retained. - **lengths** (Union[tuple[int], list[int]]) - Defines the first N elements that are retained.
Only constant value is allowed.
Only constant value is allowed.
- **dtype** (mindspore.dtype) - The specified type of output tensor. Only constant value is allowed. - **dtype** (mindspore.dtype) - The specified type of output tensor. Only constant value is allowed.


Outputs: Outputs:
@@ -1248,6 +1248,9 @@ class SequenceMask(PrimitiveWithInfer):
If max_length is not set and the biggest value in lengths is x. Then, the shape of If max_length is not set and the biggest value in lengths is x. Then, the shape of
the output is (lengths.shape, x). the output is (lengths.shape, x).


Supported Platforms:
``Ascend`` ``GPU`` ``CPU``

Examples: Examples:
>>> from mindspore.ops import operations as P >>> from mindspore.ops import operations as P
>>> sequence_mask = P.SequenceMask() >>> sequence_mask = P.SequenceMask()


Loading…
Cancel
Save