Giter Club home page Giter Club logo

deeplearningkit's Introduction

Deep Learning Framework for Apple's tvOS, iOS and OS X

0. DeepLearningKit Publication

@misc{2015DeepLearningKit,
    author = {Amund Tveit, Torbjørn Morland and Thomas Brox Røst},
    title = {DeepLearningKit - an Open Source Deep Learning Framework for 
             Apple's iOS, OS X and tvOS developed in Metal and Swift}, 
    url = {https://arxiv.org/abs/1605.04614},
    howpublished = {Online}
}

1. DeepLearningKit Video Tutorials

1.1 How to Get Started with Deep Learning Kit for iOS (e.g. iPhone or iPad)

DeepLearningKit iOS Video Tutorial

1.2 How to Get Started with Deep Learning Kit for OS X (e.g. Macbook or iMac)

DeepLearningKit iOS Video Tutorial

1.3 How to Get Started with Deep Learning Kit for tvOS (new Apple TV)

DeepLearningKit iOS Video Tutorial

1.4 Tutorial - Image Handling in DeepLearningKit

[Link to Tutorial - Image Handling in DeepLearningKit]

2. Publication about DeepLearningKit?

Publication - DeepLearningKit - an Open Source Deep Learning Framework for Apple’s iOS, OS X and tvOS developed in Metal and Swift

3. Published under which Open Source Licence?

Apache 2.0 Licence

4. Want to help develop DeepLearningKit with Swift and Metal?

Check out deeplearningkit.org/contribute/

5. DeepLearningKit Overview?

DeepLearningKit Overview

6. Citing DeepLearningKit?

@misc{2015DeepLearningKit,
    author = {Amund Tveit, Torbjørn Morland and Thomas Brox Røst},
    title = {DeepLearningKit - an Open Source Deep Learning Framework for 
             Apple's iOS, OS X and tvOS developed in Metal and Swift}, 
    url = {https://arxiv.org/abs/1605.04614},
    howpublished = {Online}
}

deeplearningkit's People

Contributors

atveit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deeplearningkit's Issues

How to use this Kit

Hello,
I am a newbie in iOS and Deep learning. I went through the basics of Deep learning and Neural networks. The documentation doesn't say how to use this library?

I have a model with me which was written using Caffe Framework. How can I integrate it with DeepLearningKit?

Any detailed documentation available online?

P.S
I ran the DeepLearningiOSDemo app which is working perfectly on my iPhone.

Any help would be appreciated.
Thank you.

caffemodel2json.py discards data elements

Hi,

Thanks for open sourcing this great project.

I fine tuned Caffe's NIN with my own data, and tried to convert the model binary to json.

It successfully finished, but noticed data elements were skipped as follows.

46          if len(js_value) > 64 or (field.name == 'data' and len(js_value) > 8):
47              head_n = 5
48              js_value = js_value[:head_n] + ['(%d elements more)' % (len(js_value) - head_n)]

I commented out them, and produced the complete file.

Shouldn't they be commented out for DeepLearningKit?

Why Apache License ???

I've been looking at a lot of MIT licensed based Swift AI and Deep Learning efforts and they are more than sufficient to do good work.

It begs the question, why the Apache License? Why not the MIT license?

If I build an App that uses the Google Cloud Platform and DeepLearningKit, aren't I under obligation, more obligation than MIT license, that prohibits my sale of the application or other requirements?

CaffeModel2Json: Converting Caffemodel to Json, makes it 10x bigger?

Hi,

I am trying to convert trained caffemodel of size 33MB to JSON for deeplearning kit using caffemodel2json.py, surprisingly the size of the JSON output file is 10x, in my case it comes to 330MB. I feel accommodating that big file on iOS app will not be feasible option. Could you please guide me on how to procceed with this? Is there a way to reduce the file size by configuring py script?

Thanks

Performance on iPhone 6

Dear,

Thanks for sharing your code!
I'm running ios demo app on iPhone 6 and getting ~750ms. Is it ok? I saw your video and you got ~90ms...

thread number and thread group number setting

Dear author, I have some question with metal programming about thread number and thread group number setting. I change the thredsPerGroup from (1,1,1) to (32,1,1), and change the threadGroups from
(1,1,1) to (number,1,1), where number is (vectorcount+31)/32. But I didn't see any change or improve at processing time. I wonder know did i do the right setting? thanks.

Missing resources conv1.json nin_cifar10_full.json

The DeepLearningKitForiOSDemoApp project file references bundle resources named "conv1.json" and "nin_cifar10_full.json", but fails to copy them to the application bundle because the files do not exist.

Probably just forgot to add these files to the github repository.

Move all common code to a Library project

Hi,

I'm super stoked to see DeepLearningKit. It is a great starting point for neural nets using Metal and swift. I had this idea since Apple revealed Metal the first time and it is great to see that someone has started to work on it :)

For me personally as I start to experimenting with DeepLearningKit and thinking of integrating it into real apps the first thing that comes to mind is:

  • Would be great if DeepLearningKit was a library (easy to drop into any project)
  • A library with unit tests, bench-marking and other nice metrics
  • CI support that supports the collaboration and fast evolution/development

I don't know if someone is already doing something familiar, but my plans are:

  1. Turn DeepLearningKit in a library project
  2. Add unit testing
  3. Setup travis for CI - build and testing
  4. Publish in CocoaPods and Carthage
  5. Change the example code to use the library instead of the common files directly

Cheers,
Rafael

Add UIImage to RGB converter

Quoting the contribute page:

DeepLearningKit is missing basic conversion from e.g. UIImage to RGB (the example network supports 32x32x3 CIFAR RGB Image Format, but has no conversion from UIImage to it). Check out e.g. Drawing Images From Pixel Data – In Swift and Image Processing in iOS Part 1: Raw Bitmap Modification for inspiration.

height and weight mistakenly swapped

I see in the code that
MetalTensorDimensions(n: weight_shape[0], channels: weight_shape[1], width: weight_shape[2], height: weight_shape[3]).
Shouldn't the width to be the last dimension since caffe uses a row-major format? It is fine when the image is squared but not the general case.

El Captain required?

My mac OS version is Yousemite and do not support Metal.
Do we need El Captain to run this library on iOS?

Thank you for providing such an awesome library!

CaffeModel2Json Error on running caffemodel2json.py

Hi,

I am getting error while converting the caffe model 2 json using caffemodel2json.py

Command run:
python ./caffemodel2json.py caffe-master/src/caffe/proto/caffe.proto bvlc_alexnet.caffemodel > dump.json

Error:

protobuf: calling protoc Traceback (most recent call last): File "./caffemodel2json.py", line 65, in <module> subprocess.check_call(['protoc', '--proto_path', os.path.dirname(args.caffe_proto), '--python_out', args.codegenDir, args.caffe_proto]) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 535, in check_call retcode = call(*popenargs, **kwargs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call return Popen(*popenargs, **kwargs).wait() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__ errread, errwrite) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

Could you please help with this.
Thanks

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.