mindspore.mint.nn.functional.linear

View Source On Gitee
mindspore.mint.nn.functional.linear(input, weight, bias=None)

Applies the dense connected operation to the input. The dense function is defined as:

output=inputweightT+bias

Warning

  • This is an experimental API that is subject to change or deletion.

  • On the Ascend platform, if bias is not 1D, the input cannot be greater than 6D in PYNATIVE or KBK mode.

Parameters
  • input (Tensor) – Input Tensor of shape (,in_channels), where means any number of additional dimensions.

  • weight (Tensor) – The weight applied to the input. The shape is (out_channels,in_channels) or (in_channels).

  • bias (Tensor, optional) – Additive biases to the output. The shape is (out_channels) or (). Defaults: None, the bias is 0.

Returns

Output whose shape is determined by the shape of the input and the weight.

Raises
  • TypeError – If input is not Tensor.

  • TypeError – If weight is not Tensor.

  • TypeError – If bias is not Tensor.

  • RuntimeError – On the Ascend platform, if bias is not 1D and input is greater than 6D in PYNATIVE or KBK mode.

Supported Platforms:

Ascend

Examples

>>> import numpy as np
>>> import mindspore
>>> from mindspore import Tensor, mint
>>> input = Tensor([[-1., 1., 2.], [-3., -3., 1.]], mindspore.float32)
>>> weight = Tensor([[-2., -2., -2.], [0., -1., 0.]], mindspore.float32)
>>> bias = Tensor([0., 1.], mindspore.float32)
>>> output = mint.nn.functional.linear(input, weight, bias)
>>> print(output)
[[-4.  0.]
 [10.  4.]]