Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在keras中将重量限制在一定范围内_Python_Keras - Fatal编程技术网

Python 如何在keras中将重量限制在一定范围内

Python 如何在keras中将重量限制在一定范围内,python,keras,Python,Keras,我正在使用keras制作一个简单的3层MLP。我想将学习的MLP的权重限制在一个范围内。例如,模型拟合后,所有权重和偏差都在范围(-1,1)内。 我该怎么做? 谢谢。可以使用约束模块来实现这一点。这适用于权重(kernel\u约束),如下所示: model.add(Dense(500, kernel_constraint=unit_norm())) 可以使用约束模块来实现这一点。这适用于权重(kernel\u约束),如下所示: model.add(Dense(500, kernel_const

我正在使用
keras
制作一个简单的3层
MLP
。我想将学习的
MLP
的权重限制在一个范围内。例如,模型拟合后,所有权重和偏差都在范围(-1,1)内。 我该怎么做?
谢谢。

可以使用
约束
模块来实现这一点。这适用于权重(
kernel\u约束
),如下所示:

model.add(Dense(500, kernel_constraint=unit_norm()))

可以使用
约束
模块来实现这一点。这适用于权重(
kernel\u约束
),如下所示:

model.add(Dense(500, kernel_constraint=unit_norm()))

为此使用
约束

没有标准的约束,所以我们需要创建一个自定义约束。
unit_norm
是关于“张量norm”,而不是关于“单个权重值”

在接受约束的任何层中,都应该有一个
kernel\u约束
和一个
bias\u约束
参数。或者一些非常相似的名字

Dense(units, kernel_constraint=Between(), bias_constraint=Between())
加载模式:
为此使用
约束

没有标准的约束,所以我们需要创建一个自定义约束。
unit_norm
是关于“张量norm”,而不是关于“单个权重值”

在接受约束的任何层中,都应该有一个
kernel\u约束
和一个
bias\u约束
参数。或者一些非常相似的名字

Dense(units, kernel_constraint=Between(), bias_constraint=Between())
加载模式:
这个答案几乎是正确的,但这是关于“张量范数”。它使用了一个带平方根的欧几里德范数:这个答案几乎是正确的,但这是一个“张量范数”。它使用欧几里德范数和平方根:谢谢。这是可行的,但在保存我的模型时有一个问题。保存模型后,我无法加载模型,因为
之间的
未知。另一个问题是我的模型每次都不合适。你有解决办法吗?谢谢。这是可行的,但在保存我的模型时有一个问题。保存模型后,我无法加载模型,因为
之间的
未知。另一个问题是我的模型每次都不合适。你有解决办法吗?