Stay organized with collections
Save and categorize content based on your preferences.
tensorflow::ops::BatchMatMul
#include <math_ops.h>
Multiplies slices of two tensors in batches.
Summary
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[..., :, :])
Args:
- scope: A Scope object
- x: 2-D or higher with shape
[..., r_x, c_x]
.
- y: 2-D or higher with shape
[..., r_y, c_y]
.
Optional attributes (see Attrs
):
- adj_x: If
True
, adjoint the slices of x
. Defaults to False
.
- adj_y: If
True
, adjoint the slices of y
. Defaults to False
.
Returns:
Output
: 3-D or higher with shape [..., r_o, c_o]
Public static functions
|
AdjX(bool x)
|
|
AdjY(bool x)
|
|
Public attributes
Public functions
node
::tensorflow::Node * node() const
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Public static functions
AdjX
Attrs AdjX(
bool x
)
AdjY
Attrs AdjY(
bool x
)
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[],[],null,["# tensorflow::ops::BatchMatMul Class Reference\n\ntensorflow::ops::BatchMatMul\n============================\n\n`#include \u003cmath_ops.h\u003e`\n\nMultiplies slices of two tensors in batches.\n\nSummary\n-------\n\nMultiplies all slices of [Tensor](/versions/r2.14/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_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`.\n\nThe input tensors `x` and `y` are 2-D or higher with shape `[..., r_x, c_x]` and `[..., r_y, c_y]`.\n\nThe output tensor is 2-D or higher with shape `[..., r_o, c_o]`, where: \n\n```scdoc\nr_o = c_x if adj_x else r_x\nc_o = r_y if adj_y else c_y\n```\n\n\u003cbr /\u003e\n\nIt is computed as: \n\n```scdoc\noutput[..., :, :] = matrix(x[..., :, :]) * matrix(y[..., :, :])\n```\n\n\u003cbr /\u003e\n\nArgs:\n\n- scope: A [Scope](/versions/r2.14/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- x: 2-D or higher with shape `[..., r_x, c_x]`.\n- y: 2-D or higher with shape `[..., r_y, c_y]`.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.14/api_docs/cc/struct/tensorflow/ops/batch-mat-mul/attrs#structtensorflow_1_1ops_1_1_batch_mat_mul_1_1_attrs)):\n\n- adj_x: If `True`, adjoint the slices of `x`. Defaults to `False`.\n- adj_y: If `True`, adjoint the slices of `y`. Defaults to `False`.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.14/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): 3-D or higher with shape `[..., r_o, c_o]`\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [BatchMatMul](#classtensorflow_1_1ops_1_1_batch_mat_mul_1a951cabca8c8dbcf8b746969d80f2b480)`(const ::`[tensorflow::Scope](/versions/r2.14/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.14/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` x, ::`[tensorflow::Input](/versions/r2.14/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` y)` ||\n| [BatchMatMul](#classtensorflow_1_1ops_1_1_batch_mat_mul_1aec4aecf952592bd193eca45a9900ebe1)`(const ::`[tensorflow::Scope](/versions/r2.14/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.14/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` x, ::`[tensorflow::Input](/versions/r2.14/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` y, const `[BatchMatMul::Attrs](/versions/r2.14/api_docs/cc/struct/tensorflow/ops/batch-mat-mul/attrs#structtensorflow_1_1ops_1_1_batch_mat_mul_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_batch_mat_mul_1a255c486fdefe3708a3355e3f85e8daf2) | [Operation](/versions/r2.14/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output](#classtensorflow_1_1ops_1_1_batch_mat_mul_1ad3a290bbf8589298ccf6cd5bf0018a53) | `::`[tensorflow::Output](/versions/r2.14/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|-------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_batch_mat_mul_1af21f279f44b701fb277af586e5f0dd69)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_batch_mat_mul_1aa6685ef6076abe41dc6d4f97156d77cb)`() const ` | |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_batch_mat_mul_1a7d6d385af7d73a390e36ccc7e6989345)`() const ` | |\n\n| ### Public static functions ||\n|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|\n| [AdjX](#classtensorflow_1_1ops_1_1_batch_mat_mul_1a47c8466020881eced6720f2f415053dd)`(bool x)` | [Attrs](/versions/r2.14/api_docs/cc/struct/tensorflow/ops/batch-mat-mul/attrs#structtensorflow_1_1ops_1_1_batch_mat_mul_1_1_attrs) |\n| [AdjY](#classtensorflow_1_1ops_1_1_batch_mat_mul_1a3f939eb8aea098cdf431a3b626274e6b)`(bool x)` | [Attrs](/versions/r2.14/api_docs/cc/struct/tensorflow/ops/batch-mat-mul/attrs#structtensorflow_1_1ops_1_1_batch_mat_mul_1_1_attrs) |\n\n| ### Structs ||\n|--------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::BatchMatMul::Attrs](/versions/r2.14/api_docs/cc/struct/tensorflow/ops/batch-mat-mul/attrs) | Optional attribute setters for [BatchMatMul](/versions/r2.14/api_docs/cc/class/tensorflow/ops/batch-mat-mul#classtensorflow_1_1ops_1_1_batch_mat_mul). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output\n\n```text\n::tensorflow::Output output\n``` \n\nPublic functions\n----------------\n\n### BatchMatMul\n\n```gdscript\n BatchMatMul(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input x,\n ::tensorflow::Input y\n)\n``` \n\n### BatchMatMul\n\n```gdscript\n BatchMatMul(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input x,\n ::tensorflow::Input y,\n const BatchMatMul::Attrs & attrs\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n``` \n\nPublic static functions\n-----------------------\n\n### AdjX\n\n```text\nAttrs AdjX(\n bool x\n)\n``` \n\n### AdjY\n\n```text\nAttrs AdjY(\n bool x\n)\n```"]]