![](/img/trans.png)
[英]tf.keras.models.model vs tf.keras.model
[英]TensorFlow - Difference between tf.keras.layers.Layer vs tf.keras.Model
在文档中:
Model 类与 Layer 具有相同的 API,但有以下区别: - 它公开了内置的训练、评估和预测循环(model.fit()、model.evaluate()、model.predict())。 - 它通过 model.layers 属性公开其内部层的列表。 - 它公开了保存和序列化 API。
实际上,“层”类对应于我们在文献中所指的“层”(如“卷积层”或“循环层”)或“块”(如“ResNet 块”或“初始层”)堵塞”)。
同时,“模型”类对应于文献中所谓的“模型”(如“深度学习模型”)或“网络”(如“深度神经网络”)。
所以,如果你希望能够调用.fit()
.evaluate()
或.predict()
上的那些块,或者您希望能够保存并单独加载这些块或东西,你应该使用Model类。 Layer 类更精简,因此您不会使用不必要的功能使图层膨胀……但我想这通常不会是一个大问题。
如果您正在使用现有的 keras/tf 层构建新的模型架构,则构建自定义模型。
如果您在一个层中实现自己的自定义张量操作,则构建一个自定义层。 如果您在自定义层中使用非张量操作,那么您必须编码该层将如何向前传播和向后传播。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.