Frequently Asked Questions (FAQ) about the PyTorch Course

If you have questions about the course, please browse through this list first. Click/tap on a question to expand it and view the answer. If there’s something that’s not answered here, please reply to this topic with your question.

What will I learn in this course? Why is it titled "Zero to GANs"?

“Deep Learning with PyTorch: Zero to GANs” is an online course intended to provide a coding- first introduction to deep learning using the PyTorch framework. The course takes a hands-on coding-focused approach and will be taught using live interactive Jupyter notebooks, allowing students to follow along and experiment.

Theoretical concepts will be explained in simple terms using code. Students will receive weekly assignments and work on a project with real-world datasets to test their skills. Upon successful completion of the course, students will receive a certificate of completion.

The following topics are covered:
Module 1: PyTorch Basics - Tensors & Gradients
Module 2: Linear Regression & Gradient Descent
Module 3: Logistic Regression for Image Classification
Module 4: Feedforward Neural Networks & GPUs
Module 5a: Image Classification using Convolutional Neural Networks
Module 5b: Data Augmentation, Regularization, and ResNets
Module 6: Image Generation using Generative Adversarial Networks (GANs)

The course is called “Zero to GANs” because it assumes no prior knowledge of deep learning (i.e. you can start from Zero), and by the end of the six weeks, you’ll be familiar with building Generative Adversarial Networks or GANs.

Download the Course Syllabus for more details.

What is the duration of this course?

The course is currently in Self Paced mode, you can take it up at your own pace and complete the assignments and projects and we shall provide you with the certficate.

Who is eligible for taking this course? Are there any prerequisites?

This is a beginner-friendly course, and no prior knowledge of data science, machine learning or
deep learning is assumed. You DON’T require a college degree (B.Tech, Masters, PhD etc.) to participate in this course.

It is preferable to have some background in the following areas:

  • Programming knowledge, preferably in Python
  • Basics of linear algebra (vectors, matrices, dot products)
  • Basics of calculus (differentiation, geometric interpretation of derivative)

Even if you are not familiar with these concepts, we will point to resources that you can use to develop these skills as you work through the assignments. Since the assignments will require some coding, you should definitely start learning Python if you’re not familiar with it already.

You do need to have a computer (laptop/desktop) with a good internet connection to watch the video lectures, run the code online, and participate in the forum discussions.

What do I need to do get a certificate for this course?

To become eligible for a “Certificate of Completion”, you need to satisfy all of the following criteria:

  • Make valid submissions for all 3 weekly assignments in the course (the course team will evaluate & accept/reject submission)
  • Make a valid submission towards the course project
  • Do not violate the Code of Conduct

Please note that we reserve the right to withhold/cancel any participant’s certificate if we are not satisfied with the quality of their submissions or find them in violation of the Code of Conduct.

Is the certificate free of cost, or do I need to pay for it?

The Certificate of Completion is FREE of COST for the current iteration of the course.

Who is issuing the certificate? Is it by some educational institution?

The Certificate of Completion will be issued by Jovian. Please note that Jovian is not a registered educational institution, and this certificate will not count towards your higher education/college credits. The certificate simply indicates that you have completed all the required coursework for this course. Please note that Jovian reserves the right to withhold/cancel any participant’s certificate if we are not satisfied with the quality of their submissions or find them in violation of the Code of Conduct.

Where can I watch the lectures?

You can watch the lectures from the respective lesson pages here:

Do I need to set up anything on my computer to participate in this course?

No, you do not need to install any additional software on your computer to participate in this course. You just need a computer (laptop/desktop) with a working internet connection and a modern web browser (like Google Chrome or Firefox) to watch the lectures, participate in forum discussions, and complete the assignments.

You will be able to do all the assignments using free online computing platforms that you can access from your web browser. More details about these will be shared during the video lectures and on the individual assignment threads.

Do I need a Graphics Processing Unit (GPU) for this course? Will I need to pay for it?

Yes, some of the material & assignments in this course will require a Graphics Processing Units or GPUs, but you do not need to purchase or pay for GPUs. We will be using online platforms like Google Colab and Kaggle Kernels, which provide free access to GPUs for a limited amount of time every week. The free tier should be sufficient for completing this course successfully.

We will also share information about other paid cloud GPU platform options that you can use for training models in personal projects that you decide to take up after the course.

How will the course material (Jupyter notebooks, assignments be shared)?

