赞
踩
constraints 模块的函数允许在优化期间对网络参数设置约束(例如非负性)。约束是以层为对象进行的。具体的 API 因层而异,但 Dense,Conv1D,Conv2D 和 Conv3D 这些层具有统一的 API。
约束层开放 2 个关键字参数:
from keras.constraints import max_norm
model.add(Dense(64, kernel_constraint=max_norm(2.)))
MaxNorm 最大范数权值约束。
keras.constraints.MaxNorm(max_value=2, axis=0)
映射到每个隐藏单元的权值的约束,使其具有小于或等于期望值的范数。
参数
权重非负的约束。
keras.constraints.NonNeg()
映射到每个隐藏单元的权值的约束,使其具有单位范数。
keras.constraints.UnitNorm(axis=0)
参数
axis: 整数,需要计算权值范数的轴。 例如,在 Dense 层中权值矩阵的尺寸为 (input_dim, output_dim), 设置 axis 为 0 以约束每个长度为 (input_dim,) 的权值向量。 在 Conv2D 层(data_format=“channels_last”)中,权值张量的尺寸为 (rows, cols, input_depth, output_depth),设置 axis 为 [0, 1, 2] 以越是每个尺寸为 (rows, cols, input_depth) 的滤波器张量的权值。
[source]
MinMaxNorm 最小/最大范数权值约束。映射到每个隐藏单元的权值的约束,使其范数在上下界之间。
keras.constraints.MinMaxNorm(min_value=0.0, max_value=1.0, rate=1.0, axis=0)
参数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。