Modelos-Funcional

Keras-TensorFlow

Nota: Keras es una API de deep-Learning escrita en Python, que se ejecuta sobre la plataforma de Machine-Learning TensorFlow de hecho se ha convertido en la API oficial de TensorFlow.

. La arquitectura central de Keras son capas y modelos, por otra parte tenemos dos formas de generar arquitectura de un modelo, toca el Modo-Funcional.

API o Modo-Funcional: Este Modelo de Keras en Deep-Learning se define una determinada entrada, a partir de la misma, se vaya definiendo la arquitectura. Este Modelo indica cuál es la entrada a cada capa usada. Cuando tengamos definida la arquitectura se crea el objeto; modelo que va pasando las entradas y las salidas de la última capa definida.

API o Modo-Secuencial: Se crea una instancia un objeto del tipo Model y continuación a este Model, se le van añadiendo las capas que conforman la arquitectura una detrás de la otra. Este es el modelo que utilizare.

 

Modelos-Funcional-(API-Keras)

-. En el post anterior Hemos tomado contacto con el modo-Secuencial. Ahora tomamos el Modo-Funcional esta API-Funcional es la forma de crear modelos dinámicos, la API-Funcional maneja modelos con topología no lineal, modelos con capas compartidas y modelos con múltiples entradas o salidas.

-. Esto esta basa en que un modelo-aprendizaje-profundo suele ser un gráfico-acíclico-dirigido (DAG) de capas. La API-Funcional es un conjunto de herramientas para construir gráficos de capas.

Nota: Consideremos un modelo simple de tes capas-dense un nodo de Input y un Output.

Reseteo para evitar problemas:

  • In: import tensorflow as tf
  • In: tf.keras.backend.clear_session()

Nota: Keras administra un estado global, que utiliza para implementar la API de creación de modelos funcionales y para unificar los nombres de capa generados automáticamente. este estado global consumirá una cantidad cada vez mayor de memoria con el tiempo y es posible que desee borrarlo. Las llamadas clear_session() liberan el estado global. Podemos decir que es un Reseteo.

Cargamos las Librería:

  • In: import numpy as np
  • In: import tensorflow as tf
  • In: from tensorflow import keras
  • In: from tensorflow.keras import layers

Creamos nodo de entrada:

In: inputs = keras.Input(shape=(784,))

Input-tipo-imágen:

  • In: img_inputs = keras.Input(shape=(32, 32, 3))

Contiene información sobre la forma:

  • In: inputs.shape
  • Out: TensorShape([None, 784])

TipoDato-Ingresa en el Modelo:

  • In: inputs.dtype
  • Out: tf.float32

Nota: Creamos un nodo-capa-dense, esta acción “llamada de capa” es un enlace de la Entrada-Input a la capa-dense que creamos, una linea directa que apunta de la Entrada a la capa que creamos.

Creamos CapaDense:

  • In: dense = layers.Dense(64, activation=‘relu’)
  • In: x = dense(inputs)

Nota: Agreguemos más capas a nuestro gráfico de capas, repitamos la acción que ejecutamos es como crear una flecha a la capa que creamos.

Agreguemos algunas capas más al gráfico de capas:

  • In: x = layers.Dense(64, activation=«relu»)(x)
  • In: outputs = layers.Dense(10)(x)

Nota: Recapitulamos que se puede crear un Modelo especificando sus entradas y salidas en el gráfico de capas.

Creamos el Modelo:

  • In: model = keras.Model(inputs=inputs, outputs=outputs, name=«funcional_model»)

Visualicemos el resumen del modelo:

  • In: model.summary()

Visualicemos como grafico el modelo:

  • In: keras.utils.plot_model(model, «my_first_model.png»)

Nota: Esta es la recopilación de todos los elementos que hemos ejecutados en el proceso.

  • In: inputs = keras.Input(shape=(784,), name=’img’)
  • In: x = layers.Dense(64, activation=‘relu’)(inputs)
  • In: x = layers.Dense(64, activation=‘relu’)(x)
  • In: outputs = layers.Dense(10, activation=’softmax’)(x)
  • In: model = keras.Model(inputs=inputs, outputs=outputs, name=«funcional_model»)

 

Formas de entrada y salida de cada capa en el gráfico trazado:

  • In: keras.utils.plot_model(model, «my_first_model_with_shape_info.png», show_shapes=True)

 

Recapitulando:

API o Modo-Funcional nos permite definir múltiples modelos de entrada o salida, así como modelos que comparten capas, estos modelos se definen creando instancias de capas y conectándolas directamente entre sí en pares, luego definiendo un modelo que especifica las capas para que actúen como entrada y salida del modelo.

  • Referencias: (Entorno-Moreluz)
  • Referencias: (Keras)