Description
In this course, you will :
- An awareness of the many types of testing and their usefulness in machine learning applications.
- Understanding of how to use Pytest to improve the resilience of machine learning systems.
- An in-depth overview of the best (and worst) testing practises.
- Hands-on experience troubleshooting machine learning applications.
Syllabus :
1. Introduction to Reliable ML
- Who Should Take This Course?
- Why Do We Need Tests?
- Various Software Testing Paradigms
2. Software Testing
- Unit Testing
- Introduction to pytest
- Fixtures in pytest
- Integration Testing
- Mocks and Patches
- Mutation and Property-Based Tests
3. Best and Worst Practices
- Test-Driven Development
- Flaky and Negative Tests
- Automation of Testing
4. ML-Specific Tests
- Why Machine Learning is Specific
- Behavioral Testing
- Comparing the Environments
- Tests for Exact Values
- Smoke Tests for the ML Pipeline
- Fixtures and Mocks in Machine Learning Tests
- Samples as Tests
5. ML Software Reliability outside of Tests
- Runtime Checks
- Type Hinting
- Logging and Debugging
- ML Monitoring Guide