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 пиксель 1 (мс) |
|---|---|---|---|---|
| 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 свёртки). Хотя эти модели менее эффективны на процессорах, они намного эффективнее на 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 | Функция активации для использования на верхнем слое или вызываемая функция. Игнорируется, если 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/MobileNetV3Large