自定义基于深度学习框架的Keras层
发布时间
阅读量:
阅读量
一. 所有keras层的基类:Layer
Keras中所有层的基类定义位于文件keras/engine/topology.py内的Layer类中。
python语言基础
所采用的装饰器包括:
@property使类中的函数能够如同类变量般被操作@interfaces.legacy_xxx_support使函数兼容 keras 1.x 的 API 接口@classmethod定义的类函数属于整个类,其功能与 C++ 或 JAVA 中的静态方法类似。此类方法会接收一个表示类本身的参数 cls,从而可以基于 cls 进行相关处理。当子类继承并调用此类方法时,传入的 cls 参数将指向子类本身,而非父类。该方法既可以通过实例对象访问,也可以通过类名进行调用,同时在内部也可使用 self 进行操作。@staticmethod将外部定义的函数整合至类中,同样支持通过实例或类名访问。其作用与全局函数基本一致。
魔法方法:
__call__赋予类实例类似函数的调用能力,正是 Python 提供这一机制,使得我们能够以如下方式实现层与层之间的连接:
inputs = Input(shape=(784,))
# 前面的Dense(
全部评论 (0)
还没有任何评论哟~
