Skip to content

brianhill11/FPGA-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Synopsis

The objective of this project is to showcase the increased performance and efficiency of using custom computing rather than a fixed processor architecture by bench-marking the FPGA implementation of deep learning kernels against the GPU implementation. Code created during this project will be given to the open source community to increase awareness of configurable hardware and demonstrate the utility of FPGAs for deep learning. In doing so, students will become more familiar with programming for an FPGA as well as applying deep learning in a real-world application: diabetic retinopathy. The project will also showcase the power of using deep CNNs for computer vision by creating a binary classification system for breast invasive carcinoma tissue images.

Code Example

Show what the library does as concisely as possible, developers should be able to figure out how your project solves their problem by looking at the code example. Make sure the API you are showing off is obvious, and that your code is short and concise.

Motivation

We propose to create a "scalable," energy efficient method of deep machine learning that helps the diagnosis in the field of medicine with more accuracy and less time. We will be applying this method to classify severity in diabetic retinopathy images; in the field of cancer we will be applying this to breast invasive carcinoma for classifying the tumor grade or absence of tumor.

The implementation will be taking the most widely used machine learning open source algorithm that will be benchmarked against multiple implementations for energy efficiency study. Three of the most popular deep learning packages are Theano, Torch, and Caffe. We will select the most widely used open source software package that is used by the deep learning community and rewrite the kernels for a field-programmable gate array (FPGA) and compare it with other implementations (GPU) for energy efficiency study. All of the code will be shared with the open source community.

Installation

Provide code examples and explanations of how to get the project.

API Reference

Depending on the size of the project, if it is small and simple enough the reference docs can be added to the README. For medium size to larger projects it is important to at least provide a link to where the API reference docs live.

Tests

Describe and show how to run the tests with code examples.

Contributors

Brian Hill Sophia Zhang

License

A short snippet describing the license (MIT, Apache, etc.)