← all repositories
GoogleCloudPlatform/tf-estimator-tutorials

TensorFlow Estimator: the API Google wanted you to use (circa 2018)

A methodical walkthrough of Google's once-preferred way to build production ML models before Keras took over.

669 stars Jupyter Notebook LearningML Frameworks
tf-estimator-tutorials
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does This repo is a collection of Jupyter notebooks demonstrating TensorFlow’s Estimator API across standard ML tasks: classification, regression, clustering, time-series, and basic deep learning (CNNs, RNNs, embeddings). It covers both “canned” pre-built estimators and custom ones built from scratch via model_fn. There’s also a fair bit of surrounding tooling: tf.Transform for preprocessing, tf.Hub for text embeddings, TensorFlow Model Analysis for evaluation, and model export for serving.

The interesting bit The value isn’t any single model—it’s the systematic approach. Every notebook follows the same pattern: metadata-driven feature_column definitions, explicit input pipelines (input_fn), and consistent train/eval/export cycles. For teams trying to standardize messy TF code, this structure is the actual lesson.

Key highlights

  • Covers both canned estimators (DNNClassifier, LinearClassifier, etc.) and custom estimators with EstimatorSpec
  • Demonstrates tf.data pipelines, pandas input, and time-series-specific input functions
  • Shows feature engineering baked into feature_column definitions: crossings, embeddings, bucketization, hash buckets
  • Includes Wide & Deep model setup, learning rate decay, and model serving with CSV/JSON inputs
  • All examples target TensorFlow 1.7; this is explicitly legacy-era material

Caveats

  • Targets TF 1.7; many APIs (tf.contrib.learn.experiment, tf.contrib.timeseries) are deprecated or removed in TF 2.x
  • “Coming Soon” section includes Keras examples that apparently never arrived
  • Some promised features (early stopping, DynamicRnnEstimator, collaborative filtering) remain unimplemented per the README

Verdict Worth a look if you’re maintaining legacy TF 1.x pipelines or trying to understand why Google’s ML infrastructure teams once pushed Estimators so hard. Skip it if you’re starting fresh—Keras and modern TF are the present, and this repo knows it.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.