Path: blob/master/site/es-419/lattice/tutorials/keras_layers.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
Crear modelos de Keras con capas TFL
##Overview
Puede usar capas TFL de Keras para construir modelos Keras con monotonicidad y otras restricciones de forma. En este ejemplo se construye y entrena un modelo de cuadrícula calibrado para el conjunto de datos cardíacos de la UCI con capas TFL.
En un modelo de cuadrícula calibrado, cada función se transforma mediante una capa tfl.layers.PWLCalibration
o tfl.layers.CategoricalCalibration
y los resultados se fusionan de forma no lineal con tfl.layers.Lattice
.
Preparación
Instalar el paquete TF Lattice:
Importar los paquetes requeridos:
Descargar el conjunto de datos Statlog (corazón) de UCI:
Establecer los valores predeterminados que se usan para el entrenamiento en esta guía:
Modelo secuencial de Keras
En este ejemplo se crea un modelo secuencial de Keras y solo usa capas TFL.
Las capas de cuadrícula requieren que input[i]
esté dentro de [0, lattice_sizes[i] - 1.0]
, por lo que necesitamos definir los tamaños de cuadrícula antes de las capas de calibración para poder especificar correctamente el rango de salida de las capas de calibración.
Usamos una capa tfl.layers.ParallelCombination
para agrupar capas de calibración que deben ejecutarse en paralelo para poder crear un modelo secuencial.
Creamos una capa de calibración para cada función y la agregamos a la capa de combinación paralela. Para funciones numéricas usamos tfl.layers.PWLCalibration
y para funciones categóricas usamos tfl.layers.CategoricalCalibration
.
Luego creamos una capa de cuadrícula para fusionar de forma no lineal las salidas de los calibradores.
Tenga en cuenta que debemos especificar que la monotonicidad de la cuadrícula aumente para las dimensiones requeridas. La composición con la dirección de la monotonicidad en la calibración dará como resultado la dirección correcta de la monotonicidad de principio a fin. Esto incluye la monotonicidad parcial de la capa CategoricalCalibration.
Luego podemos crear un modelo secuencial con los calibradores y las capas de cuadrícula combinados.
El entrenamiento funciona igual que con cualquier otro modelo de keras.
Modelo funcional de Keras
En este ejemplo se usa una API funcional para la construcción de modelos de Keras.
Como se mencionó en la sección anterior, las capas de cuadrícula requieren que input[i]
esté dentro de [0, lattice_sizes[i] - 1.0]
, por lo que necesitamos definir los tamaños de cuadrícula antes de las capas de calibración para poder especificar correctamente el rango de salida de las capas de calibración.
Para cada función, necesitamos crear una capa de entrada seguida de una capa de calibración. Para funciones numéricas usamos tfl.layers.PWLCalibration
y para funciones categóricas usamos tfl.layers.CategoricalCalibration
.
Luego creamos una capa de cuadrícula para fusionar de forma no lineal las salidas de los calibradores.
Tenga en cuenta que debemos especificar que la monotonicidad de la cuadrícula aumente para las dimensiones requeridas. La composición con la dirección de la monotonicidad en la calibración dará como resultado la dirección correcta de la monotonicidad de principio a fin. Esto incluye la monotonicidad parcial de la capa tfl.layers.CategoricalCalibration
.
Para agregar más flexibilidad al modelo, agregamos una capa de calibración de salida.
Ahora podemos crear un modelo con las entradas y salidas.
El entrenamiento funciona igual que con cualquier otro modelo de keras. Tenga en cuenta que, con nuestra configuración, las funciones de entrada se pasan como tensores separados.