一般建立模型的方法



目前,我正在为情感计算创建模型,我已经看到在tensorflow中有两种不同的构建模型的方法。

  1. 初始化一个空的Sequential(),然后将Dense图层放入其中。
model = Sequential()
model.add(Activation('relu'))
.
.
.
model.add(Activation('softmax')) 
  1. 获取现有模型的输出,并在之后添加额外的Dense图层
model = VGG16.output
model = Flatten()(model)
.
.
.
model = Activation('softmax')(model)

我想知道第一种方法和第二种方法是否有区别?如果是,哪一个适用于哪些场景?谢谢你的回答。

如果我理解正确,您正在寻找:使用哪种方法以及何时使用的基本原理.

你可以建立一个模型,并从头开始在一些训练数据上训练它。或者,你可以使用之前训练过的模型并对其进行微调,这也被称为迁移学习。你甚至可以使用另一个模型的主干,但是从头开始训练它(这里没有迁移学习)。

您想使用其中的哪一个,这完全取决于您的用例。

  1. 问题中的第一个代码块用于从头开始定义您选择的模型。
    • 如果你需要构建更复杂的模型,你可以使用SequentialFunctionalapi,甚至尝试子类化
  2. 你的问题中的第二个代码块可以用于以下两个中的任何一个:
    1. 为你的特定任务微调预学习网络(你在这里基本上是迁移学习)。
    2. 使用网络的骨干而不加载它的权重并从头开始训练。

查看这个:使用Tensorflow.keras进行项目组织。应该有一个子类tf.keras.Model吗?

相关内容

  • 没有找到相关文章

最新更新