Функция linalg.matmul
Функция linalg.matmul выполняет матричное умножение
двух тензоров. Первым параметром передается первый тензор,
вторым - второй тензор. Третьим необязательным параметром
можно указать флаг transpose_a для транспонирования
первого тензора, четвертым - transpose_b для
транспонирования второго тензора. Пятым параметром можно
задать тип данных результата.
Синтаксис
tf.linalg.matmul(a, b, [transpose_a], [transpose_b], [output_type])
Пример
Давайте перемножим две матрицы 2 на 3 и 3 на 2:
import tensorflow as tf
a = tf.constant([[1, 2, 3], [4, 5, 6]])
b = tf.constant([[1, 2], [3, 4], [5, 6]])
res = tf.linalg.matmul(a, b)
print(res)
Результат выполнения кода:
tf.Tensor(
[[22 28]
[49 64]], shape=(2, 2), dtype=int32)
Пример
Давайте перемножим две квадратные матрицы:
import tensorflow as tf
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
res = tf.linalg.matmul(a, b)
print(res)
Результат выполнения кода:
tf.Tensor(
[[19 22]
[43 50]], shape=(2, 2), dtype=int32)
Пример
Давайте транспонируем первую матрицу перед умножением:
import tensorflow as tf
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
res = tf.linalg.matmul(a, b, transpose_a=True)
print(res)
Результат выполнения кода:
tf.Tensor(
[[26 30]
[38 44]], shape=(2, 2), dtype=int32)