不使用预训练权重使用Keras Applications中的模型

4
Keras应用程序提供了一些最受欢迎的模型结构的实现,这些结构已在一些最流行的数据集上进行了预训练。这些预定义模型对于类似于模型训练的数据集的问题的转移学习非常有用。

但是,如果我有一个非常不同的问题,并希望完全训练新数据集上的模型呢?如果我没有预训练权重,如何使用应用程序中的模型进行从头开始的训练?

1个回答

5
您可以将None分配给权重变量,例如使用Inception V3架构。
keras.applications.inception_v3.InceptionV3(include_top=False, weights='None', input_shape=input_shape = (img_width, img_height, 3))

"include_top=False"允许您使用自定义网络来训练顶层。 "weights='None'"表示我们在没有任何权重的情况下进行训练,如果您想使用imagenet权重进行训练,则将其设置为"weights='imagenet'"。

我使用include_top=False来替换顶层,然后根据我的类别数量设置自己的顶层,并将权重设置为“None”,以便从头开始训练整个模型。 - Oblomov
2
我认为应该是 None 而不是 'None'。 - Sadaf Shafi
应该是 None 而不是 'None'。 - ahmedshahriar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接