当前位置:  开发笔记 > 编程语言 > 正文

TensorFlow-tf.keras.layers.Layer与tf.keras.layers..Model之间的差异

如何解决《TensorFlow-tf.keras.layers.Layer与tf.keras.layers..Model之间的差异》经验,为你挑选了1个好方法。

读通过实现定制层文件用tf.keras,它们指定了两个选项来继承,tf.keras.Layertf.keras.Model

创建自定义图层的背景下,我想问自己这两者之间有什么区别?从技术上来说有什么不同?

例如,如果我要实现变压器编码器,哪个更合适?(假设变压器在我的完整模型中只是一个“层”)



1> enumaris..:

在文档中:

Model类与Layer具有相同的API,但有以下区别:-它公开了内置的训练,评估和预测循环(model.fit(),model.evaluate(),model.predict())。-通过model.layers属性公开其内层的列表。-它公开了保存和序列化API。

实际上,“ Layer”类对应于我们在文献中称为“层”(例如在“卷积层”或“循环层”中)或“块”(例如在“ ResNet块”或“ Inception”中)的类块”)。

同时,“模型”类别对应于文献中称为“模型”(例如在“深度学习模型”中)或“网络”(例如在“深度神经网络”中)的类。

因此,如果您希望能够在这些块上调用.fit().evaluate().predict(),或者希望能够分别保存和加载这些块,或者应该使用Model类。Layer类更精简,因此您不会使用不必要的功能来夸大图层……但是我想这通常不会是一个大问题。

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有