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)
В следующей таблице описывается производительность MobileNets v3:
MACs расшифровывается как Multiply Adds
| Точка контроля классификации | MACs(M) | Параметры(M) | Точность 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 Application ожидает определенный вид предварительной обработки ввода. Для 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). Хотя эти модели менее эффективны на процессоре, они значительно эффективнее на графических процессорах/DSP. |
include_top | Логическое значение, указывает, следует ли включать полносвязный слой в верхней части сети. По умолчанию значение равно True. |
weights | Строка, одно из значений None (случайная инициализация), "imagenet" (предварительное обучение на ImageNet) или путь к файлу весов для загрузки. |
input_tensor | Необязательный тензор Keras (например, результат layers.Input()) для использования в качестве входного изображения для модели. |
pooling | Строка, необязательный режим пулинга для извлечения признаков, когда include_top равен False. None означает, что выход модели будет 4D тензором вывода последнего блока свертки.avg означает, что к выходу последнего блока свертки будет применено глобальное усреднение, а выход модели будет 2D тензором.max означает применение глобального максимума пулинга. |
classes | Целое число, необязательное число классов для классификации изображений, которое необходимо указать только в том случае, если include_top равен True и не указан аргумент weights. |
dropout_rate | доля входных единиц для отбрасывания в последнем слое. |
classifier_activation | Функция активации или вызываемый объект. Функция активации, используемая в верхнем слое. Игнорируется, если не include_top=True. Установите classifier_activation=None, чтобы получить логарифмы верхнего слоя. При загрузке предварительно обученных весов classifier_activation может быть только None или "softmax". |
include_preprocessing | Логическое значение, указывает, следует ли включать слой предварительной обработки (Rescaling) в нижней части сети. По умолчанию значение равно True. |
| Аргументы вызова | |
|---|---|
inputs | Плавающее число numpy.array или тензор, созданный с помощью back-end, 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