python - 如果我使用像 tf.layers.dense 这样的高级 API 并且没有明确定义我的权重,如何截断我的权重矩阵?
问题描述
我正在使用高级 tensorflow API tf.layers.dense 构建自定义神经网络。在这里,它获取我的输入数据并自动执行操作 (input*weights)+bias,然后对其应用激活函数。不需要明确定义权重。在经过一定数量的时期后,我需要将一些权重固定为零(强制执行 L0 范数)。我怎么做?有这方面的答案,但是当权重像这样明确定义时,它们都可以工作
解决方案
使用tf.layers.Dense
确实由 内部构建的对象tf.layers.dense
并保持相同的接口,
layer = Dense(units)
output = layer.apply(inputs)
权重现在在layer.kernel
类的属性内。
但是,如果您需要做非标准的事情并使用 tensorflow 的低级 API,请避免使用预构建层。
最后,如果您仍想使用图层 API,您可以尝试扩展该类或Layer
为您的特定需求构建一个新的子类。
推荐阅读
- php - Docker swarm 未正确跨其他工作节点复制卷
- javascript - 如何将本地服务器转换为在线服务器 Node.js
- flutter - 使用 dio 上传图片列表
- azure - 尝试在 Logic 应用中创建存储帐户时出现“资源无效”消息
- arrays - C中的二维字符数组
- azure - 获取 Azure 中所有服务主体的证书状态,例如证书是否无效,以及它们最终在 Azure 中连接的内容
- vba - 如何用多行字符串替换?
- java - 使用构造函数初始化最终属性是否正确?
- c++ - 如何在 API 中隐藏迭代器以使用 std::map 包装器中的项目
- excel - 我收到 vba 自动化错误 -2147319767,我该如何解决?