Git Product home page Git Product logo

cuda2dconvolution's Introduction

Cuda2dConvolution

The purpose of this group assignment is to gain a deeper understanding of convolutional neural networks (CNNs) by implementing 2D convolution, min pooling, and max pooling on PNG images for AI deep learning purposes using C programming language and CUDA (Compute Unified Device Architecture).

First, we will begin by discussing the theory behind 2D convolution and the importance of convolutional layers in CNNs. Then, we will implement 2D convolution on a set of PNG images using C and CUDA. We will explore the effect of varying kernel size and stride on the output of the convolution operation. Additionally, we will also examine the performance impact of using CUDA to accelerate the computation.

Next, we will move on to discussing the concept of pooling and its role in CNNs. We will then implement min pooling and max pooling on the output of the convolution operation using CUDA and compare the results with the output obtained without pooling.

The group will then present the findings and results from the implementation in a formal report, which should include a detailed description of the methods used, the results obtained, and an analysis of the impact of the various parameters on the output of the convolution and pooling operations. Additionally, the group will also include a discussion of the implications of these findings for AI deep learning and future work in this field. It is expected that the report should also include a comparison of the performance of the implemented algorithm on both CPU and GPU.

To complete this assignment, it is expected that each group member will contribute to the implementation and report writing, and actively participate in group discussions. This assignment will provide a hands-on experience with implementing and analyzing CNNs using C and CUDA, and will aid in building a deeper understanding of these powerful deep learning models and the performance benefits of GPU acceleration.

cuda2dconvolution's People

Contributors

sicatriz avatar jelleclaes2 avatar indy2013 avatar smachkour 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.