I'll add that at this point, there's isn't much 'lock in' between different frameworks. Once you've trained, and if your primitives are available in the target framework, porting is just a matter of getting your weights and topology into the right format. Not too hard compared to the nitty gritty of gathering data, designing a network, and doing training and hyperparameter optimization.
The energy efficiency is an excellent point.
Ultimately I am still extremely leery of the apple lock in factor in general and their arbitrary rulings of what is and is not okay within the garden.
I am still pretty upset and maybe even somewhat traumatized about all the previous times they've fucked me over in scenarios like this. It starts out great and then gets ruined.
edit It looks like I've hit the HN rate limiter, so I'm merging my reply:
Unfortunately I can't go into detail about these scenarios because I don't want to get into trouble with my employer. Suffice it to say that I no longer place trust in Apple keeping anything of value "open".
I haven't done much development using Apple frameworks. I'm curious, where has this happened to you before?
It doesn't necessarily have to be evil or crazy that they do this. In fact it would be strange if they worried excessively about preserving the performance of all legacy devices.
iOS is slightly different, as each time apple works to retain legacy devices and pushes out the major iteration of iOS, the performanceon other devices do suffer a little, but even with the most recent iOS release they started focusing on slicing down unnecessary parts of apps to save space.
Apple has really been working decently ont he preservation leg of their line up.
I'm disputing that this is done intentionally to degrade performance and make it more attractive to upgrade - which is what the original comment stated.
They actually disable most of the new effects on older hardware which indicates that they want the software to perform acceptably.
And more to the point, supporting older hardware at all extends the useful life of that hardware by allowing it to run modern applications and have access to new features.
We only just got iOS support in TensorFlow last week (https://developers.googleblog.com/2016/06/tensorflow-v09-now...), but this is something our team would like to get done, so stay tuned!
Both embrace modern languages instead of plain old C, have very nice visual debuggers.
Also on Android side, Google is all about Renderscript not OpenCL.
OpenCL had to become an almost irrelevant, for Khronos to step up with SPIR and SYS-C++.
Yet they did it again with Vulkan, being plain old C.