Modelo-Preentrenado

Keras-TensorFlow

Nota: (Keras-Applications: son módulo de aplicaciones de el Frameworks de Deep-Learning de API-Keras. Nos proporciona definiciones de Modelos y Pesos preentrenados para varias arquitecturas las mas usados).

 

Aplicaciones-Keras.(Modelo-Preentrenado)

-. Las Aplicaciones-Keras son modelos de Deep-Learning que están disponibles junto con pesos preentrenados. Estos modelos se pueden utilizar para la predicción, la extracción de características y el ajuste fino.

-. Tras la creación de instancias, los modelos se construirán de acuerdo con el formato de datos de imagen establecido en su archivo de configuración de Keras .

Modelos pre-entrenados consta de dos partes:

  • Arquitectura del modelo.
  • Pesos del modelo.

-. Los pesos del modelo son un archivo que tenemos que descargar y extraer la característica de la base de datos de ImageNet.

 

Modelos disponibles

Xception:

Instancia la arquitectura Xception .Xception() :

  • In: tf.keras.applications.Xception(
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

EfficientNet B0 a B7:

Instancia la arquitectura EfficientNetB0 .EfficientNetB0()

  • In: tf.keras.applications.EfficientNetB0(
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

EfficientNetV2 B0 a B3 y S, M, L

Instancia la arquitectura EfficientNetV2B0 .EfficientNetV2B0()

  • In: tf.keras.applications.EfficientNetV2B0(
  • In:    include_top=True,
  • In:   weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In:    include_preprocessing=True,
  • In: )

ConvNeXt Diminuto, Pequeño, Base, Grande, Extragrande

Instancia la arquitectura ConvNeXtTiny “Diminuto” .ConvNeXtTiny()

  • In: tf.keras.applications.ConvNeXtTiny(
  • In:    model_name=«convnext_tiny»,
  • In:    include_top=True,
  • In:    include_preprocessing=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

VGG16 y VGG19

Instancia el modelo VGG16 .VGG16()

  • In: tf.keras.applications.VGG16(
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

ResNet y ResNetV2

Instancia la arquitectura ResNet50 .ResNet50()

  • In: tf.keras.applications.ResNet50(
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In: )

MobileNet, MobileNetV2 y MobileNetV3

Instancia la arquitectura MobileNet .MobileNet()

  • In: tf.keras.applications.MobileNet(
  • In:    input_shape=None,
  • In:    alpha=1.0,
  • In:    depth_multiplier=1,
  • In:    dropout=0.001,
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

DenseNet

Instancia la arquitectura Densenet121 .DenseNet121()

  • In: tf.keras.applications.DenseNet121(
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

NasNetLarge and NasNetMobile

Instancia la arquitectura NASNet .NASNetLarge()

  • In: tf.keras.applications.NASNetLarge(
  • In:    input_shape=None,
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

InceptionV3

Instancia la arquitectura Inception v3 .InceptionV3()

  • In: tf.keras.applications.InceptionV3(
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

InceptionResNetV2

Instancia la arquitectura Inception-ResNet v2 .InceptionResNetV2()

  • In: tf.keras.applications.InceptionResNetV2(
  • In:    include_top=True,
  • In:    weights=«imagenet»,
  • In:    input_tensor=None,
  • In:    input_shape=None,
  • In:    pooling=None,
  • In:    classes=1000,
  • In:    classifier_activation=«softmax»,
  • In: )

 

Discreción general de los Argumentos

  • include_top= si incluir la capa completamente conectada en la parte superior.
  • weights= archivo de pesos que se va a cargar.
  • input_tensor= tensor Keras opcional.
  • input_shape= tupla de forma opcional.
  • pooling= modo de agrupación opcional.
  • classes= número opcional de clases para clasificar las imágenes.
  • classifier_activation= función de activación para usar en la capa «superior».

 

Implementación real de EfficientNet

Creamos una implementación de EfficientNetB0 para clasificar de imágenes de ImageNet:

  • In: from keras.applications import EfficientNetB0
  • In: model = EfficientNetB0(weights=‘imagenet’)

 

Recopilemos:

Keras-Aplicaciones nos facilita definiciones de Modelos y Pesos preentrenados para varias arquitecturas en este post hemos enumerados las mas conocidas.