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 | 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 Application ожидает определённого вида предобработки входных данных. Для MobileNetV3 по умолчанию предобработка входных данных включена в модель (как часть слояRescaling), и поэтомуtf.keras.applications.mobilenet_v3.preprocess_inputфактически является функцией пропуска. В этом случае модели MobileNetV3 ожидают, что их входные данные будут плавающими тензорами пикселей со значениями в диапазоне [0-255]. В то же время, предобработка как часть модели (т. е.Rescalingслой) может быть отключена, установивinclude_preprocessingаргумент в значение False. При отключении предобработки модели MobileNetV3 ожидают, что их входные данные будут плавающими тензорами пикселей со значениями в диапазоне [-1, 1].
| Аргументы | |
|---|---|
input_shape | Необязательная кортеж формы, который необходимо указать, если вы хотите использовать модель с разрешением входного изображения, отличным от (224, 224, 3). Он должен иметь ровно 3 канала входных данных (224, 224, 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 convolutions). Хотя эти модели менее эффективны на CPU, они значительно быстрее работают на GPU/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 | str или вызываемая функция. Функция активации для использования в "верхнем" слое. Игнорируется, если include_top=True. Установите classifier_activation=None для возвращения логарифмов "верхнего" слоя. При загрузке предобученных весов, classifier_activation может быть только None или "softmax". |
include_preprocessing | Булево значение, указывает, нужно ли включать слой предобработки (Rescaling) в нижней части сети. По умолчанию True. |
Аргументы вызова:
-
inputs: Плавающее числоnumpy.arrayилиtf.Tensor, 4D с 3 цветовыми каналами, со значениями в диапазоне [0, 255], еслиinclude_preprocessingимеет значение True, и в диапазоне [-1, 1] в противном случае.
| Возвращаемое значение | |
|---|---|
Экземпляр keras.Model. |
© 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/versions/r2.9/api_docs/python/tf/keras/applications/MobileNetV3Small