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 Red–Convolucional:
- 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)