tf.raw_ops.BatchMatMul
Перемножает срезы двух тензоров пакетами.
tf.raw_ops.BatchMatMul(
x, y, adj_x=False, adj_y=False, grad_x=False, grad_y=False, name=None
)
Перемножает все срезы Tensor x и y (каждый срез можно рассматривать как элемент пакета) и помещает отдельные результаты в один выходной тензор того же размера пакета. Перед умножением каждый отдельный срез можно по желанию эрмитово сопрячь (эрмитово сопряжение матрицы означает транспонирование и комплексное сопряжение), установив флаг adj_x или adj_y в значение True; по умолчанию эти флаги имеют значение False.
Входные тензоры x и y имеют размерность 2 или выше и форму [..., r_x, c_x] и [..., r_y, c_y].
Выходной тензор имеет размерность 2 или выше и форму [..., r_o, c_o], где:
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[..., :, :]) |
| Аргументы | |
|---|---|
x | Tensor. Должен иметь один из следующих типов: bfloat16, half, float32, float64, int32, int64, complex64, complex128. Размерность 2 или выше, форма [..., r_x, c_x]. |
y | Tensor. Должен иметь тот же тип, что и x. Размерность 2 или выше, форма [..., r_y, c_y]. |
adj_x | Необязательный bool. По умолчанию — False. Если True, эрмитово сопрягает срезы x. По умолчанию — False. |
adj_y | Необязательный bool. По умолчанию — False. Если True, эрмитово сопрягает срезы y. По умолчанию — False. |
grad_x | Необязательный bool. По умолчанию — False. |
grad_y | Необязательный bool. По умолчанию — False. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Tensor. Имеет тот же тип, что и x. |
© 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/api_docs/python/tf/raw_ops/BatchMatMul