我有一个形状为 (None,1024)
的张量 A
,我想重复它 49 次以生成形状为 (None, 7,7,1024)
。每个(,1024)
向量都是张量A
的副本。
我该怎么做?
我试过了
A = K.stack([A,A,A,A,A,A,A])
A = K.stack([A,A,A,A,A,A,A])
但这给了我一个形状为 (7, 7, None, 1024)
最佳答案
首次使用RepeatVector
层重复49次,然后使用Reshape
层以根据需要 reshape 其形状:
r_A = RepeatVector(49)(A)
rsh_A = Reshape((7, 7, -1))(r_A)
或者,您可以基于后端函数定义一个函数并将其包装在 Lambda
层中:
from keras import backend as K
def rsh(x):
y = K.repeat(x, 49)
return K.reshape(y, (-1, 7, 7, K.int_shape(y)[-1]))
rsh_A = Lambda(rsh)(A)
关于python - 如何在keras中将(None,1024)张量堆叠到(None,7,7,1024)张量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53337880/