Book Reviews

Posted: 2/26/2018

What We’re Readingbooks 

Book Review: Learning TensorFlow

Confident Data Skills, by Kirill Eremenko, reviewed

Irish Tech News

About the author: Kirill Eremenko is a data scientist and entrepreneur. He is the founder and CEO of an online educational platform in the space of Data Science and Artificial Intelligence. The company's mission is to 'Make The Complex Simple', teaching tool-based courses such ...


January 9, 2018 by  Leave a Comment 

AI and deep learning are pretty hot technologies right now, what with the accelerating interest in computer vision, image recognition and classification, natural language processing (NLP), and speech recognition. Deep Neural Networks (DNNs), upon which deep learning is based, are trained with large amounts of data, and can solve complex tasks with unprecedented accuracy. TensorFlow is a leading open source software framework that helps you build and train neural networks. Here’s a nice resource to help you kick-start your use of TensorFlow – “Learning TensorFlow” by Tom Hope, Yehezkel S. Resheff and Itay Leider.

This O’Reilly book is short and sweet at 228 pages. I found it concise in how it provides a hands-on approach to TensorFlow fundamentals for a broad technical audience – from data scientists, to data engineers, to students and researchers. If you’re looking for an in-depth introduction to neural networks and deep learning however, this book is not for you. There are many other fine texts for that purpose. The purpose of the book rather, is to provide a quick introduction to the TensorFlow framework and get you up and running. I think this goal is achieved. This book is a welcome alternative to the online documentation for TensorFlow (I don’t like learning purely from online content; I need to hold a book in my hands). You’ll need to be familiar with Python programming, as code snippets are found throughout the book.

The book directs you to the MNIST handwritten digits data set to perform some machine learning and image processing. So early on, you are building Convolutional Neural Networks (CNNs) with Python and TensorFlow. Next, you’re introduced to the CIFAR10 data set. You’ll learn to train a DNN and build models to recognize images of automobiles, airplanes, and various animals with a decent 70% accuracy using TensorFlow. Some may question the use of the MNIST and CIFAR data sets (which are the same ones you’ll find discussed on the TensorFlow website), but I don’t see that as a bad thing. These are industry standard data sets and offer a certain level of familiarity while learning a new framework.


Here is a list of chapters:

Chapter 1 – Introduction

Chapter 2 – Go with the Flow: Up and Running with TensorFlow

Chapter 3 – Understanding TensorFlow Basics

Chapter 4 – Convolutional Neural Networks

Chapter 5 – Text I: Working with Text and Sequences, and TensorBoard Visualization

Chapter 6 – Text II: Word Vectors, Advanced RNN, and Embedding Visualization

Chapter 7 – TensorFlow Abstractions and Simplifications

Chapter 8 – Queues, Threads, and Reading Data

Chapter 9 – Distributed TensorFlow

Chapter 10 – Exporting and Serving Models with TensorFlow

At only 228 pages, you can’t consider this book a complete TensorFlow reference manual. However, you can use the book as a first-level reference as you dig deeper into the framework using more in-depth online resources. You’ll benefit from knowing some Python, and reasonable knowledge of computer science, machine learning, linear algebra, and statistics are almost expected.

I appreciated that the higher level abstractions are saved for later in the book (Chapter 7). Once you’ve worked through CNNs and RNNs, the book introduces contrib.learn, TFLearn and Keras for higher level abstraction. The book walks you through how to install and use these open source technologies. Additionally, no contemporary book about deep learning technology would be complete without a discussion of distributed computing (Chapter 8). This chapter walks through examples of working with clusters to compute gradients across a cluster to speed up training.

“Learning TensorFlow” represents a quick introduction to this popular deep learning framework. It won’t be your only learning resource, but it’s a great place to start. If you find yourself going through the new 5 course series for the Deep Learning Specialization on Coursera, you’ll find that TensorFlow is used regularly and this book will be a welcome resource.


Contributed by Daniel D. Gutierrez, Managing Editor and Resident Data Scientist of insideBIGDATA. In addition to being a tech journalist, Daniel also is a practicing data scientist, author, educator and sits on a number of advisory boards for various start-up companies. 

Recommendation Engines: Learn How to Drive More Users to Your Content

Recommendation Engine

A new guide from Dataiku provides a high-level overview of recommendation engines, how they’re built, and how they can be used to improve your business. Download the full report to find out how recommendation engines can be an effective way to drive more eyes to your content.

“Deep Learning” Book Chapter Walk-Throughs by Ian Goodfellow

Here's a tremendous learning resource for Deep Learning practitioners - a complete set of video walk-through presentations for each chapter from the recent book "Deep Learning" by Goodfellow, Bengio, and Courville. This book is considered one of the finest texts on the subject. The video series is an excellent way to advance through all the material in the book.  Get the full story here.

·         China’s AI Awakening. The West shouldn’t fear China’s artificial-intelligence revolution. It should copy it. (MIT Technology Review)

·         Numerai’s Master Plan. The core idea of Numerai was to give away all of our data for free, and let anyone train machine learning algorithms on it and submit predictions to our hedge fund. (Medium)

·         Using Monte Carlo simulations to balance supply and demand in a marketplace. How Instacart decides when to stop taking orders and that hinders them from fulfilling same day delivery. (Medium)

·         Deep Generative Models. A tutorial of the recent advances in deep generative models that allow for data-efficient learning and model-based reinforcement learning. (DeepMind)

·         Hardware Architectures for Deep Neural Networks. An overview of DNNs, the tradeoffs of the various architectures, techniques to reduce the computation cost, and the different hardware requirements for inference and training. (MIT)

I recently had a need for a Python language resource to supplement a series of courses on Deep Learning I was evaluating that depended on this widely used language. As a long-time data science practitioner, my language of choice has been R, so I relished the opportunity to dig into Python to see first hand how the other side of the data science world did machine learning. The book I settled on was "Python Data Science Handbook: Essential Tools for Working with Data" by Jake VanderPlas.  Get the full story here.


Statistics Done Wrong: The Woefully Complete Guide

"... a pithy, essential guide to statistical blunders in modern science that will show you how to keep your research blunder-free..."