mindspore.ops.Dense

View Source On Gitee
class mindspore.ops.Dense[source]

The dense connected fusion operator.

Applies dense connected operator for the input. The implement of the operation is as:

\[output = x @ w ^ T + b,\]

where \(x\) is the input tensor, \(w\) is a weight matrix with the same data type as the \(x\) , and \(b\) is a bias vector with the same data type as the \(x\) (only if b is not None).

Inputs:
  • x (Tensor) - The shape must meet the following requirement: \(len(x.shape)>0\).

  • w (Tensor) - The shape must meet the following requirements: If \(len(x.shape)>1\), \(len(w.shape)=2\). If \(len(x.shape)=1\), \(len(w.shape)=1\). \(w.shape[-1]=x.shape[-1]\).

  • b (Union[Tensor, None]) - If b is not None, the shape must meet the following requirements: If \(len(x.shape)>1\), \(len(b.shape)=0\) or \(len(b.shape)=1\) . If \(len(b.shape)=1\), \(b.shape[0]=w.shape[0]\). If \(len(x.shape)=1\), \(len(b.shape)=0\).

Outputs:

If \(len(x.shape)>1\), Tensor of shape \((*x.shape[:-1], w.shape[0])\). If \(len(x.shape)=1\), Tensor of shape \(()\).

Supported Platforms:

Ascend GPU CPU

Examples

>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.random.random((4, 5, 6, 7)).astype(np.float32))
>>> weight = Tensor(np.random.random((6, 7)).astype(np.float32))
>>> bias = Tensor(np.random.random((6,)).astype(np.float32))
>>> dense = ops.Dense()
>>> output = dense(x, weight, bias)
>>> print(output.shape)
(4, 5, 6, 6)