Во-первых, продублируйте ваш вектор N
раз, используя RepeatVector
:
v = RepeatVector(N)(v) # shape == (N, K)
Затем, когда их формы теперь совпадают ((N, M)
и (N, K)
), вы можете объединить их:
x = Concatenate()([x, v]) # shape == (N, M+K)
Если N
неизвестно, вы можете сделать это вручную, используя соответствующие бэкэнд-функции в лямбда-слое:
from keras import backend as K
def func(xv):
x, v = xv
n = x.shape[1]
v = K.repeat(v, n)
return K.concatenate((x, v))
x = Lambda(lambda xv: func(xv))([x, v])