IOKELU
Nivel: Inteligencia Artificial – Avanzado (Guía 2)

TensorFlow y Keras

En esta guía aprenderás a usar TensorFlow y Keras, las librerías más importantes para construir redes neuronales modernas. Este módulo te prepara para crear modelos reales, entrenarlos, evaluarlos y optimizarlos.

Tabla de contenidos

  • Qué es TensorFlow
  • Qué es Keras
  • Instalación
  • Modelo Sequential
  • Capas densas
  • Compilación del modelo
  • Entrenamiento
  • Evaluación
  • Predicciones
  • Ejemplo completo
  • Ejercicios

1. Qué es TensorFlow

TensorFlow es un framework de Google para construir y entrenar modelos de Machine Learning y redes neuronales. Permite ejecutar modelos en CPU, GPU y TPU, y es estándar en la industria.

2. Qué es Keras

Keras es una API de alto nivel integrada dentro de TensorFlow. Facilita la creación de modelos mediante una sintaxis simple y clara.

3. Instalación

pip install tensorflow

4. Modelo Sequential

El modelo Sequential permite construir redes neuronales capa por capa.


from tensorflow.keras import Sequential
from tensorflow.keras import layers

model = Sequential([
    layers.Dense(64, activation='relu', input_shape=(10,)),
    layers.Dense(32, activation='relu'),
    layers.Dense(1, activation='sigmoid')
])
    

5. Capas densas

Las capas densas (Dense) son las más usadas en redes neuronales tradicionales.


layers.Dense(units=64, activation='relu')
    

6. Compilación del modelo

Antes de entrenar, el modelo debe ser compilado con un optimizador y una función de pérdida.


model.compile(
    optimizer='adam',
    loss='binary_crossentropy',
    metrics=['accuracy']
)
    

7. Entrenamiento


model.fit(X_train, y_train, epochs=20, batch_size=32)
    

8. Evaluación


model.evaluate(X_test, y_test)
    

9. Predicciones


pred = model.predict(X_new)
    

10. Ejemplo completo


import tensorflow as tf
from tensorflow.keras import layers

model = tf.keras.Sequential([
    layers.Dense(32, activation='relu', input_shape=(20,)),
    layers.Dense(16, activation='relu'),
    layers.Dense(1, activation='sigmoid')
])

model.compile(
    optimizer='adam',
    loss='binary_crossentropy',
    metrics=['accuracy']
)

model.fit(X_train, y_train, epochs=15)
model.evaluate(X_test, y_test)
    

11. Ejercicios


Siguiente guía

Redes Neuronales Convolucionales (CNN) →