This post is part of a series of posts on online learning resources for data science and programming.
By Austin Alleman, Data Science Research Consultant
From autonomous vehicles to speech and image processing, deep neural networks (“deep learning”) are the tool of choice for today’s most challenging and interesting problems. TensorFlow is practically synonymous with deep learning, but getting up and running on the platform can be daunting for beginners. Even for seasoned users, there’s plenty to keep up on in this fast-evolving domain. If you’re looking to build or sharpen your TensorFlow skills, here are a few resources to check out.
As with other guides in this series, we’re focusing on resources that can be accessed for free by members of the Northwestern community, and we’re focusing on resources other than full-length online courses.
Getting Started
Google Colaboratory
Google Colaboratory (or Colab, for short) is a great space to learn TensorFlow without worrying about installation or dependency issues on your own machine. Colab allows you to write and execute Python code in Jupyter notebooks in your web browser, free of charge. You can even take TensorFlow for a spin on a GPU or TPU, resources permitting. Try it out with any of the tutorials or exercises listed below.
TensorFlow 2 Quickstart for Beginners
For those who learn by example and have a working knowledge of neural nets, the tensorflow.org tutorials are an excellent jumping off point. Each walks step-by-step through an application of deep learning with functional code, all of which can be executed directly in your web browser via Colab. This quickstart tutorial will have you build, train, and evaluate a neural net in about fifteen minutes. Without a doubt, this is the fastest and easiest way to get started with TensorFlow and the bundled Keras API.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition
Aurélien Géron
One of a few books updated to reflect the simpler TensorFlow 2.0 syntax, Hands-On Machine Learning moves slowly relative to a tutorial, video, or blog post; however, it offers much more detail on how networks are constructed and manipulated in TensorFlow, with chapters on custom layers, computer vision, sequential data, and reinforcement learning. If you’re new to TensorFlow or neural nets, start with Chapter 10 for an introduction, and work along with the text in a notebook on Colab.
Getting Better
Dogs vs Cats Image Classification with Augmentation
This is a medium-length image classification tutorial invoking intermediate concepts, including convolutional and pooling layers, overfitting and validation, and data augmentation via data generators. If you completed the quickstart tutorial – or found it too basic – move on to this more complicated project to pick up a few new tricks.
MIT 6.S191: Introduction to Deep Learning
Alexander Amini & Ava Soleimany
Mastered MNIST and looking for a new challenge? MIT’s open deep learning course provides excellent context for deep learning in many domains. Complete with three non-trivial labs, lab solutions, and engaging video lectures, the content of this course is recommended for the intermediate user. As with TensorFlow tutorials, the labs are all executable in Colab, and they walk you through more complicated projects – you’ll build a network to create music, work with networks for facial recognition, and teach a network to play Pong via reinforcement learning. Although this is a full-length course, you definitely don’t need to watch every video or read every slide to learn something useful.
Stuck?
If you have a question about deep learning with TensorFlow, don’t know which resource to start with, or need to learn something not covered above, remember you can always request a free consultation with our data science consultants. We’re more than happy to answer questions and point you in the right direction.