top | item 14494337

Core ML: Integrate machine learning models into your app

171 points| yonilevy | 8 years ago |developer.apple.com

40 comments

order
[+] eggie5|8 years ago|reply
Apple's new iOS CoreML inference engine supports Keras models! Developers will be able to design and train model using Keras and then convert the architecture to run on the CoreML engine. I suppose you can run TensorFlow models too if you designed them w/ Keras.
[+] likelynew|8 years ago|reply
Yeah, that is surprising given that keras is not a language, but a continuously changing python class. How bug complete is the conversion? What about some new features like attention? And what about the future changes in keras?
[+] seanmcdirmid|8 years ago|reply
When "Core ML" is no longer a mini language to reason about ML the PL semantics...
[+] pjmlp|8 years ago|reply
Yeah, it crossed my mind as well.

But nowadays every time I see ML on HN, it happens to mean ML = Machine Learning instead of ML = programming language.

[+] singularity2001|8 years ago|reply
"BNNS does not do training, however. Its purpose is to provide very high performance inference on already trained neural networks." :(

https://developer.apple.com/documentation/accelerate/bnns

[+] eggie5|8 years ago|reply
yes, it's an inference engine that runs pre-built architectures. why would you want to train on the device?
[+] igravious|8 years ago|reply
BNNS = “Basic neural network subroutines” if you are not interested in clicking through!
[+] kensai|8 years ago|reply
"Core ML is optimized for on-device performance, which minimizes memory footprint and power consumption."

This is major, if they have managed to achieve it reasonably. But before opening a Sekt, I want to see some benchmarks. :)

[+] jamesswift3|8 years ago|reply
Federighi says Core ML on iPhone is 6x faster than Google Pixel and Samsung Galaxy S8.

How they actually compare?

[+] suyash|8 years ago|reply
The probably ran the same tests on Android using Pixel and S8 and then on iPhone (which leveraged CoreML). I would like to see a more detailed analysis myself.
[+] hackerbot|8 years ago|reply
using it means need to handle Android with another framework separately
[+] mksmurf777|8 years ago|reply
Is there any cross-platform framework recommended?
[+] db3d|8 years ago|reply
Lots of options to explore, but no reinforcement learning yet.

Also, some converted Core ML Models ready to use here: developer.apple.com/machine-learning

[+] halflings|8 years ago|reply
Reinforcement Learning relates to the way you train your model. Most of the time, it ends up being a feed-forward neural net (possibly with some convolutional layers), and rarely an RNN, all of which are supported.
[+] ajay-d|8 years ago|reply
The python package, coremltools, to convert the trained model is only for python 2.7??
[+] breatheoften|8 years ago|reply
Is python3 shipped on OS X by default? I'm not sure why they are still shipping 2.x -- anyone know if 3.x will be shipped in high sierra?

A bit disappointed that the model conversion tool only supports an older version of Keras as well (1.2.2). Keras 2.0 is pretty new but I hope they update the conversion tools for it quickly ...

I wonder if the conversion tool will be open source ... seems like they'd want to support the widest net of external models since they don't yet have a way to produce .coreml models directly. Or maybe the intent is to augment Keras/caffe/etc to support saving .coreml directly?

[+] dmix|8 years ago|reply
Having a directory of trained models to download is an interesting concept. This will certainly accelerate the adoption of ML.
[+] OldeElk|8 years ago|reply
Does it support caffe/TensorFlow/MXnet model inferencing?
[+] mtw|8 years ago|reply
Why not caffe2? And why mention libsvm, are we in the 90s?
[+] wodenokoto|8 years ago|reply
Because SVM is fast and more than good enough for most problems.
[+] ska|8 years ago|reply

   And why mention libsvm, are we in the 90s.
This is quite an odd question. It's not like CNNs entirely cover the same problem domain well. So why wouldn't you want SVM support?