tensorflow / 2.9.1 / raw_ops / batchmatmulv3.html /

tf.raw_ops.BatchMatMulV3

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: BatchMatMulV3 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, uint8, int8, int16, int32, int64, complex64, complex128. 2-D or higher with shape [..., r_x, c_x].
y A Tensor. Must be one of the following types: bfloat16, half, float32, float64, uint8, int8, int16, int32, int64, complex64, complex128. 2-D or higher with shape [..., r_y, c_y].
Tout A tf.DType from: tf.bfloat16, tf.half, tf.float32, tf.float64, tf.int16, tf.int32, tf.int64, tf.complex64, tf.complex128. If not spcified, Tout is the same type to input type.
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 of type Tout.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/raw_ops/BatchMatMulV3