Intermediate Machine Learning with PyTorch
Hands-on analyses of text corpora and images

PyTorch is one of the premier libraries for programming deep neural networks in Python. There is a great deal of subtlety in the design and implementation of effective neural networks. The course walks the student through creating networks for two popular domain areas: text analysis and image classification. We focus both on the general designs of layers and the specific APIs of PyTorch.
What you'll learn-and how you can apply it
- Gain an understanding of general NLP (Natural Language Processing) goals.
- Understand how to apply deep learning techniques to NLP.
- Utilize and customize pre-trained neural network models.
- Customize network layers and examine effects of changes.
This training course is for you because...
You are an aspiring or beginning data scientist.
- You have a comfortable intermediate-level knowledge of Python and a very basic familiarity with statistics and linear algebra.
- You are a working programmer or student who is motivated to expand your skills to include machine learning with Python.
- You have heard about the enormous promise and power of deep neural networks.
Prerequisites
- A first course in Python and/or working experience as a programmer
- College-level basic mathematics
Course Set-up
Students should have a system with Jupyter notebooks installed, a recent version of scikit-learn, along with Pandas, NumPy, and matplotlib, and the general scientific Python tool stack. The training materials will be made available as notebooks at a GitHub repository.
Recommended Preparation
These resources are optional, but helpful if you need a refresher on Python, Jupyter Notebooks, or Pandas: - (video) Python Programming Language LiveLessons by David Beazley - (video) Modern Python LiveLessons: Big Ideas and Little Code in Python by Ramond Hettinger - (video) Using Jupyter Notebooks for Data Science Analysis in Python LiveLessons by Jamie Whitacre - (video) Pandas Data Analysis with Python Fundamentals by Daniel Y. Chen
Recommended Follow-up
- (Live Online Training) Beginner Machine Learning with scikit-learn by David Mertz - dates vary; search Safari to register
- (Live Online Training) Intermediate Machine Learning with scikit-learn by David Mertz - dates vary; search Safari to register
- (book) Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurélien Géron
- (book) Introduction to Machine Learning with Python by Sarah Guido, Andreas C. Müller
About your instructor
-
David Mertz is Chief Technology Officer for Bold Metrics Inc. Prior to that, he created and structured the training program for Anaconda, Inc. He was a Director of the Python Software Foundation for six years and remains co-chair of its Trademarks Committee and of the PSF Scientific Python Working Group. David worked for nine years with D. E. Shaw Research. This research group built the world's fastest—highly-specialized—supercomputer for performing molecular dynamics.
David wrote the widely read columns Charming Python and XML Matters for IBM developerWorks, short books for O'Reilly, and the Addison-Wesley book Text Processing in Python. He has spoken at multiple OSCons, PyCons, and AnacondaCon, and was invited to be a keynote speaker at PyCon-India, PyCon-UK, PyCon-ZA [South Africa], PyCon Belarus, PyCon Cuba, and PyData SF. He delivers several recurring webinars, and video courses, for Safari Online.
David is delighted to find Python has the default high-level language for most scientific computing projects.
Schedule
The timeframes are only estimates and may vary according to how the class is progressing
Lesson 1: Whirlwind overview of Machine Learning and PyTorch (1 hour)
- Understand how deep neural networks are different from other ML
- Understand classification versus regression versus clustering
- Perform dimensionality reduction
- Explain feature engineering
- Types of network layers
- Tensors and NumPy interfaces
- Examining Autograd
- Create a neural network with torch.nn
Lesson 2: Natural Language Processing with AllenNLP (1.5 hours)
- What is AllenNLP?
- What is SpaCy?
- High Level Interfaces to NLP using PyTorch
- Textual Entailment
- Named Entity Recognition
- Semantic Role Labeling
- Machine Comprehension
Lesson 3: Enhancing an Image Classifier (1.5 hour)
- Starting with torchvision.models
- Retraining pretrained models
- Modifying Network Layers
- Understanding Effects of Network Structure