https://github.com/OAID/Caffe-HRT
Heterogeneous Run Time version of Caffe. Added heterogeneous capabilities to the Caffe, uses heterogeneous computing infrastructure framework to speed up Deep Learning on Arm-based heterogeneous embedded platform. It also retains all the features of the original Caffe architecture which users deploy their applications seamlessly.
https://github.com/OAID/Caffe-HRT
arm arm-compute-library arm-gpu arm-neon artificial-intelligence caffe cnn dnn machine-learning
Last synced: 7 months ago
JSON representation
Heterogeneous Run Time version of Caffe. Added heterogeneous capabilities to the Caffe, uses heterogeneous computing infrastructure framework to speed up Deep Learning on Arm-based heterogeneous embedded platform. It also retains all the features of the original Caffe architecture which users deploy their applications seamlessly.
- Host: GitHub
- URL: https://github.com/OAID/Caffe-HRT
- Owner: OAID
- License: other
- Created: 2017-06-02T06:06:00.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-16T20:30:51.000Z (about 7 years ago)
- Last Synced: 2024-08-05T02:01:23.537Z (about 1 year ago)
- Topics: arm, arm-compute-library, arm-gpu, arm-neon, artificial-intelligence, caffe, cnn, dnn, machine-learning
- Language: C++
- Homepage:
- Size: 51.2 MB
- Stars: 270
- Watchers: 45
- Forks: 101
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Caffe-HRT
[](LICENSE)
Caffe-HRT is a project that is maintained by **OPEN** AI LAB, it uses heterogeneous computing infrastructure framework to speed up [Caffe](http://caffe.berkeleyvision.org/) and provide utilities to debug, profile and tune application performance.
The release version is 0.5.0, is based on [Rockchip RK3399](http://www.rock-chips.com/plus/3399.html) Platform, target OS is Ubuntu 16.04. Can download the source code from [OAID/Caffe-HRT](https://github.com/OAID/Caffe-HRT)
* The ARM Computer Vision and Machine Learning library is a set of functions optimised for both ARM CPUs and GPUs using SIMD technologies. See also [Arm Compute Library](https://github.com/ARM-software/ComputeLibrary).
* Caffe is a fast open framework for deep learning. See also [Caffe](https://github.com/BVLC/caffe).
### Documents
* [Installation instructions](acl_openailab/installation.md)
* [User Manuals PDF](acl_openailab/user_manual.pdf)
* [Performance Report PDF](acl_openailab/performance_report.pdf)
* [Accuracy Report PDF](acl_openailab/accuracy_report.pdf)
### Arm Compute Library Compatibility Issues :
There are some compatibility issues between ACL and Caffe Layers, we bypass it to Caffe's original layer class as the workaround solution for the below issues
* Normalization in-channel issue
* Tanh issue
* Softmax supporting multi-dimension issue
* Group issue
Performance need be fine turned in the future
# Release History
The Caffe based version is [793bd96351749cb8df16f1581baf3e7d8036ac37](https://github.com/BVLC/caffe/tree/793bd96351749cb8df16f1581baf3e7d8036ac37).
### Version 0.5.0 - Jan 31, 2018
Support Arm Compute Library version 17.12
### Version 0.4.1 - Nov 23, 2017
Support Arm Compute Library version 17.10
### Version 0.4.0 - Oct 11, 2017
Support Arm Compute Library version 17.09
### Version 0.3.0 - Aug 26, 2017
Support Arm Compute Library version 17.06 with 4 new layers added
* Batch Normalization Layer
* Direct convolution Layer
* Locally Connect Layer
* Concatenate layer
### Version 0.2.0 - Jul 2, 2017
Fix the issues:
* Compatible with Arm Compute Library version 17.06
* When OpenCL initialization fails, even if Caffe uses CPU-mode,it doesn't work properly.
### Version 0.1.0 - Jun 2, 2017
Initial version supports 10 Layers accelerated by Arm Compute Library version 17.05 :
* Convolution Layer
* Pooling Layer
* LRN Layer
* ReLU Layer
* Sigmoid Layer
* Softmax Layer
* TanH Layer
* AbsVal Layer
* BNLL Layer
* InnerProduct Layer
# Issue Report
Encounter any issue, please report on [issue report](https://github.com/OAID/Caffe-HRT/issues). Issue report should contain the following information :
* The exact description of the steps that are needed to reproduce the issue
* The exact description of what happens and what you think is wrong