我正在Keras中使用形式为
的张量A =
现在,我想添加,对于每40行"维度
的张量的索引0行B =
简而言之,对于第二个张量,我只需要当前步骤B[:,0,:]。所以,排除第一个维度,这将是第一行
Add()层似乎只适用于大小相等的张量。有什么建议,我如何可以指定一个Lambda函数来完成这项工作?
感谢阅读!
可以试试这样做:
import tensorflow as tf
samples = 1
A = tf.random.normal((samples, 40, 2))
B = tf.random.normal((samples, 2, 2))
B = tf.expand_dims(B[:, 0, :], axis=1) # or just B = B[:, 0, :]
C = A + B
print(C.shape)
# (1, 40, 2)
或有Lambda
层:
import tensorflow as tf
samples = 1
A = tf.random.normal((samples, 40, 2))
B = tf.random.normal((samples, 2, 2))
lambda_layer = tf.keras.layers.Lambda(lambda x: x[0] + x[1][:, 0, :])
print(lambda_layer([A, B]))