如何在Keras中裁剪张量,每个张量具有不同的裁剪值?

时间:2019-12-19 22:10:14

标签: python keras clipping

我有一个4d张量W(2d卷积的内核)和一个1d数组/张量H,为每个过滤器指定了裁剪值。这意味着我有

len(H) == W.shape[-1]

我希望将W[:,:,:,i]的所有元素都放在-H[i]H[i]之间。

我看过keras.backend.clip,它说您可以将最小值和最大值指定为张量,但不能指定轴。如果有人可以向我展示如何实现这一目标,我将不胜感激。预先感谢。

1 个答案:

答案 0 :(得分:1)

将此内容放入某些图层中

H = K.reshape(H, (1, 1, 1, -1))
topClip = K.minimum(H, W)
clipped = K.maximum(-H, topClip)

如迭戈·帕拉西奥斯(Diego Palacios)所评论,尽管clip接受张量,但它仅接受具有1个元素的张量。