Training models with the Estimators API

Introduction to TensorFlow in Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

What is the Estimators API?

  • High level submodule
  • Less flexible
  • Enforces best practices
  • Faster deployment
  • Many premade models

This image shows a schematic of the Estimators API and how it relates to lower level APIs.

1 Image taken from https://www.tensorflow.org/guide/premade_estimators
Introduction to TensorFlow in Python

Model specification and training

  1. Define feature columns
  2. Load and transform data
  3. Define an estimator
  4. Apply train operation
Introduction to TensorFlow in Python

Defining feature columns

# Import tensorflow under its standard alias
import tensorflow as tf

# Define a numeric feature column
size = tf.feature_column.numeric_column("size")
# Define a categorical feature column
rooms = tf.feature_column.categorical_column_with_vocabulary_list("rooms",\
["1", "2", "3", "4", "5"])
Introduction to TensorFlow in Python

Defining feature columns

# Create feature column list
features_list = [size, rooms]
# Define a matrix feature column
features_list = [tf.feature_column.numeric_column('image', shape=(784,))]
Introduction to TensorFlow in Python

Loading and transforming data

# Define input data function
def input_fn():
    # Define feature dictionary
    features = {"size": [1340, 1690, 2720], "rooms": [1, 3, 4]}
    # Define labels
    labels = [221900, 538000, 180000]
    return features, labels
Introduction to TensorFlow in Python

Define and train a regression estimator

# Define a deep neural network regression
model0 = tf.estimator.DNNRegressor(feature_columns=feature_list,\
    hidden_units=[10, 6, 6, 3])

# Train the regression model
model0.train(input_fn, steps=20)
Introduction to TensorFlow in Python

Define and train a deep neural network

# Define a deep neural network classifier
model1 = tf.estimator.DNNClassifier(feature_columns=feature_list,\ 
   hidden_units=[32, 16, 8], n_classes=4)

# Train the classifier
model1.train(input_fn, steps=20)
Introduction to TensorFlow in Python

Let's practice!

Introduction to TensorFlow in Python

Preparing Video For Download...