The lectures will be taught using Jupyter notebooks, a browser-based interactive programming environment. The lecture notebooks and assignments will be shared using Jovian, a platform for sharing Jupyter notebooks and data science projects. You will be able to run the shared Jupyter notebooks directly from Jovian.

There will be a separate forum topic for each assignment, where the problem statement & submission instructions will be shared. Please check the individual topics for more details regarding assignments.

How much time am I expected to put in every week for this course?

The coursework should not take up more than 8-10 hours per week. If you’re able to do it in lesser time, that’s great. If it’s taking you longer, then you probably need to spend some more time learning fundamentals (math, programming) alongside, and that’s going to be generally helpful for you.

In general, even if you’re a full-time student or working professional, you should be able to follow along and complete the coursework comfortably, if you remain motivated.

Can I watch the video lectures without registering or doing assignments?

Sure, you can audit the course by just viewing the video lectures, but we highly recommend that you try out the assignments and put in the work required to earn a certificate. Doing the assignments will help you apply the concepts and get hands-on experience with building deep learning models. Interactive Juptyer notebooks are a great way to learn & experiment with the code, and we’ve put in a lot of effort to prepare these resources for you. We hope you will find it worthwhile to do the assignments & exercises.

How will this course help in my data science career?

This course will help you advance your data science career in the following ways:

  • You will learn the basics of Deep Learning, one of the most powerful techniques in artificial intelligence
  • You will learn the PyTorch framework, which is used by researchers & companies worldwide
  • You will work on a project of your choosing, which you can showcase on your resume & professional profiles
  • You will get a certificate that you can showcase on your resume & professional profile.
  • You will get a chance to interact with & showcase your work to the global data science community from Jovian, which can help you find internship & job opportunities in the future

Whether you’re a beginner or an expert, we’re confident you’ll gain something from this course.

Is there any textbook for reference during the course?

No, there is no textbook for this course. This course is taught entirely using Jupyter notebook, which includes a fair bit of explanation along with code, graphs, links to references etc. We will provide links to reading material, blog posts & other free resources online.

Who is the instructor for this course?

The instructor for this course is Aakash N S
Aakash is the co-founder and CEO of Jovian, a project management and collaboration
platform for machine learning. Prior to starting Jovian, Aakash worked as a software
engineer (APIs & Data Platforms) at Twitter in Ireland & San Francisco and graduated from IIT
Bombay. He’s also a Competitions Expert on Kaggle, an avid blogger, open-source contributor
and online educator.

How will the assignments be graded? Is there a minimum passing grade?
  • Assignments will require completing tasks such as creating a Jupyter notebook, writing a blog post etc.
  • Assignment submissions will be done via Google Forms at the end of the specified period
  • The course team will evaluate submissions and either “accept” or “reject” them. If your submission is rejected, you’ll have a chance to resubmit.
  • There is no passing grade as such, we simply require that your submissions to all of the assignments are accepted.

More details about the submission will be provided in the individual topics for each assignment.

Where can I ask questions, if I have doubts or need clarifications?

Depending on the type of question, please choose one of the following:

  1. If you have questions on any topic covered in a lecture/assignment, you can post them in the respective lecture/assignment threads. Someone from the course team or the community will try to answer your question. Before asking, please scroll through the thread to check if your question has already been asked/answered.

  2. Use the Help thread for other questions, doubts and coding errors/issue that are not specific to a particular lecture or assignment.

  3. If you have questions about the course itself, please check the Frequently Asked Questions (this thread). If your question is not answered here, you can post a reply on this thread to ask your question.

  4. If you do not want to ask a question publicly or need more assistance, you can send an email to, and someone from the course team will respond to you over email.

We recommend asking a question on the forum, since in many cases other members of the community will be able to answer questions faster than us (we’re a small team), and your question will also be useful for others. Remember, no question to too simple to be asked.

Is there an official study group or review session for this course?

There is no official study group or review session, but there are several unofficial study groups across various timezones that you can join to learn together with other participants. Consider starting a new study group if you don’t find one matching your timezone/city.

I'm facing harassment/abuse from another participant in the course. What should I do?

We expect all participants to follow the Code of Conduct, and we take harassment and abuse very seriously. Please reach out to us at if you are a victim of harassment/abuse by another user, and we’ll investigate the matter and take strict action immediately. Once verified, we will remove the participant from the course, and for more serious matters, report it to relevant authorities.

