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'
)
Ссылка:
- Поиск MobileNetV3 (ICCV 2019)
Следующая таблица описывает производительность MobileNets:
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 |
Веса всех 6 моделей получены и переведены из точек отсчёта TensorFlow из TensorFlow, найденных здесь.
Необязательно загружает веса, предварительно обученные на ImageNet.
Примечание: каждая Keras Application ожидает определенного вида предварительной обработки входных данных. Для MobileNetV3 вызовите tf.keras.applications.mobilenet_v3.preprocess_input для ваших входных данных перед передачей их в модель.
| Аргументы | |
|---|---|
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, но они не используют никаких расширенных блоков (блоков сжатия и возбуждения, 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 означает, что будет применено глобальное среднее объединение к выходу последнего сверточного блока, и, таким образом, выход модели будет 2D тензором.max означает, что будет применено глобальное максимальное объединение. |
classes | Целое число, необязательное количество классов для классификации изображений, которое необходимо указать только в том случае, если include_top равно True и если не указан аргумент weights. |
dropout_rate | доля входных единиц, которые необходимо отбросить на последнем слое. |
classifier_activation | A str или вызываемая функция. Функция активации, которая должна использоваться на "верхнем" слое. Игнорируется, если include_top=True. Установите classifier_activation=None для возвращения логарифмов "верхнего" слоя. |
| Возвращаемые значения | |
|---|---|
Экземпляр keras.Model. |
| Исключения | |
|---|---|
ValueError | в случае некорректного аргумента для weights, или некорректной формы входных данных или некорректного alpha, строк при weights='imagenet' |
ValueError | если classifier_activation не равно softmax или None при использовании предварительно обученного верхнего слоя. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/applications/MobileNetV3Small