Que es Modelos-API-Keras

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.

 

Modo-Secuencial

. 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. A continuación expongo un modelo simple para comprender este Modelo.

Lo Primero es importar las librerías:

  • In: from keras.models import Sequential
  • In: from keras.layers import

Generar el ModeloSecuencial:

  • In: model = Sequential()

Definir el Modelo:

  • In: model.add(Input(shape=(3,))) # Entrada-Tensot
  • In: model.add(Dense(units=4)) # Capa-Oculta-1
  • In: model.add(Dense(units=4)) # Capa-Oculta-2
  • In: model.add(Dense(units=1)) # Salida

Nota: Con este ejemplo; importamos las librerías, Generamos el modelos Secuencias. Definimos el mismo; una capa detrás de la otra, agregaremos las capas de deseamos que tenga el Modelo, en esta ocasión costa de cada un Capa-entrada con tres neuronas, dos capas-ocultas con cuatro neuronas cada una y por ultimo una capa de salida con una neurona.

 

Modo-Funcional

API o ModoFuncional: 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.

Lo Primero es importar las librerías:

  • In: from keras.models import Model
  • In: from keras.layers import

Definir el Modelo:

  • In: inputs = Input(shape=(3,)) # Entrada-tensor
  • In: hidden1 = Dense(units=4)(inputs) # Capa-Oculta-1
  • In: hidden2 = Dense(units=4)(hidden1) # Capa-Oculta-2
  • In: outputs = Dense(units=1)(hidden2) # Salida

Definir los puntos inicial y final del modelo:

  • In: model = Model(inputs, outputs)

Nota: Con este ejemplo “Modelo-Funcional” empezamos importado las librerías “models y layers”. Definimos las capas empezamos por la entrada “Input”, las ocultas “hidden” son dos, la de salida “output” y por ultimo definimos la arquitectura del Modelo “Punto-inicial y Punto-final del Modelo”.

 

Profundizar-Modelo-Secuencial

-. La biblioteca Keras-Python consigue que la generación de modelos de Deep-Learning sea rápida y fácil. Con la API-Secuencial & Modo-Secuencial creamos modelos capa por capa para solucionar la mayoría de los problemas que se pueden presentar, en resumen creamos una instancia de la clase Sequential . Pero tiene ciertas limitación, como no permitir crear “Modelos que compartan capas” o que posean “múltiples entradas o salidas”.

Con la API-Secuencial & Modo-Secuencial, Podemos definir una instancia de la clase-Secuencial, de dos formas:

Primera: Las capas se pueden definir y pasar a Sequential como una matriz

  • In: from keras.models import Sequential
  • In: from keras.layers import Dense
  • In: model = Sequential([Dense(2, input_dim=1), Dense(1)])

Segunda: Las capas se pueden agregar por partes

  • In: from keras.models import Sequential
  • In: from keras.layers import Dense
  • In: model = Sequential()
  • In: model.add(Dense(2, input_dim=1))
  • In: model.add(Dense(1))

 

Profundizar-Modelo-Funcional

-. La biblioteca Keras-Python consigue que la generación de modelos de Deep-Learning sea rápida y fácil. Con la API-Funcional & Modo-Funcional es una forma más flexible de definir Modelos. permite definir múltiples modelos de entrada o salida, modelos que comparten capas y definir gráficos de red acíclicos ad hoc.

-. Definimos el Modelo; creamos las instancias de capas y posteriormente las conectamos entre ellas en pares y pasamos a definir el Modelo que asigna las capas para que actúen como entrada y salida del modelo en cuestión. Podemos clasificar en tres formas únicas de esta API-Funcional & Modo-Funcional.

Definición de entrada:

  • Se crear y define una capa-entrada independiente que especifique la forma de los datos de entrada, esta capa-entrada tiene un argumento que es una tupla, que indica el tamaño de los datos de entrada.

Nota: que es una tupla es un conjunto ordenado e inmutable de elementos del mismo o diferente tipo. Las tuplas se representan escribiendo los elementos entre paréntesis y separados por comas.

  • In: from keras.layers import Input
  • In: visible = Input(shape=(2,))

 

Conexión de capas:

Recordemos que las capas están conectadas por pares en este Modelo-Funcional, se hace especificando de dónde proviene la entrada al definir cada nueva capa. Se utiliza una notación de corchetes, de modo que después de crear la capa, se especifica la capa de la que proviene la entrada a la capa actual.

  • from keras.layers import Input
  • from keras.layers import Dense
  • visible = Input(shape=(2,))
  • hidden = Dense(2)(visible)

Nota: Descripción; “creamos una capa-entrada” , “crear una capa-oculta” como Dense que recibe información solo de la capa-entrada. el “visible” después de la creación de la capa-densa que conecta la salida de la capa-dentrada como entrada a la capa-oculta-densa. Es esta forma de conectar capas, pieza por pieza lo que le da a la API funcional su flexibilidad.

 

Creamos el Modelo:

-. En este punto tenemos crear todas las capas del Modelo, pasemos a conectarlas, en definitivadefinir-modelo” el Modelo es lo que puede ajustar, resumir, evaluar y usar para hacer predicciones.

-. Keras proporciona una clase de ModeloFuncional, que podemos usar para crear un Modelo que partir de sus capas creadas solo necesita especificar las “capas-entrada” y “capas-salida”.

  • from keras.models import Model
  • from keras.layers import Input
  • from keras.layers import Dense
  • visible = Input(shape=(2,))
  • hidden = Dense(2)(visible)
  • model = Model(inputs=visible, outputs=hidden)

 

Subclasificación-keras.Model

. Tenemos un enfoque orientado a objetos proporcionado por Keras, para crear Modelos, nos proporciona la reutilización y le permite representar los modelos creados como clases, la representación es intuitiva ya que puede pensar en los modelos como un conjunto de capas unidas para formar su red. La subclasificar-keras.Model, lo primero que debemos hacer es importarlo.

  • In: from tensorflow.keras.models import Model

Nota: Este procedimientos “Subclasificación-keras.Model” lo veremos mas en profundidad en post posteriores.

 

Recapitulemos:

En este articulo se ha echo incapie en las diferencias de los modelos “Modo-Secuencial” , “Modo-Funcional” y “Subclasificación-keras.Modelse crearan un numero no determinado de posts, que trataremos mas en profundidad, de cada uno de los modelos.

  • Referencias: Entorno-Moreluz
  • Referencias: Keras