在我的keras计算图中,我需要一个全1的矩阵,其中向量的第二维可能会根据其他变量n
而改变。 有没有办法让K.ones
接受变量形状?我目前使用K.ones_like
进行解决方法,因为我碰巧有另一个具有正确形状的变量,但是我很好奇是否有更好的方法。
示例代码(如果没有y
,我将如何获得x
?):
import numpy as np
import keras.backend as K
x = K.variable(np.array([[1, 2, 3],
[4, 5, 6]]))
n = K.variable(3, dtype=np.int32)
# This works for my case, but only because I happen to have x
y = K.ones_like(x)
print(K.eval(y))
# Both of the following fail with "ValueError: setting an array element with a sequence."
y = K.ones(shape=K.stack([K.constant(2, dtype=np.int32), n]))
y = K.ones(shape=(2, n))
print(K.eval(y))