tf.raw_ops.BatchMatMulV2
Умножает срезы двух тензоров в пакетах.
tf.raw_ops.BatchMatMulV2(
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[..., :, :]) |
Примечание: BatchMatMulV2 поддерживает вещание по пакетным измерениям. Подробнее о вещании здесь.
| Аргументы | |
|---|---|
x | A Tensor. Должен быть одним из следующих типов: bfloat16, half, float32, float64, int16, int32, int64, uint8, uint16, uint32, uint64, complex64, complex128. 2-мерный или более высокий с формой [..., r_x, c_x]. |
y | A Tensor. Должен иметь тот же тип, что и x. 2-мерный или более высокий с формой [..., r_y, c_y]. |
adj_x | Необязательный bool. По умолчанию False. Если True, сопрягает срезы x. По умолчанию False. |
adj_y | Необязательный bool. По умолчанию False. Если True, сопрягает срезы y. По умолчанию False. |
grad_x | Необязательное имя операции. По умолчанию False. |
grad_y | Необязательный bool. По умолчанию False. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
A 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/BatchMatMulV2