*This network is running live in your browser
The Convolutional Neural Network in this example is classifying images live in your browser using Javascript, at about 10 milliseconds per image. It takes an input image and transforms it through a series of functions into class probabilities at the end. The transformed representations in this visualization can be loosely thought of as the activations of the neurons along the way. The parameters of this function are learned with backpropagation on a dataset of (image, label) pairs. This particular network is classifying CIFAR-10 images into one of 10 classes and was trained with ConvNetJS. Its exact architecture is [conv-relu-conv-relu-pool]x3-fc-softmax, for a total of 17 layers and 7000 parameters. It uses 3x3 convolutions and 2x2 pooling regions. By the end of the class, you will know exactly what all these numbers mean.

This iteration of the class has ended!

Course Description

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification, localization and detection. Recent developments in neural network (aka “deep learning”) approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into the details of deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. During the 10-week course, students will learn to implement and train their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. Additionally, the final assignment will give them the opportunity to train and apply multi-million parameter networks on real-world vision problems of their choice. Through multiple hands-on assignments and the final course project, students will acquire the toolset for setting up deep learning tasks and practical engineering tricks for training and fine-tuning deep neural networks.


Course Coordinator

Teaching Assistants

Course Logistics



Assignments (50%)

See the Assignment page for details regarding assignments, late days and collaboration policies.

Midterm (15%)

Detailed information regarding the midterm will be made available as an announcement on Piazza in the coming weeks.

Final Project (35%)

See the Project page for more details regarding the final course project.

Participation (3%)

We appreciate student participation in the class! We'll be awarding up to 3% in extra credit to the top ~20 Piazza contributors.

Regrade Requests

If you feel you deserved a better grade on an assignment, you may submit a regrade request on Gradescope within 3 days of the grade release. Your request should briefly summarize why you feel the original grade was unfair. Your TA will re-evaluate your assignment as soon as possible, and then issue a decision.

Late Policy


Academic accommodations:
If you need an academic accommodation based on a disability, you should initiate the request with the Office of Accessible Education (OAE). The OAE will evaluate the request, recommend accommodations, and prepare a letter for faculty. Students should contact the OAE as soon as possible and at any rate in advance of assignment deadlines, since timely notice is needed to coordinate accommodations. It is the student’s responsibility to reach out to the teaching staff regarding the OAE letter. Please send your letters to cs231n_02-spr2021-staff@lists.stanford.edu
Can I take this course on credit/no cred basis?
Yes. Credit will be given to those who would have otherwise earned a C- or above.
Can I audit or sit in?
In general we are very open to auditing 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 Final Project?
Yes, in groups of up to three people.
I have a question about the class. What is the best way to reach the course staff?
Almost all questions should be asked on Piazza. If you have a sensitive issue you can email the instructors directly.
Can I combine the Final Project with another course?
Yes, you may; however before doing so you must receive permission from the instructors of both courses.