GithubHelp home page GithubHelp logo

simsam8 / inf265_project1 Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 1.11 MB

This project implements the backpropagation algorithm and compares it with pytorch's implementation.

Jupyter Notebook 94.81% Python 5.19%
back-propagation deep-learning gradient-descent python pytorch

inf265_project1's Introduction

INF265 Project 1: Backpropagation and Gradient Descent

This repository contains the code, documentation and report for a deep learning project completed as part of the course INF265: Deep Learning at the University of Bergen. The project assignment was completed as a collaboration between Simon Vedaa and Sebastian Røkholt. It was handed in on the 23rd of February 2024.

The aim of the project was to implement backpropagation and gradient descent with momentum and regularization, as well as perform some model evaluation and selection on the CIFAR-10 dataset. All tasks were completed successfully, and as a result, we gained two things:

  1. Valuable experience with PyTorch
  2. A deeper understanding of the deep learning training process

Feel free to clone or fork the repository, and don't hesitate to contact us or leave an issue if you have any questions. If you found the repository helpful, please leave us a star!

Setup

The project was created with Python 3.11. To run and replicate our results, make sure to install the project dependencies: pip install -r requirements.txt

To view and run the notebooks, launch Jupyter Notebook with jupyter notebook and select the .ipynb files to open them.

To reproduce our work with identical results, you should set the seed for the randoom state to 265, use CUDA (train on GPU) and set the default Pytorch data type to double.

File Structure

  • docs: Project assignment description and checklist.
  • imgs: Folder containing output images from notebooks.
  • report.md: Markdown for generating the project report.
  • report.pdf: The project report. Explains the design choices and general approach for solving the assignment.
  • requirements.txt: List of the Python dependencies for this project.
  • backpropagation.ipynb: Notebook implementing backpropagation.
  • gradient_descent.ipynb: Notebook implementing gradient descent, training loop, model evaluation and selection
  • tests_backpropagation.py: Tests to verify our implementation of backpropagation. Not written by us.

inf265_project1's People

Contributors

sebastianrokholt avatar simsam8 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.