This is a presentation which was held at the Monthly Computer Vision Meetup hosted by Anyline. Get an easy intro to Deep Learning on iOS by our CTO Daniel Albertini.
5. ● About iOS Development
● Accelerate.framework
● BNNS Functions
● About Tensorflow
● Tensorflow Deep MNIST Tutorial
Outline
6. ● Both Languages build on top of C
● -> C Code can be mixed with Objective-C / Swift
● C++ Code can be mixed with Objective-C Code
● Apple’s higher level public API’s are all written in
Objective-C
● The low level API like CoreAudio, CoreVideo, … are
all still written in C
Objective-C / Swift
7. C API’s for vector and matrix math, digital signal
processing, large number handling and image
processing
Optimized for high performance on arm64 chips.
Runs on the CPU
Accelerate.framework
8. vImage
Provides image processing capabilities like:
● Alpha composition
● Image format conversions
● Image convolution (smoothing, sharpening)
● Geometry functions
● Decompression filtering
● Histogram functions
● Morphology functions
● Image Transformations
Quadrature
Quadrature provides an approximation of the definite
integral of a function over a finite or infinite interval.
Accelerate.framework
9. vDSP
Provides functions releated to digital signal processing
like:
● Vector and matrix arithmetic
● Fourier transforms
● Convolution, correlation, and window generation
● Biquadratic filtering
BLAS & vecLib
Basic Linear Algebra Subprograms provide standard
building blocks for basic vector and matrix operations.
Accelerate.framework
10. BNNS
Allows you to configure NN with different kind of layers
and run the forward pass.
There are no backward propagation capabilities.
But you train your NN using tensorflow, caffe, … and then
export the weights for the BNNS.
BNNS functions are optimized for all CPU’s Apple
supports.
Accelerate.framework
11. BNNS
Supports the following 3 kinds of layers:
● Convolution Layer
● Pooling Layer
● Fully Connected Layer
There is also native GPU support for CNN’s, but that’s
part of Apple’s Metal Performance Shaders framework
and is a little harder to get started with.
Accelerate.framework
14. About Tensorflow
● Open Source Library for Deep Neuronal Networks
● Developed by Google and public available since late
2015
● 1.0 version was released 2 weeks ago
● Core is developed in C++ and it also runs on NVIDIA
GPU’s
● Works on a lot of platforms (Unix, Windows, iOS,
Android)
● High Level API’s written in Python