CNN-Keras

Neuronal-Networking

Nota: (Creación con Frameworks-Kera de una Red-Neuronal-Convolucional (CNN) el cual lo generaremos con la herramienta el la nube como Google-Colaboratory).

-. Keras es una librería muy recomendada dentro del mundo de las Red-Neuronal-Artificial. Por ser una biblioteca de código abierto y trabaja con TensorFlow, razón por lo cual es una de las más empleadas en el análisis, creación de Redes-Neuronales-Profundas.

 

Network-Neuronal-Convolucional CNN (Keras)

. Pasemos a la generación de la Network-Neuronal-Convolucional para la clasificación de imágenes, usaremos la API funcional en Keras, en el Modelo usa imágenes de 64×64 en blanco y negro como entrada “Input(shape=(64,64,1)” se compone de dos capas convolucionales y de agrupación o lo que es lo mismo “Conv2D y MaxPooling2D” como extractores de características, a continuación una capa-oculta completamente conectada para interpretar las características “hidden=Dense”, y por ultimo una capa-salidad con activación sigmoidea.

Nota: API funcional en Keras es una forma alternativa de crear modelos que ofrece mucha más flexibilidad

definir modelos simples de perceptrón multicapa, red neuronal convolucional y red neuronal recurrente. Los modelos se definen creando instancias de capas y conectándolas directamente entre sí, luego definiendo un modelo que especifica las capas para que actúen como entrada y salida del modelo.

Pongamos un ejemplo:

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

Des cargamos las librerías:

  • In: from keras.utils import plot_model
  • In: from keras.models import Model
  • In: from keras.layers import Input
  • In: from keras.layers import Dense
  • In: from keras.layers import Flatten
  • In: from keras.layers.convolutional import Conv2D
  • In: from keras.layers.pooling import MaxPooling2D

Creamos la RedConvolucional:

  • In: visible = Input(shape=(64,64,1))
  • In: conv1 = Conv2D(32, kernel_size=4, activation=‘relu’)(visible)
  • In: pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
  • In: conv2 = Conv2D(16, kernel_size=4, activation=‘relu’)(pool1)
  • In: pool2 = MaxPooling2D(pool_size=(2, 2))(conv2)
  • In: flat = Flatten()(pool2)
  • In: hidden1 = Dense(10, activation=‘relu’)(flat)
  • In: output = Dense(1, activation=’sigmoid’)(hidden1)
  • In: model = Model(inputs=visible, outputs=output)

Imprir un resumen de capas de la red:

  • In: print(model.summary())

Utilidades de trazado de modelos:

  • In: plot_model(model, to_file=‘convolutional_neural_network.png’)

 

Recopilando:

En esta implementación de Red-Neural-Convolutional-CNN con keras, es básica he utilizado API funcional en Keras es una forma alternativa de crear modelos que ofrece mucho más simples y nos sirve de introducción a la Red-Convolutional , el próximo Post dedicado a las Red-Neural-Convolutional-CNN un poco mas complejas.

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