tf.raw_ops.BatchMatMulV2
Умножает фрагменты двух тензоров в пакетах.
tf.raw_ops.BatchMatMulV2(
x, y, adj_x=False, adj_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, 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. |
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/versions/r2.9/api_docs/python/tf/raw_ops/BatchMatMulV2