Как обрабатывать тензорное умножение с размерностью Нет

Например, у меня есть 2 тензора A и B с размерностью (None, HWC), когда я использую

      tf.matmul(tf.transpose(A),B)

Размер результата будет (HWC, HWC), это правильно, но я хочу сохранить размер None, чтобы он мог быть (None, HWC, HWC). Есть ли способ добиться этого?

1 ответ

Может быть, попробуйте что-то вроде этого:

      import tensorflow as tf

input1 = tf.keras.layers.Input(((32, 32, 3)))
input2 = tf.keras.layers.Input(((32, 32, 3)))
a = tf.keras.layers.Conv2D(64, (1, 1))(input1)
b = tf.keras.layers.Conv2D(64, (1, 1))(input2)
z = tf.matmul(a, b, transpose_a=True)
model = tf.keras.Model([input1, input2], z)
print(model.summary())
      Model: "model_1"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to                     
==================================================================================================
 input_11 (InputLayer)          [(None, 32, 32, 3)]  0           []                               
                                                                                                  
 input_12 (InputLayer)          [(None, 32, 32, 3)]  0           []                               
                                                                                                  
 conv2d_17 (Conv2D)             (None, 32, 32, 64)   256         ['input_11[0][0]']               
                                                                                                  
 conv2d_18 (Conv2D)             (None, 32, 32, 64)   256         ['input_12[0][0]']               
                                                                                                  
 tf.linalg.matmul_4 (TFOpLambda  (None, 32, 64, 64)  0           ['conv2d_17[0][0]',              
 )                                                                'conv2d_18[0][0]']              
                                                                                                  
==================================================================================================
Total params: 512
Trainable params: 512
Non-trainable params: 0
__________________________________________________________________________________________________
None
Другие вопросы по тегам