Skip to content

shashank03-dev/NVIDIA_courses

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

NVIDIA_courses

A curated collection of Jupyter Notebooks that accompany NVIDIA training materials and hands-on labs. This repository is intended to help students, researchers, and engineers learn and reproduce exercises from NVIDIA courses using interactive notebooks.

Language: Jupyter Notebook (100%)


Table of contents


About

This repository organizes and documents interactive notebooks that illustrate concepts and practical exercises from NVIDIA courses (e.g., deep learning, GPU programming, inference optimization). Notebooks are intended to be runnable, well-documented, and easy to adapt.

Target audience:

  • Learners following NVIDIA course material
  • Practitioners experimenting with GPU-accelerated workflows
  • Researchers prototyping models and inference optimizations

Contents & structure

This repository uses a simple, notebook-centric layout. Update or extend as your project grows.

  • notebooks/ - Primary Jupyter Notebooks (organized by topic or course)
  • datasets/ - Scripts or small sample datasets (large datasets kept externally)
  • resources/ - Slides, PDFs, notes, helper scripts
  • environments/ - Example environment files (conda YAML / requirements.txt)
  • docker/ - Dockerfiles or container-related instructions
  • README.md - This file

Tip: add a one-line description at the top of each notebook describing its purpose and any required data or environment constraints.


Requirements

Minimum software & hardware considerations:

  • Python 3.8+ (3.9/3.10 often supported — check individual notebooks)
  • JupyterLab or Jupyter Notebook
  • Recommended: NVIDIA GPU with compatible drivers for GPU-accelerated notebooks
  • CUDA toolkit and cuDNN appropriate to the deep learning frameworks you plan to use (check framework compatibility)
  • Common Python packages: numpy, pandas, matplotlib, scikit-learn, torch / tensorflow as required by individual notebooks

Important: Each notebook may specify exact versions and extra packages. Check the top of each notebook for environment notes.


Installation (example)

Below is an example conda-based environment. Adjust versions (especially CUDA/cuDNN) to match your system and framework requirements.

Create environment (example):

conda create -n nvidia_courses python=3.9 -y
conda activate nvidia_courses

# Install common packages (example)
conda install -c conda-forge jupyterlab numpy pandas matplotlib scikit-learn -y

# Install PyTorch (GPU) example — change cudatoolkit version per your GPU/drivers
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -y

# Or install TensorFlow (GPU) via pip
pip install tensorflow

Alternatively, use the provided environment YAML (if present):

conda env create -f environments/environment.yml
conda activate nvidia_courses

Running the notebooks

Locally (JupyterLab / Notebook)

  1. Activate your environment: conda activate nvidia_courses
  2. Launch JupyterLab: jupyter lab or classic notebook: jupyter notebook
  3. Open the notebook you want and run cells in order. Check the top of the notebook for dataset and hardware requirements.

Using Docker / NVIDIA Container Toolkit

For consistent GPU-enabled environments, use containers with the NVIDIA Container Toolkit:

  1. Install NVIDIA drivers and the NVIDIA Container Toolkit (nvidia-docker2 / nvidia-container-toolkit).
  2. Example run command:
docker run --gpus all -it --rm -p 8888:8888 \
  -v "$(pwd)":/workspace \
  nvcr.io/nvidia/pytorch:23.05-py3 \
  bash -c "cd /workspace && jupyter lab --ip=0.0.0.0 --no-browser --allow-root"

Replace the image with one that matches your frameworks (NVIDIA NGC images, official framework images, or a custom Dockerfile in docker/).

Google Colab

  • Upload the notebook to Colab or open directly from GitHub using Open in Colab.
  • Set Runtime → Change runtime type → GPU.
  • Install any missing packages at the top of the notebook (Colab images may use different CUDA versions).

Datasets and data storage

  • Keep small example datasets in datasets/.
  • For large datasets, provide scripts or links to download externally (e.g., public datasets, S3, Kaggle).
  • Standardize expected data paths in notebooks (e.g., data/ or datasets/) and document any required data layout at the top of each notebook.

Reproducibility notes

  • Set random seeds (NumPy, torch, TensorFlow) in notebooks to help reproduce experiments.
  • Record package versions (e.g., pip freeze > requirements.txt or conda env export > environment.yml) for precise reproduction.
  • Save checkpoints and outputs to an outputs/ directory (or persistent storage) rather than inline notebook state.

Example reproducibility tips (PyTorch):

import random, numpy as np, torch
SEED = 42
random.seed(SEED)
np.random.seed(SEED)
torch.manual_seed(SEED)
if torch.cuda.is_available():
    torch.cuda.manual_seed_all(SEED)
    torch.backends.cudnn.deterministic = True
    torch.backends.cudnn.benchmark = False

Contributing

Contributions are welcome — please follow these steps:

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Add or improve notebooks, include clear headings and environment notes.
  4. Add tests or verification steps when relevant.
  5. Submit a pull request describing the change.

Please open issues for:

  • Bug reports
  • Requests for new notebooks or course mappings
  • Environment inconsistencies

Consider adding a CONTRIBUTING.md if you expect multiple collaborators.


Acknowledgements & References

  • NVIDIA course materials and authors for the original content and exercises
  • NVIDIA NGC (NGC container images) and documentation
  • Open-source libraries used in notebooks (PyTorch, TensorFlow, RAPIDS, NumPy, etc.)

Please ensure you comply with the license and attribution requirements of any original NVIDIA course materials you reproduce or adapt.


Contact

Repository owner: shashank03-dev

If you'd like, include an email or preferred contact method here.


If you want, I can:

  • Commit this README to a new branch and open a pull request,
  • Customize the README with a generated table of contents that lists actual notebook files (I can scan the repo and add per-notebook descriptions), or
  • Produce environment.yml or Dockerfile samples tailored to the notebooks you have.

Tell me which action you'd prefer.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors