tf.keras.applications.MobileNetV3Small
Создает экземпляр архитектуры MobileNetV3Small.
tf.keras.applications.MobileNetV3Small(
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)
В следующей таблице описана производительность MobileNet v3:
MACs — это количество операций умножения и сложения
| Контрольная точка классификации | MACs (млн) | Параметры (млн) | Точность Top1 | Pixel1 CPU (мс) |
|---|---|---|---|---|
| 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 требуются входные данные в виде тензоров с плавающей точкой, содержащих значения пикселей в диапазоне[0-255]. При этом предварительную обработку в составе модели (то есть слойRescaling) можно отключить, задав аргументуinclude_preprocessingзначениеFalse. При отключенной предварительной обработке моделям MobileNetV3 требуются входные данные в виде тензоров с плавающей точкой, содержащих значения пикселей в диапазоне[-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 цветовыми каналами; значения находятся в диапазоне [0, 255], если include_preprocessing равен True, и в диапазоне [-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/MobileNetV3Small