This repository contains laboratory assignments and project work for the course TNM112: Deep learning for media technology. The projects focus on the fundamentals and practical applications of Deep Learning, covering architectures from simple Perceptrons to advanced Convolutional Neural Networks and Generative Models.
The project is organized into three main laboratory modules:
Focuses on the foundations of neural networks, including manual implementation and high-level API usage.
- Manual MLP: Implementation of a forward-pass and training logic from scratch (
mlp.py). - Keras Implementation: Using
keras_mlp.pyto explore hyperparameters like batch size, learning rates, and network depth. - Analysis: Investigated the impact of training data size and neuron density on model accuracy.
Focuses on computer vision and deep residual learning.
- Frameworks: Implementations provided in both PyTorch and TensorFlow.
- Architecture: Custom CNN designs including the implementation of Residual Blocks (ResNet style) to handle deeper network architectures.
- Performance: Comparative analysis of model performance and validation accuracy on image datasets.
Focuses on unsupervised learning and dimensionality reduction.
- Latent Space Exploration: Training autoencoders with various latent space dimensions (2, 16, and 64).
- Reconstruction Loss: Analysis of how the compression bottleneck affects the quality of image reconstruction.
- Visualization: Included plots of loss curves and reconstructed image samples.
- Python 3.x
- Pip (Python package manager)
-
Clone the repository:
git clone [https://github.com/Djurson/TNM112.git](https://github.com/Djurson/TNM112.git) && cd TNM112
-
Install the required dependencies:
pip install -r requirements.txt
Most experiments are documented in Jupyter Notebooks for easy visualization:
jupyter notebook Lab1/lab01.ipynb
jupyter notebook Lab2/lab02.ipynbLanguages: Python Deep Learning: TensorFlow / Keras, PyTorch Data Science: NumPy, Matplotlib, Scikit-learn Environment: Jupyter Notebooks
Training logs and performance figures (accuracy, loss, and reconstructions) can be found within the figures/ and Images/ subdirectories of each lab folder. Detailed reports in PDF format are also included for each assignment.
Developed as part of the Media Technology program at Linköping University.