我希望一组权重被约束为具有固定的范数(如unitnorm)和非负值(如nonneg)。这对约束在某些类型的光学建模中很有用。
我不是Python专家,所以我尝试了W_constraint = nonneg(), W_constraint = maxnorm(1))并获得了SyntaxError: keyword argument repeated。有没有更好的方法?提前感谢!
发布于 2016-09-01 05:37:13
如果您查看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中实现约束的例子。
https://stackoverflow.com/questions/39231977
复制相似问题