Book Image

Deep Learning with fastai Cookbook

By : Mark Ryan
Book Image

Deep Learning with fastai Cookbook

By: Mark Ryan

Overview of this book

fastai is an easy-to-use deep learning framework built on top of PyTorch that lets you rapidly create complete deep learning solutions with as few as 10 lines of code. Both predominant low-level deep learning frameworks, TensorFlow and PyTorch, require a lot of code, even for straightforward applications. In contrast, fastai handles the messy details for you and lets you focus on applying deep learning to actually solve problems. The book begins by summarizing the value of fastai and showing you how to create a simple 'hello world' deep learning application with fastai. You'll then learn how to use fastai for all four application areas that the framework explicitly supports: tabular data, text data (NLP), recommender systems, and vision data. As you advance, you'll work through a series of practical examples that illustrate how to create real-world applications of each type. Next, you'll learn how to deploy fastai models, including creating a simple web application that predicts what object is depicted in an image. The book wraps up with an overview of the advanced features of fastai. By the end of this fastai book, you'll be able to create your own deep learning applications using fastai. You'll also have learned how to use fastai to prepare raw datasets, explore datasets, train deep learning models, and deploy trained models.
Table of Contents (10 chapters)

Test your knowledge

Now that you have completed the recipes in this chapter, you can follow the next steps to exercise that you have learned:

  1. Make a copy of the mnist_hello_world.ipynb notebook—call it mnist_hello_world_variations.ipynb.
  2. Update your new copy of the notebook to ingest a variation of the MNIST dataset, called MNIST_SAMPLE. Which statement will you need to update to ingest this dataset rather than the full-blown MNIST curated dataset?
  3. Use the path.ls() statement to examine the directory structure of the MNIST_SAMPLE dataset. How is the output of this statement different from its output for the full-blown MNIST dataset?
  4. Keeping in mind the difference in the directory structure of the MNIST_SAMPLE dataset, update the values of the train and valid parameters in the following statement so that it will work with this dataset:
    dls = ImageDataLoaders.from_folder(path, train='training', valid='testing')
  5. Again keeping the directory...