No class on Friday, Feb 2. See syllabus.
For the last year's website, visit here

Course Description

TensorFlow is a powerful open-source software library for machine learning developed by researchers at Google. It has many pre-built functions to ease the task of building different neural networks. TensorFlow allows distribution of computation across different computers, as well as multiple CPUs and GPUs within a single machine. TensorFlow provides a Python API, as well as a less documented C++ API. For this course, we will be using Python.

This course will cover the fundamentals and contemporary usage of the Tensorflow library for deep learning research. We aim to help students understand the graphical computational model of TensorFlow, explore the functions it has to offer, and learn how to build and structure models best suited for a deep learning project. Through the course, students will use TensorFlow to build models of different complexity, from simple linear/logistic regression to convolutional neural network and recurrent neural networks to solve tasks such as word embedding, translation, optical character recognition, reinforcement learning. Students will also learn best practices to structure a model and manage research experiments.

Class Time and Location

January - March, 2018
Lecture: Wednesday, Friday 3:30-4:20
Location: Gates B12
Office Hours by appointment


Instructor: Chip Huyen
Course Helper: Michael Straka
Course Helper: Pedro Garzon
Advisor: Christopher Manning
Advisor: Danijar Hafner

Grading Policy

There are 3 assignments, each graded on the check-, check, check+ scale. You pass if:
+ You average check in all 3 assignments
+ and you're reasonably active in class.
I won't be taking attendance because it's really boring. But I expect to see you often in class.



Is this a student initiated course?
Yes. Therefore, the teaching might not be as professional as the teaching of other courses. Your feedback will be greatly appreciated.
Will lectures be recorded?
Unfortunately, the lectures won't be recorded.
Is attendance mandatory?
I won't be taking attendance but I expect to see you often in class. I love talking to students to get feedback to improve the class and understand how I can make the class most helpful for them. The class is relatively small so we will probably get to know each other well.
What is the format of the class?
It will be lecture + discussion. All students in the class are really smart, so I believe the class will an excellent opportunity for us to learn from each other. We will often have guest lecturers who are TensorFlow experts.
Will the course be in Python 2 or 3?
The code examples are in Python 3. You can do assignments in either Python 2 or 3. There is really not much difference.
The course seems to focus on NLP?
The syllabus currently cover natural language processing, computer vision, and a little bit of reinforcement learning.
Can I follow along from the outside?
We'd be happy if you join us! All the slides and lecture notes will be posted on this website. You can also subscribe to the guest mailing list to get updates from the course.
Can I audit or sit in?
In general, we are open to sitting-in guests if you are a member of the Stanford community (registered student, staff, and/or faculty). Out of courtesy, we would appreciate that you first email us or talk to the instructor after the first class you attend.
Can I work in groups for the assignment?
Yes, in groups of up to two people.
I have a question about the class. What is the best way to reach the course staff?
Stanford students please use an internal class forum on Piazza so that other students may benefit from your questions and our answers. If you have a personal matter, please email the staff at