tf.keras.applications.MobileNetV3Large
Создает архитектуру MobileNetV3Large.
tf.keras.applications.MobileNetV3Large(
input_shape=None,
alpha=1.0,
minimalistic=False,
include_top=True,
weights='imagenet',
input_tensor=None,
classes=1000,
pooling=None,
dropout_rate=0.2,
classifier_activation='softmax',
include_preprocessing=True
)
Используется в блокнотах
| Используется в руководстве |
|---|
Справочник:
- Поиск MobileNetV3 (ICCV 2019)
В следующей таблице описана производительность MobileNets v3:
MACs — это количество операций умножения и сложения
| Контрольная точка классификации | MACs (млн) | Параметры (млн) | Точность Top1 | CPU Pixel1 (мс) |
|---|---|---|---|---|
| mobilenet_v3_large_1.0_224 | 217 | 5.4 | 75.6 | 51.2 |
| mobilenet_v3_large_0.75_224 | 155 | 4.0 | 73.3 | 39.8 |
| mobilenet_v3_large_minimalistic_1.0_224 | 209 | 3.9 | 72.3 | 44.1 |
| mobilenet_v3_small_1.0_224 | 66 | 2.9 | 68.1 | 15.8 |
| mobilenet_v3_small_0.75_224 | 44 | 2.4 | 65.4 | 12.8 |
| mobilenet_v3_small_minimalistic_1.0_224 | 65 | 2.0 | 61.9 | 12.2 |
Примеры использования для классификации изображений см. на этой странице.
Для сценариев использования переноса обучения обязательно ознакомьтесь с руководством по переносу обучения и тонкой настройке.
Примечание: для каждого приложения Keras требуется определенный тип предварительной обработки входных данных. По умолчанию в MobileNetV3 предварительная обработка входных данных включена в модель как слойRescaling, поэтомуkeras.applications.mobilenet_v3.preprocess_inputфактически является функцией, передающей входные данные без изменений. В этом случае модели MobileNetV3 ожидают на входе тензоры с пиксельными значениями типа float в диапазоне[0-255]. При этом предварительную обработку в составе модели (то есть слойRescaling) можно отключить, установив аргументinclude_preprocessingв значениеFalse. При отключенной предварительной обработке модели MobileNetV3 ожидают на входе тензоры с пиксельными значениями типа float в диапазоне[-1, 1].
| Аргументы | |
|---|---|
input_shape | Необязательный кортеж формы, который следует указать, если вы хотите использовать модель с разрешением входного изображения, отличным от (224, 224, 3). Он должен содержать ровно 3 входных канала. Этот параметр можно также опустить, если вы хотите определить input_shape по input_tensor. Если указаны и input_tensor, и input_shape, будет использован input_shape, если их значения совпадают; если формы не совпадают, возникнет ошибка. Например, (160, 160, 3) — допустимое значение. |
alpha | Управляет шириной сети. В статье MobileNetV3 этот параметр называется множителем глубины, но здесь сохранено название, используемое для единообразия с MobileNetV1 в Keras.
|
minimalistic | Помимо больших и малых моделей, этот модуль также содержит так называемые минималистичные модели. Их характеристики размеров отдельных слоев такие же, как у MobileNetV3, однако в них не используются продвинутые блоки (модули squeeze-and-excite, hard-swish и свертки 5x5). Хотя эти модели менее эффективны на CPU, они значительно производительнее на GPU/DSP. |
include_top | Логическое значение, определяющее, нужно ли включать полносвязный слой в верхней части сети. По умолчанию — True. |
weights | Строка: None (случайная инициализация), "imagenet" (предварительное обучение на ImageNet) или путь к загружаемому файлу весов. |
input_tensor | Необязательный тензор Keras (то есть выход layers.Input()), используемый в качестве входного изображения для модели. |
pooling | Необязательный строковый параметр, задающий режим пулинга для извлечения признаков, когда include_top равно False. None означает, что выходом модели будет 4D-тензор, полученный на выходе последнего сверточного блока.avg означает, что к выходу последнего сверточного блока будет применен глобальный average pooling, поэтому выходом модели будет 2D-тензор.max означает, что будет применен глобальный max pooling. |
classes | Необязательное целое число — количество классов для классификации изображений. Указывается только если include_top равно True и аргумент weights не задан. |
dropout_rate | Доля входных единиц, отбрасываемых на последнем слое. |
classifier_activation | str или вызываемый объект. Функция активации, используемая на верхнем слое. Игнорируется, если не задано include_top=True. Установите classifier_activation=None, чтобы возвращать логиты верхнего слоя. При загрузке предварительно обученных весов classifier_activation может быть только None или "softmax". |
include_preprocessing | Логическое значение, определяющее, нужно ли включать слой предварительной обработки (Rescaling) в нижней части сети. По умолчанию — True. |
| Аргументы вызова | |
|---|---|
inputs | Число с плавающей точкой numpy.array или тензор, совместимый с бэкендом, 4D, с 3 цветовыми каналами; если include_preprocessing равно True, значения должны находиться в диапазоне [0, 255], в противном случае — в диапазоне [-1, 1]. |
| Возвращает | |
|---|---|
| Экземпляр модели. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/applications/MobileNetV3Large