Coder Social home page Coder Social logo

nonlinear1 / bowlocalizationcuda Goto Github PK

View Code? Open in Web Editor NEW

This project forked from heavenlyberserker/bowlocalizationcuda

0.0 1.0 0.0 10.68 MB

Bag of Words Localization algorithm on CUDA

Makefile 24.11% Shell 0.83% CMake 22.91% C 6.12% C++ 15.89% Cuda 30.14%

bowlocalizationcuda's Introduction

Bag of Words Localization

DAGNN - Directed Acyclic Graph Neural Network

The project focuses on trying to design an artificial neural network architecture capable of learning and replicating a noisy 1D signal. The goal is to be able to replicate the behavior of the retina's neural layers using an artificial neural network.

The motivation behind the project stems from the retina's neural layers, which have proven to be extremely effecient at processing visual input. As explained in [1], "in only three layers of cells, the retina compresses the entire visual scene into the sparse responses of only a million output cells." Notwithstanding its deceptive simplicity, "the retina performs a wide range of nonlinear computations, including object motion detection, adaptation to complex spatiotemporal patterns, encoding spatial structure as spike latency."[1]

Prerequisites

Before starting the installation program,

  • For macOS, make sure you have Xcode installed. A copy can be obtained for free from the Mac App Store. If mex -setup returns errors, see troubleshooting.
  • For Linux, make sure you have GCC 4.8 and LibJPEG are installed. To install LibJPEG in and Ubuntu/Debian-like distributions use: sudo apt-get install build-essential libjpeg-turbo8-dev For Fedora/Centos/RedHat-like distributions use instead: sudo yum install gcc gcc-c++ libjpeg-turbo-devel Older versions of GCC (e.g. 4.7) are not compatible with the C++ code in MatConvNet.
  • For Windows, make sure you have Visual Studio 2015 or greater installed.

Also, make sure the following Matlab toolboxes are installed:

  • Signal Processing Toolbox
  • DSP System Toolbox
  • Parallel Computing Toolbox
  • Communications System Toolbox
  • Bioinformatics Toolbox
  • Statistics and Machine Learning Toolbox

Installation

To install, run 'setup.m' in the directory where you want to install the program. The output will let you know whether you will need any additional toolboxes.

Execution

To execute the code, first add the path matconvnet/matlab using the command

addpath matconvnet/matlab

To run the program, run the file DagNNNoisy.m using the following command

DagNNNoisy.main()

Parameters and Data

The paths for the parameters and data are specified as variables atop DagNNNoisy.m. The parameters can be changed by modifying the json files to be read, while the data can be modified by creating new data .mat files.

Contributors

Yasin Zamani Hong Xu Neda Nategh

Sources

  1. McIntosh, Lane, and Niru Maheswaranathan. "A Deep Learning Model of the Retina." Trial 10 (2015): 20.

bowlocalizationcuda's People

Contributors

heavenlyberserker avatar rajathjavali 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.