This project was created as a hands-on introduction to PyTorch and hyperparameter tuning for deep learning models. Three different neural network architectures were built and experimented with to understand their performance and behaviors across various hyperparameter settings.
The project includes implementations of the following architectures:
- Shallow Net: A simple network with minimal layers to observe fundamental learning dynamics.
- MLP (Multilayer Perceptron): A classic fully-connected neural network with multiple hidden layers.
- LeNet-5: A convolutional network inspired by the LeNet-5 architecture, widely known for its role in early image classification tasks.
To run this project, you need Python and the following libraries:
- PyTorch
- Tensorboard
- Optuna
- ... Install dependencies with:
pip install -r requirement.txtThe project includes several runs/ directories that store log data for TensorBoard. These logs track model metrics, such as training loss and accuracy, across different training sessions, allowing for a visual analysis of model performance over time.
To visualize the logs, use TensorBoard. Run the following command, specifying the path to the runs/ directory:
tensorboard --logdir=runs/example_run