我的输入大小为(k, n, n)
,代表k
n
- by - n
矩阵。我有另一组常数矩阵(k, n, n)
。我打算将这两组k
矩阵的相应矩阵相乘,这将导致(k, n, n)
输出。在keras中使用Lambda
来实现这一点时,我遇到了批量大小的问题 - 我需要在批量大小维度上重复常量矩阵batch_size
次,然后我可以使用{{1 }}。但是,batch_dot
是张量,batch_size
无法接受。我该怎么做才能实现这一层?
答案 0 :(得分:0)
解决方案是使用tile
。设y
为常数矩阵张量。然后,
from keras import backend as K
def my_lambda_function(x):
K.batch(x, K.tile(K.expand_dims(y, axis=0), (K.shape(x)[0], 1, 1, 1)), axes=(3, 2))