Multiplies slices of two tensors in batches.

tf.raw_ops.BatchMatMul( x, y, adj_x=False, adj_y=False, name=None )

Multiplies all slices of `Tensor`

`x`

and `y`

(each slice can be viewed as an element of a batch), and arranges the individual results in a single output tensor of the same batch size. Each of the individual slices can optionally be adjointed (to adjoint a matrix means to transpose and conjugate it) before multiplication by setting the `adj_x`

or `adj_y`

flag to `True`

, which are by default `False`

.

The input tensors `x`

and `y`

are 2-D or higher with shape `[..., r_x, c_x]`

and `[..., r_y, c_y]`

.

The output tensor is 2-D or higher with shape `[..., r_o, c_o]`

, where:

r_o = c_x if adj_x else r_x c_o = r_y if adj_y else c_y

output[..., :, :] = matrix(x[..., :, :]) * matrix(y[..., :, :])

Args | |
---|---|

`x` | A `Tensor` . Must be one of the following types: `bfloat16` , `half` , `float32` , `float64` , `int32` , `int64` , `complex64` , `complex128` . 2-D or higher with shape `[..., r_x, c_x]` . |

`y` | A `Tensor` . Must have the same type as `x` . 2-D or higher with shape `[..., r_y, c_y]` . |

`adj_x` | An optional `bool` . Defaults to `False` . If `True` , adjoint the slices of `x` . Defaults to `False` . |

`adj_y` | An optional `bool` . Defaults to `False` . If `True` , adjoint the slices of `y` . Defaults to `False` . |

`name` | A name for the operation (optional). |

Returns | |
---|---|

A `Tensor` . Has the same type as `x` . |

© 2020 The TensorFlow Authors. All rights reserved.

Licensed under the Creative Commons Attribution License 3.0.

Code samples licensed under the Apache 2.0 License.

https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/raw_ops/BatchMatMul