- Supervisor: Dr. Mansoor Fateh
- Lab Coordinator: Dr. Amirreza Fateh
- Organization: Computer Vision Lab at Shahrood University of Technology (CVLab SHUT)
This project was conducted under the supervision of Dr. Mansoor Fateh at CVLab SHUT, focusing on deep learning and computer vision research. The work utilized Python along with key libraries including NumPy, Pandas, Matplotlib, and Seaborn for data analysis and visualization, as well as Keras, TensorFlow, and PyTorch for implementing and training deep learning models on standard datasets (MNIST and CIFAR-10). The research aimed to develop practical skills in building and optimizing neural networks while adhering to academic methodologies.
Below is a list of all notebooks included in this repository. Each notebook is accompanied by a short demo video showcasing its execution and key outputs.
A quick start guide to loading and exploring the MNIST handwritten digit dataset using Keras.
Loading_The_MNIST_Dataset.mp4
Introduction to NumPy arrays, indexing, slicing, broadcasting, and vectorized operations.
Playing_With_Numpy_Library.mp4
A set of practical exercises to reinforce NumPy skills, including array creation, manipulation, and mathematical operations.
NumPy_Exercises_From_Udemy_Course.mp4
Hands-on introduction to Pandas for data manipulation, filtering, grouping, and handling missing values.
Playing_With_Pandas_Library.mp4
Practical exercises covering real-world data analysis with Pandas, including aggregation, merging, and pivot tables.
Pandas_Exercises_From_Udemy_Course.mp4
Demonstration of scientific computing capabilities using Scipy: optimization, integration, interpolation, and signal processing.
Playing_With_Scipy_Library.mp4
Visualization techniques using Matplotlib: line plots, scatter plots, histograms, subplots, and custom styling.
Playing_With_Matplotlib_Library.mp4
Statistical data visualization using Seaborn: distribution plots, pair plots, heatmaps, and categorical plots.
Playing_With_Seaborn_Library.mp4
Building and training a fully connected neural network for digit classification (MNIST) using Keras. Includes data preprocessing, model evaluation, and confusion matrix.
Training_a_Digit_Recognition_Model_Using_Keras_on_the_MNIST_Dataset.mp4
Multi‑layer perceptron (MLP) for image classification on the CIFAR‑10 dataset using Keras. Covers data normalization, model tuning, and performance analysis.
Training_a_Recognition_Model_Using_Keras_on_the_CIFAR_10_Dataset.mp4
Extends the previous CIFAR‑10 model by adding convolutional layers to improve feature extraction and classification accuracy.
Training_a_Convolution_Dense_Layer_With_Recognition_Model_Using_Keras_on_the_CIFAR_10_Dataset.mp4
A comparative guide to defining models using Keras Sequential API vs Functional API, with examples of multi‑input and multi‑output architectures.
How_to_Define_Functional_And_Sequential_Keras_Models.mp4
Implementation of a neural network for digit classification using PyTorch, including data loaders, custom model definition, training loop, and evaluation.
Training_a_Digit_Recognition_Model_Using_Pytorch_Library_on_the_MNIST_Dataset.mp4
To run the notebooks, install the following dependencies:
pip install numpy pandas matplotlib seaborn scipy tensorflow keras torch torchvision jupyter- Python 3.8+
- Jupyter Notebook / JupyterLab
- Recommended: Create a virtual environment (e.g.,
condaorvenv)
-
Clone the repository:
git clone https://github.com/YasinRezvani/Hands_On_Machine_Learning_and_Deep_Learning_with_Python.git cd Hands_On_Machine_Learning_and_Deep_Learning_with_Python -
Launch Jupyter:
jupyter notebook
-
Open any
.ipynbfile and run the cells sequentially.
Contributions are welcome! If you find issues or want to add new notebooks, please open an issue or submit a pull request.
- Fork the repository.
- Create a new branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
This project is for educational purposes. Feel free to use and modify the code for learning and research, but please give appropriate credit.
- Dr. Mansoor Fateh and Dr. Amirreza Fateh for their guidance and supervision.
- CVLab SHUT for providing the research environment.
- The open‑source community for the excellent libraries and datasets used in this work.