Welcome to the PyTorch: From Basics to Scratch repository! This repository is designed to help learners understand PyTorch fundamentals and deep learning concepts step by step, progressing from beginner to advanced topics.
Lesson | Title | Description | Why It's Useful |
---|---|---|---|
L1 | Introduction | Overview of PyTorch, installation, and basic concepts. | Provides a strong foundation for deep learning with PyTorch. |
L2 | Starting with Tensors | Introduction to tensors, basic operations, and manipulation. | Tensors are the core data structure in PyTorch; mastering them is essential. |
L3 | Autograd | Understanding automatic differentiation in PyTorch. | Essential for backpropagation and optimizing neural networks. |
L4 | Training Pipeline | Building a simple training pipeline for neural networks. | Helps in structuring and automating the training process. |
L5 | NN Module | Exploring PyTorch's torch.nn module for building neural networks. |
Simplifies model building and allows modular implementation. |
L6 | DataLoader Class | Using PyTorch's DataLoader to efficiently load and preprocess data. |
Essential for handling large datasets and training efficiently. |
L7 | Implementing First ANN | Implementing a simple Artificial Neural Network (ANN) from scratch. | Provides hands-on experience in designing and training models. |
L8 | Training Using GPUs | Leveraging GPU acceleration for training deep learning models. | Enhances performance by utilizing CUDA-enabled GPUs. |
L9 | ANN Optimization | Techniques to optimize ANN training, including loss functions and optimizers. | Improves training efficiency and accuracy of deep learning models. |
L10 | Hyperparameter Tuning | Techniques to fine-tune hyperparameters for better model performance. | Helps in achieving optimal results by tuning parameters like learning rate, batch size, etc. |
L11 | Computer Vision (CV) Introduction | Basics of deep learning in computer vision applications. | Useful for building CV-based models like image classification. |
L12 | CNN in PyTorch | Implementing Convolutional Neural Networks (CNNs) in PyTorch. | CNNs are widely used in image recognition and classification tasks. |
L13 | First Paper Implementation | Implementing a research paper using PyTorch. | Helps in understanding how to translate research into working code. |
L14 | Continual Learning (Part 1) | Understanding the concept of continual learning in deep learning. | Enables models to learn incrementally from new data. |
L14 | Continual Learning (Part 2) | Advanced continual learning techniques and strategies. | Essential for long-term model adaptability and avoiding catastrophic forgetting. |
L15 | Transfer Learning | Applying pre-trained models to new tasks. | Saves training time and improves performance on smaller datasets. |
L16 | Data Augmentation | Techniques to augment data for improving model generalization. | Helps prevent overfitting by artificially increasing dataset size. |
L17 | Data Manipulation (Part 1) | Working with datasets, transformations, and preprocessing. | Essential for preparing data before training models. |
L17 | Data Manipulation (Part 2) | Advanced data preprocessing and manipulation techniques. | Improves data handling for complex machine learning tasks. |
- Clone the repository
git clone https://github.com/Shantnu-singh/PyTorch---Basic-to-Advance
- Set up a virtual environment (optional but recommended)
python -m venv venv venv\Scripts\activate
- Install dependencies
pip install -r requirements.txt
- Run Jupyter Notebook
jupyter notebook
Contributions are welcome! Feel free to open issues, suggest improvements, or submit pull requests here.