Spec-Zone.ru › TensorFlow

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.
  • Если alpha < 1.0, количество фильтров в каждом слое пропорционально уменьшается.
  • Если alpha > 1.0, количество фильтров в каждом слое пропорционально увеличивается.
  • Если alpha == 1, в каждом слое используется заданное в статье количество фильтров по умолчанию.
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

    Spec-Zone.ru

    Настройки Оффлайн Что нового Помощь О нас
    Spec-Zone .ru
    спецификации, руководства, описания, API