Skip to content
This repository was archived by the owner on Mar 2, 2026. It is now read-only.

Djurson/TNM112

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TNM112 - Deep learning for media technology

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.

Repository Structure

The project is organized into three main laboratory modules:

Lab 1: Multi-Layer Perceptrons (MLP)

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.py to explore hyperparameters like batch size, learning rates, and network depth.
  • Analysis: Investigated the impact of training data size and neuron density on model accuracy.

Lab 2: Convolutional Neural Networks (CNN)

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.

Lab 3: Autoencoders (AE)

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.

Getting Started

Prerequisites

  • Python 3.x
  • Pip (Python package manager)

Installation

  1. Clone the repository:

    git clone [https://github.com/Djurson/TNM112.git](https://github.com/Djurson/TNM112.git) && cd TNM112
  2. Install the required dependencies:

    pip install -r requirements.txt

Running the Notebooks

Most experiments are documented in Jupyter Notebooks for easy visualization:

jupyter notebook Lab1/lab01.ipynb
jupyter notebook Lab2/lab02.ipynb

Technologies & Tools

Languages: Python Deep Learning: TensorFlow / Keras, PyTorch Data Science: NumPy, Matplotlib, Scikit-learn Environment: Jupyter Notebooks


Results & Visualization

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.

About

Repository for the course TNM112, containing implementations of Multi-Layer Perceptrons, Convolutional Neural Networks with Residual Blocks, and Autoencoders using TensorFlow, Keras, and PyTorch.

Resources

Stars

Watchers

Forks

Contributors