Keras中的指数重量张量

时间:2018-08-26 08:04:03

标签: python tensorflow keras

我正在尝试在Keras中编写自己的图层,在该图层中,我需要将输入张量乘以权重张量,并将可训练值的指数衰减。我正计划将价值创建为权重,然后“以某种方式”扩展它。

在python中,我将这样做:

d = 0.9
window = 6
w = np.array([pow(d, window-j) for j in range(window)])
w = w / w.sum()

输出:

In [63]: w
Out[63]:
array([0.12602255, 0.14002506, 0.1555834 , 0.17287044, 0.19207827,
       0.21342029])

我看到有tf.while_loop可能会有所帮助,但是我如何从Keras调用tensorflow?

1 个答案:

答案 0 :(得分:0)

好吧,我想我明白了,这似乎可以编译。

    # expand the kernel to the size of x
    w = [K.pow(self.kernel, self.kernel_size-j) for j in range(self.kernel_size)]
    w = K.concatenate(w)
    # normalise
    w = w / K.sum(w)
    w = K.expand_dims(w)
    print(K.get_value(w))
    w = K.tile(w, (batch_size, 1, self.rank))