Fundamentals of Deep Learning is an open-source, hands-on course from the NVIDIA Deep Learning Institute (DLI) that introduces neural networks, convolutional architectures, and transfer learning through interactive Jupyter notebooks.
Explore the full catalog of NVIDIA DLI courses and training opportunities on our training homepage.
In this course, learners will:
- Build and train neural networks using PyTorch on real image datasets
- Apply convolutional neural networks (CNNs) to image classification tasks
- Use data augmentation and transfer learning to improve accuracy on limited data
- Manage the bias-variance tradeoff and apply techniques to address overfitting
- Deploy a trained model to make predictions on new, unseen data
| # | Module | Slide Deck | Notebooks | Open in Colab |
|---|---|---|---|---|
| 01 | An Introduction to Deep Learning | slides_01.pptx | ||
| 02 | How a Neural Network Trains | slides_02.pptx | ||
| 03 | Convolutional Neural Networks | slides_03.pptx | ||
| 04 | Data Augmentation and Deployment | slides_04.pptx | ||
| 05 | Pre-Trained Models | slides_05.pptx | ||
| 06 | Advanced Architectures | slides_06.pptx |
🌟 Launch this course on NVIDIA Brev
- Click the Launch on Brev button above (or the badge at the top of this README).
- Sign in or create a free NVIDIA Brev account.
- Select a GPU instance — an NVIDIA T4 or L4 is sufficient for all five labs.
- Click Deploy. The environment will be ready in ~2 minutes with CUDA, Python, and all dependencies pre-installed.
- Open JupyterLab from the Brev console and navigate to the
course_content/tutorials/directory.
git clone https://github.com/NVDLI/fundamentals-of-deep-learning.git
cd course_contentPrerequisites: Python 3.10+, an NVIDIA GPU with CUDA 11.8+ (CPU-only works but is slow for later notebooks), PyTorch 2.5 or newer, and conda or pip. Then, install all the dependencies as follows.
pip install -r environment/requirements.txt
jupyter labThen open http://localhost:8888 in your browser and navigate to the
tutorials/ directory.
To deploy the content with the provided Dockerfile, run:
docker build -t fdl-app . && docker run -d -p 8888:8888 --name fdl-container --gpus all fdl-appThen open http://localhost:8888 in your browser and navigate to the
tutorials/ directory.
We welcome contributions from the community. To contribute:
- Fork this repository and create a feature branch:
git checkout -b feature/your-improvement
- Make your changes. Ensure notebooks are cleared of all output before committing.
- Open a Pull Request with a clear description of what changed and why.
For significant changes or new notebooks, please open an issue first to discuss. Please do not commit datasets or large binary files — use download scripts instead.
See CONTRIBUTING for full guidelines.
This repository uses a mixed licensing model:
- Source-code files and code cells in Jupyter notebooks: Apache License 2.0
- Documentation, Markdown and raw notebook cells, and NVIDIA-created educational media: Creative Commons Attribution 4.0 International
- Third-party material: its original license, as documented in THIRD_PARTY_NOTICES.md
Each complete Jupyter notebook is dual-licensed: code cells under Apache-2.0 and non-code cells under CC-BY-4.0. The combined dual-license terms are in LICENSES/CC-BY-4.0-Apache2_Dual_License.txt.
NVIDIA names, logos, and trademarks are not licensed for general reuse.