keras: multiple w_constraints



我想要一组权重被约束为具有固定范数(如unitnorm)和非负值(如nonneg)。这对约束在某些光学建模中很有用。

我不是Python专家,所以我试了W_constraint = nonneg(), W_constraint = maxnorm(1)),得到了SyntaxError: keyword argument repeated。有没有更好的办法?提前感谢!

如果您查看keras源代码中的topology.py文件,它有一个属性:

    @property
def constraints(self):
    cons = {}
    for layer in self.layers:
        for key, value in layer.constraints.items():
            if key in cons:
                raise Exception('Received multiple constraints '
                                'for one weight tensor: ' + str(key))
            cons[key] = value
    return cons

当接收到一个权重张量的多个约束时会引发异常。我认为最好的方法是实现自定义约束(比如nonneg_and_maxnorm?),您可以在keras源代码中的constraints.py中看到实现约束的示例。

相关内容

  • 没有找到相关文章

最新更新