How's this course different for the "Deep Learning with PyTorch" video on FreeCodeCamp's YouTube channel?

We’ve recently posted this 10-hour video tutorial on PyTorch:
PyTorch for Deep Learning - Full Course / Tutorial - YouTube

The above video is a recording from a previous edition of the course. The current iteration of the course differs from the above in the following respects:

  • Shorter Lecture videos with new and updated content
  • Exercise and Assignments & Course Project
  • Forum discussions & study groups
  • Certificate of completion for those who meet the eligibility criteria

The current edition of the course focuses on “learning by doing”, by letting up apply learned concepts via assignments & exercises.

What is Jovian? What is Jovian's role in this course?

Jovian is a platform for sharing data science projects & Juptyer notebooks, used by thousands of data scientists & machine learning practitioners worldwide.

The material in this course has been prepared by the Jovian team, and the instructor, Aakash N S, is the co-founder & CEO of Jovian. All course Jupyter notebooks & assignments are shared via the Jovian platform, and the Jovian forum is used for discussions & course communications.


Hello everyone! I am really excited at the idea of starting this experience with all of you, but I am a bit concerned about the timezones, what I mean is that the lessons concludes quite late in my country, and I worry I will not be able to attend the entirety of them live.

This is definitely a pity, but I am sure that catching the vods on youtube would be good enough at least, the only problem is that I am worried about how this will affect my attendance, if I am not able to take part to the live lessons in their entirety how will it impact my ability of obtaining a certificate? Is it enough if I catchup with the lessons and submit every assignment on time?

I would be very sad if I couldn’t take part to the full experience due to this issue. Please let me know!

Hi @fredrico-abss,
Thanks for bringing this up. Your question has been answered in the FAQs above.

If you’re in a timeonze where is incredibly inconvenient or even impossible to watch the lecture live, then please make sure to watch the lecture within 12 hours of being posted to YouTube. We will also keep the attendance poll open for 12 hours, so please make sure to mark your attendance as well. Since we are using YouTube live to steam the lectures, lecture recordings will be available immediately after the lecture at the same link as the livestream.

1 Like

Hello! I’m so excited, but i have a little question, is possible to make a commit from google colab or kaggle?

Hi @jhonathanortiz, it is possible to make a commit from Kaggle notebooks.

  1. Make sure the notebook has internet access (it can be selected from the sidebar).
  2. Install the jovian library using !pip install jovian --upgrade
  3. Run import jovian and jovian.commit() inside your notebook

You notebook will be posted to Jovian and you’ll get back the link in the output.

jovian.commit does not work inside Google Colab, so you’ll have to download the notebook as an .ipynb file and Upload it manually to your jovian profile using the “Upload notebook” button.


Thanks so much! have been helpful

I want to run this on Google Colab.

After forking and making my notebook public, I selected “Run on Colab.” It opened up a read-only notebook on Colab. But I’m not able to run it–an error message pops up when I try to run any cell on it.

What’s the process to run on Colab? After it opens up a read-only notebook on Colab, are we supposed to make another (writeable) copy and work from there? And if so, how do we get back any changes on to Jovian?

Is it best to avoid Colab for now and stick to Binder?


For just playing around with the code in the COLAB notebook, just use open in playground in COLAB - make a copy to your G-DRIVE.
But as @aakashns said we can’t commit from COLAB directly to so its better to use KAGGLE kernels i suppose.


how do i mark my attendance

We’ve made attendance optional for Lecture 1. Don’t worry about it!

1 Like

Is the video which will be on the youtube channel is the only live session or Is there any other live session?

Please accept my connection request on linkedin (profile: gokul-a-krishnan)

Sir what about creating a discord server ?

Clear and very helpful. Thanks!

Hello there!
About the attendance, you said, we need to attend the lecture within 24hrs. But I’m already 3 days late to see this topic, then what should I do? There’s a condition that I need to complete 5/6 courses, but as I’m already 3 days late, it’s like a penalty for me that if I’m late again, I’ll be disqualified.
Another thing is, how do you count the attendance?

We have removed the attendance requirement. The FAQs above have been updated to reflect this. Thanks!


I would like to know has someone done this Jovian installation using pipenv instead of using conda. With the help of WSL (windows subsystem for Linux) it would be really easy and simple. Please if someone has already done, it would be awesome to get the requirements.txt file for the same.

Using ‘jovian install’ under a pipenv is not a great idea.
But running the same on the base python shell worked like a charm.