Serrano
Aiming to offering popular and cutting edge techs in deep learning area on iOS devices, Serrano is developed as a tool for developers & researchers with deep learning background to quickly implement their ideas on iOS devices. Meanwhile, it supports macOS as a pure swift framework bonus.
Features
- Implemented an efficient NDArray class Tensor which supports:
- CPU calculation with BLAS/vecLib/vDSP for better performance
- GPU calculation on no-copy MTLBuffer for memory saving
- Offer common operators (operator list) for constructing various computation graphs and it is easy to implement custom operators
- Graph API support forward and backward with auto differentiation
- No third-party library dependent. Compatible with iOS 10 and macOS.
Install
Via CocoaPods
Install the latest version:
pod 'Serrano', :git => 'https://github.com/pcpLiu/Serrano.git'
Manually integrate into your workspace/project
Download or clone Serrano and drag serrano.xcodeproj
into your workspace or project.
Add Serrano
into the Target Dependencies
of your target.
Docs
The guides and APIs are hosted at http://serrano-lib.org.
Quick example
Check Serrano/Examples/Graph/VGG16.swift seeing how to use Graph API to construct a forward VGG16.
TinyYOLO Demo Project
Check Serrano-TinyYOLO, an iOS App do object detection on taken photo.
Questions && Issues
:bangbang: Please only open [bug]/[feature request] related issues in THIS repo and follow this issue guide. :bangbang:
For any general issue/discussion || framework support, please go to pcpLiu/SerranoExplore opening an issue. Also you can discuss on Gitter
macOSX
Serrano was developed as an iOS framework. However, the framework could be added and used in Cocoa applications (macOS App) without effort.
Contribution
Contribution are wanted :loudspeaker:. And please read the Contributing Guide before making a PR.
License
Serrano is liscensed under MIT. Copyright © 2017, Zhonghao (Tim) Liu.
Acknowledgement
Serrano are inspired and influenced by these open source projects: