This topic is editable, so feel free to add, remove, organize, etc questions and answers based on what you’ve seen coming up in other threads. (Please don’t add a “FAQ” however unless it’s actually a question you’ve seen asked more than once on the forums! Please include a full question and answer in English for each, not just a link.)
The course and forums
- I’ve started the 2017 version of the course already. Should I switch to the new 2018 version?
- Yes! The new course is a huge step up from version 1 (v1) in terms of the quality of models that you’ll learn and the amount you’ll be able to do. If you’ve already completed v1, you’ll find most of version 2 (v2) is new, so it’s worth doing as well (especially lessons 2-4).
- Should I complete Intro to Machine Learning (ML) before doing this course?
- The ML class goes at a somewhat gentler pace, but doesn’t show how to build world-class models (the focus is more on process and interpretation, and also more in depth discussion of foundational details). The Deep Learning (DL) class is more intense, and gets you building state of the art models from lesson 1. Both can be understood on their own, but they both support each other.
- Where to find the Jupyter notebooks?
- Deep Learning Part 1: Practical Deep Learning for Coders
- Version 2 (2018) using PyTorch
Video lessons: http://course.fast.ai/
Jupyter notebooks: https://github.com/fastai/fastai/tree/master/courses/dl1 - Version 1 (2017) using Keras
Video lessons: http://course17.fast.ai/
Jupyter notebooks: https://github.com/fastai/courses/tree/master/deeplearning1
- Version 2 (2018) using PyTorch
- Deep Learning Part 2: Cutting Edge Deep Learning for Coders
- Version 2 (2018) using PyTorch
Video Lessons: http://course17.fast.ai/part2.html
Jupyter Notebooks: https://github.com/fastai/fastai/tree/master/courses/dl2 - Version 1 (2017) using Keras
Videos: http://course17.fast.ai/part2.html
Jupyter notebooks: https://github.com/fastai/courses/tree/master/deeplearning2
- Version 2 (2018) using PyTorch
- Deep Learning Part 1: Practical Deep Learning for Coders
The fastai library
-
Why are we using PyTorch? Should I study TensorFlow instead?
- During the development of Cutting-Edge Deep Learning for Coders, fast.ai started to hit the limits of the libraries we had chosen: Keras and TensorFlow. Therefore PyTorch was used for the 2018 course, which allowed fast.ai to use all of the flexibility and capability of regular python code to build and train neural networks, and to tackle a much wider range of problems. An additional benefit with PyTorch is that you can fully dive into every level of the computation, and see exactly what is going on. Furthermore, PyTorch tends to have more recent research advances earlier. For more details, see the post Introducing PyTorch for fast.ai . (We also briefly teach Keras+TensorFlow during the course, and the concepts transfer easily.)
-
Why are we using the fastai library?
- PyTorch does not have a clear simple API of Keras for training models, and does not have defaults chosen based on best practices - you have to specify everything in detail yourself. Therefore we took inspiration from Keras in creating a library on top of PyTorch designed to fill these gaps, and ended up creating a totally new library which allows faster and more accurate models to be trained more quickly, with less code.
-
Can I do the course in Keras or some other library, instead of fastai+PyTorch?
- Probably not. Many students have tried, but no-one has been successful yet, because there are a lot of important features in fastai that aren’t available in any other libraries, and trying to replicate them without the benefits provided by PyTorch is very difficult. We use fastai+PyTorch because it’s the most productive environment for prototyping and learning about deep learning algorithms. You’ll also learn in the course how to use Keras+TensorFlow, but you’ll also find they are much slower, result in less accurate models, and take more code!
Python, Jupyter, numpy and friends
- What programming tools do I need to know?
- You need to be familiar with the basics of Python and Numpy. You can start the course if you haven’t used Python before but are a proficient programmer - you’ll just need to do some googling to learn as you go! Here is a brief numpy tutorial to get you started quickly with this important library.
- Why is the variable naming and code formatting different to established standards such as PEP-8?
- Jeremy prefers for more to fit in the amount of screen space he can see at once. The approaches that work best for data science are not the same as those that work best for general software engineering. Unfortunately, few people have written about effective patterns for data science code. Note that every variable name is either a mnemonic (lr->learning rate), or is based on standards from the ML and stats literature (x->independent variables; y->dependent variables). Jeremy provides some information about his chosen code formatting conventions in his replies in this github issue.
Setup questions
- How can I access a GPU for minimal cost?
- If you’re a university student, AWS Provides a few credits to students under AWS Educate Packs.
- Github provides additional AWS credits through their student pack
- Google Cloud Platform (GCP) provides $300 worth of free trial credits that can be used over the course of 12 months. Please have a look at this thread for a complete guide on how to setup GCP step-by-step using the Paperspace bash script designed for this course.
- Can I use my own Linux box, instead of paperspace/crestle/AWS?
- Yes you can, as long as it has an NVIDIA GPU, and you don’t mind spending the time getting it set up and maintaining it. However note that that can be quite a distraction from actually studying deep learning, so we normally recommend using the support cloud based options until you’ve completed part 1.
- Can I use my own Windows or Mac machine?
- Using a Mac is unlikely to work (or be unusably slow), for the reasons summarized in this post. Using Windows (with an NVIDIA GPU) is possible, although not straightforward or supported, and not recommended for beginners. For the patience and daring people, have a look at this thread or this thread(obsolete).
- Should I buy a laptop with an NVIDIA GPU?
- Probably not. You’ll get a much better GPU for much less money if you get a desktop and simply connect to it from a cheap laptop - but (as mentioned above) for now you’re likely better off using a cloud based approach. Having said that, if you do want to work directly on a laptop, there’s a discussion of options in this thread.
- Is there any free alternative available?
- Yes, there is! You can use Google’s colaboratory platform for free (it also comes with a Tesla K80 GPU). So, give it a try. Here is the link to the article on how to set up fast.ai course for Google colab notebook.
Deep learning questions
- Check the #deep-learning category.
Etiquette for Posting to Forums
- If you like a post, it’s better to “like” it with the rather than commenting. It saves traffic in the Forums and makes it easier for everyone to find posts.
- Please be mindful of looking to see if a topic exists before starting a new thread.
- Do a quick search of the forums to see if your question is already under discussion.
- Do not @ people if you are not referencing them for a specific reason that requires the attention of that forum member. Be specially mindful in mentioning Jeremy and Rachel.
Other information
Introductions Thread
If you want to find out more about your fellow students, check out the introductions thread - and maybe add a bit about yourself there too!
How to Ask for Help
Here is advice on how to ask for help in a way that maximizes the chances someone else will be able to provide a helpful answer.