Я работаю в Керасе (Tensorflow 2). Я бы хотел умножить каждый элемент тензора на собственный обучаемый вес. Допустим, мой входной тензор 1D, с 10 элементами; поэтому я пытаюсь определить входные данные как входной тензор Keras, а веса - как переменную tf.Variable, и я пытаюсь использовать слой Keras Multiply, таким образом:
import tensorflow as tf
inputs = tf.keras.layers.Input(shape=(10), name='inputs')
weights = tf.Variable(tf.random.normal([10]), name='weights')
outputs = tf.keras.layers.Multiply()([inputs, weights])
Теперь, когда я проверяю размеры, они :
inputs: shape=(None, 10)
weights: shape=(10,)
outputs: shape=(10, 10)
У входного измерения есть размер None для размера пакета, чего я и ожидаю. Однако я ожидал, что выходные данные будут иметь форму = (Нет, 10). Вместо этого первоначальный размер для размера партии, кажется, принял фиксированный размер 10. Как мне исправить это?