tf.raw_ops.BatchMatMulV2

Multiplies slices of two tensors in batches.

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

It is computed as:

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

Note: BatchMatMulV2 supports broadcasting in the batch dimensions. More about broadcasting here.
Args
x A Tensor. Must be one of the following types: bfloat16, half, float32, float64, int16, 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/BatchMatMulV2