研究记录—tensorflow2.0内核下的Keras学习

Keras.engine

training.py

Model类被定义在keras.engine.training.py文件中,这个类继承自.network.py文件中的Network类,我们比较熟悉的model.summary(),model.get_layer()是Network类中的成员函数,而model类中本身实现的函数则是fit(),compile()这些成员函数。

base_layer.py

自定义层时,需要继承tf.keras.layers.Layer,这个类在这个文件中被定义。阅读源码可知self.add_weight()本质上是调用了tf.Variable()。

Keras.layers

merge.py

最常用的Concatenate类被定义在这里,concatenate()函数返回的就是这个类的一个实例,其最重要的参数是axis,指明了需要合并的目标轴。

core.py

核心类,比较常用的Dense层,Activation层存储在这里面。
Dense层call()本质上就是tf.bais_add(tf.tensordot(w, inputs)),外加调用了tf.keras.activations.py中的get函数,也就是通过传激活函数的名字来调用相应的函数。当然,这也是Activation类中的call()函数实现。


版权声明:本文为weixin_43864473原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。