mindspore.numpy.correlate
- mindspore.numpy.correlate(a, v, mode='valid')[源代码]
Cross-correlation of two 1-dimensional sequences.
This function computes the correlation as generally defined in signal processing texts:
\(c_{av}[k] = \sum_{n}{a[n+k] * conj(v[n])}\)
with a and v sequences being zero-padded where necessary and conj being the conjugate.
说明
correlate is currently only used in mindscience scientific computing scenarios and dose not support other usage scenarios.
correlate is not supported on Windows platform yet.
- 参数
mode (str, optional) –
Specifies padding mode. The optional values are
"same"
,"valid"
and"full"
. Default:"valid"
."same"
: it returns output of length \(max(M, N)\). Boundary effects are still visible."valid"
: it returns output of length \(max(M, N) - min(M, N) + 1\). The convolution product is only given for points where the signals overlap completely. Values outside the signal boundary have no effect."full"
: it returns the convolution at each point of overlap, with an output shape of \((N + M - 1,)\).At the end-points of the convolution, the signals do not overlap completely, and boundary effects may be seen.
- 返回
Tensor, Discrete cross-correlation of a and v.
- 异常
TypeError – If a or v is not a tensor.
TypeError – If a and v is of different dtype.
ValueError – If a and v are empty or have wrong dimensions
- Supported Platforms:
Ascend
GPU
CPU
样例
>>> import mindspore.numpy as mnp >>> from mindspore import Tensor >>> output = mnp.correlate(Tensor([1., 2., 3.]), Tensor([0., 1., 0.5])) >>> print(output) [3.5] >>> output = mnp.correlate(Tensor([1., 2., 3.]), Tensor([0., 1., 0.5]), mode="same") >>> print(output) [2. 3.5 3. ] >>> output = mnp.correlate(Tensor([1., 2., 3., 4., 5.]), Tensor([1., 2.]), mode="full") >>> print(output) [ 2. 5. 8. 11. 14. 5.]