This repository contains a series of Jupyter Notebooks that explore fundamental concepts in machine learning and deep learning, from basic algorithms to advanced neural network architectures. Each notebook serves as a practical, hands-on implementation of a key topic using PyTorch.
The projects are ordered to build upon foundational concepts, creating a clear learning path.
| # | Topic | Description |
|---|---|---|
| 1 | Perceptron | An implementation of the simplest single-neuron network for binary classification. |
| 2 | Gradient Descent | A deep dive into the foundational optimization algorithm used to train neural networks. |
| 3 | Universal Function Approximator | A demonstration of how neural networks can be used to approximate any continuous function. |
| 4 | Multi-Output & Batch Processing | Techniques for handling models with multiple outputs and processing data in batches for efficiency. |
| 5 | Classification in PyTorch | Building a complete multi-class image classification model using core PyTorch components. |
| 6 | Convolutional Networks (CNNs) | Implementing a CNN from scratch to solve image recognition tasks. |
| 7 | Transfer Learning | Leveraging a pre-trained model (like ResNet) and fine-tuning it for a new, custom dataset. |
| 8 | Open-Set Classification | Tackling the challenge of identifying samples that do not belong to any of the known training classes. |
| 9 | Convolutional Auto-Encoder | Building an unsupervised neural network for dimensionality reduction and feature extraction on images. |
| 10 | Learn to Write Like Shakespeare | Implementing an Elman network for character-level text generation to create new text in the style of Shakespeare. |
To run these notebooks, you will need a Python environment with Jupyter Notebook or JupyterLab.
- Clone the repository:
git clone git@github.com:acd17sk/Deep-Learning-Projects.git cd Deep-Learning-Projects - Install the required libraries. A
requirements.txtfile is recommended, but you can also install the core packages manually:pip install torch torchvision numpy matplotlib scikit-learn pandas
Navigate to the repository directory and launch Jupyter:
jupyter notebookThen, open any of the .ipynb files to explore the projects.
- Python 3
- PyTorch
- NumPy
- Matplotlib
- Scikit-learn