如果我使用像tf.layers.dense这样的高级API并且没有明确定义我的权重,如何截断我的权重矩阵?

时间:2018-06-08 13:45:11

标签: python tensorflow

我正在使用高级tensorflow API tf.layers.dense构建自定义神经网络。这里它接受我的输入数据并自动执行操作(输入*权重)+偏差,​​然后对其应用激活功能。不需要明确定义权重。在经过一定数量的历元后,我需要将一些权重修正为零(强制执行L0规范)。我怎么做? 这里有答案,但是当明确定义权重时,它们都有效,如this

1 个答案:

答案 0 :(得分:1)

使用tf.layers.Dense对象,该对象确实由tf.layers.dense内部构建,并保持相同的界面,

layer = Dense(units)
output = layer.apply(inputs)

权重现在位于类的layer.kernel属性中。

但是,如果您需要做非标准的事情并使用低级API的张量流,请避免使用预构建的图层。

最后,如果您仍想使用图层API,可以尝试扩展该类或为您的特定需求构建新的Layer子类。