Primeros pasos con TensorFlow: Kit de herramientas

En la siguiente figura, se muestra la jerarquía actual de los kits de herramientas de TensorFlow:

Jerarquía de los kits de herramientas de TensorFlow. Los Estimadores están en la parte superior.

Figura 1. Jerarquía de los kits de herramientas de TensorFlow.

En la siguiente tabla, se resumen los objetivos de las diferentes capas:

Kits de herramientas Descripción
Estimador (tf.estimator) API de POO de alto nivel
tf.layers/tf.losses/tf.metrics Bibliotecas de componentes comunes del modelo
TensorFlow API de nivel inferior

TensorFlow consiste en los siguientes dos componentes:

Estos dos componentes son análogos al compilador de Java y a la JVM. Cuando la JVM se implementa en varias plataformas de hardware, también lo hace TensorFlow (CPU y GPU).

¿Qué API debes usar? Debes usar el nivel de abstracción más alto que resuelva el problema. Los niveles de abstracción más altos son más fáciles de usar, pero también son menos flexibles (por su diseño). Te recomendamos comenzar con la API de nivel más alto y poner todo en funcionamiento. Si necesitas flexibilidad adicional por cuestiones de modelos especiales, usa un nivel más bajo. Ten en cuenta que cada nivel se crea con API de niveles inferiores, por lo que la reducción de jerarquía debería ser razonablemente directa.

API de tf.estimator

Usaremos tf.estimator en la mayoría de los ejercicios del Curso intensivo de aprendizaje automático. Todo lo que harás en el ejercicio se podría haber realizado con TensorFlow en un nivel inferior (sin procesar), pero el uso de tf.estimator disminuye considerablemente la cantidad de líneas de código.

tf.estimator es compatible con la API de scikit-learn. Scikit-learn es una biblioteca de AA de código abierto muy popular en Python, con más de 100,000 usuarios, incluso muchos en Google.

Aquí se muestra, en términos muy generales, el formato de un programa de regresión lineal implementado en tf.estimator:

import tensorflow as tf

# Set up a linear classifier.
classifier = tf.estimator.LinearClassifier()

# Train the model on some example data.
classifier.train(input_fn=train_input_fn, steps=2000)

# Use it to predict.
predictions = classifier.predict(input_fn=predict_input_fn)

Enviar comentarios sobre…

Curso intensivo de aprendizaje automático