tf.keras.backend.batch_dot
| Просмотреть исходный код на GitHub |
Батч-умножение.
tf.keras.backend.batch_dot(
x, y, axes=None
)
batch_dot используется для вычисления скалярного произведения x и y, когда x и y являются данными в батче, т.е. в форме (batch_size, :). batch_dot приводит к тензору или переменной с меньшим числом измерений, чем входные. Если количество измерений уменьшается до 1, мы используем expand_dims для того, чтобы убедиться, что ndim не менее 2.
| Аргументы | |
|---|---|
x | Keras тензор или переменная с ndim >= 2. |
y | Keras тензор или переменная с ndim >= 2. |
axes | Кортеж или список целых чисел с целевыми измерениями или одно целое число. Размеры x.shape[axes[0]] и y.shape[axes[1]] должны быть равны. |
| Возвращаемое значение | |
|---|---|
Тензор с формой, равной конкатенации формы x (без измерения, по которому производилось суммирование) и формы y (без размерности батча и размерности, по которой производилось суммирование). Если конечный ранг равен 1, мы преобразуем его в (batch_size, 1). |
Примеры:
x_batch = tf.keras.backend.ones(shape=(32, 20, 1)) y_batch = tf.keras.backend.ones(shape=(32, 30, 20)) xy_batch_dot = tf.keras.backend.batch_dot(x_batch, y_batch, axes=(1, 2)) tf.keras.backend.int_shape(xy_batch_dot) (32, 1, 30)
Вычисление формы:
Пусть форма x равна (100, 20), а форма y равна (100, 30, 20). Если axes равно (1, 2), чтобы найти форму результирующего тензора, переберите каждое измерение в форме x и форме y:
-
x.shape[0]: 100 : добавить в форму результата -
x.shape[1]: 20 : не добавлять в форму результата, измерение 1 изxбыло просуммировано. (dot_axes[0]= 1) -
y.shape[0]: 100 : не добавлять в форму результата, всегда игнорировать первое измерение изy -
y.shape[1]: 30 : добавить в форму результата -
y.shape[2]: 20 : не добавлять в форму результата, измерение 2 изyбыло просуммировано. (dot_axes[1]= 2)output_shape=(100, 30)
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/backend/batch_dot