【写在前面】:大家好,我是【猪葛】
一个很看好AI前景的算法工程师
在接下来的系列博客里面我会持续更新Keras的教学内容(文末有大纲)
内容主要分为两部分
第一部分是Keras的基础知识
第二部分是使用Keras搭建FasterCNN、YOLO目标检测神经网络
代码复用性高
如果你也感兴趣,欢迎关注我的动态一起学习
学习建议:
有些内容一开始学起来有点蒙,对照着“学习目标”去学习即可
一步一个脚印,走到山顶再往下看一切风景就全明了了
本篇博客学习目标:1、理解网络层约束项的用法
文章目录
一、约束项的概念和使用
概念:
constraints 模块的函数允许在优化期间对网络参数设置约束(例如非负性)。
使用:
约束是以层为对象进行的。具体的 API 因层而异,但 Dense,Conv1D,Conv2D 和 Conv3D 这些层具有统一的 API。
约束层开放 2 个关键字参数:
kernel_constraint用于主权重矩阵。只能接受函数实例对象bias_constraint用于偏置。只能接受函数实例对象
用法举例:
from tensorflow.keras.constraints import max_norm
model.add(Dense(64, kernel_constraint=max_norm(2.)))
或者:
import tensorflow.keras as keras
model.add(Dense(64, kernel_constraint=keras.constraints.MaxNorm(max_value=2, axis=0))
二、可用的约束
keras中自带的可用的约束有(一般我们对网络层的约束选项都选择None就可以了):
keras.constraints.MaxNorm(max_value=2, axis=0) # MaxNorm 最大范数权值约束。映射到每个隐藏单元的权值的约束,使其

最低0.47元/天 解锁文章
507

被折叠的 条评论
为什么被折叠?



