Я не могу понять, что include_top = False в
Если заглянуть в код, это простое условие if-else:
if include_top:
# Classification block
x = layers.Flatten(name='flatten')(x)
x = layers.Dense(4096, activation='relu', name='fc1')(x)
x = layers.Dense(4096, activation='relu', name='fc2')(x)
x = layers.Dense(classes, activation='softmax', name='predictions')(x)
else:
if pooling == 'avg':
x = layers.GlobalAveragePooling2D()(x)
elif pooling == 'max':
x = layers.GlobalMaxPooling2D()(x)
Если вы установите include_top=True
, он повторно инициализирует плотный слой с предварительно подготовленным весом, в противном случае он игнорирует его. Если вы установите include_top=False
, вывод предыдущего слоя будет проходить через GlobalAvreagePooling2D()
, который извлекает наиболее важные функции.
Я хотел бы знать, как решить, какую предварительно подготовленную модель использовать для
какой тип задачи классификации изображений?
У каждой модели есть свои плюсы и минусы. Количество параметров, время обучения, время вывода, точность и некоторые другие вещи - это то, что заставило исследователя отдать предпочтение одной модели над другой. Не существует модели, которая выделялась бы в каждой задаче или наборе данных [см. Бесплатный запуск теорема] .