Published in

  1. From iOS 11. We have the Metal Performance Shaders training graph. It seems like a great choice but GRU doesn’t work in MPS. Since inference on CPU is much faster for recurrent nets and Metal uses GPU, I am not sure that it is better in training than CPU for recurrent nets. Also, it is iOS/macOS only.
  2. From iOS 14. Owwwhh. Apple did a great job for NN training in this update. They updated BNNS, appended MLCompute. They added a Metal Performance Shaders Graph as well. But all these libs work on Apple devices only and starting from iOS 14 which is not very good. Also, all of them ignore my favorite GRU.
  • Conv1d;
  • BatchNorm;
  • RNN;
  • GRU;
  • LSTM;
  • Bidirectional;
  • Activation;
  • Dense;
  • TimeDistributedDense;
  • <Layer>CreateForInference; <Layer>CreateForTraininig (it allocates data for cache and accepts data with batch size > 1),
  • <Layer>ApplyInference, <Layer>ApplyTrainingBatch;
  • <Layer>CreateGradient, <Layer>CalculateGradient;
  • destroy functions
  • Cross-platform. It works on any iOS and Android device;
  • Opensource. Feel free to contribute and make it better;
  • Tiny. It’s really small since it’s written in C;
  • ARM NEON acceleration. Maybe I will support AVX in the future or you can help me with this;
  • It has a great performance on Apple devices because of using Accelerate framework.




Full-stack software development studio

Recommended from Medium

2020 Professional-Cloud-Developer Tests dumps, Google Professional-Cloud-Developer Test Exam…

The Value of Keeping the Sample Size Small

iOS 14.5 and Countly: a Match Made in the Clouds

My Learnings from #100DaysOfCodeChallenge 💯

Connecting IoT Devices to AWS IoT Platform

Dynamic Checkbox Widgets in Flutter

Asymptotic Analysis of Different Data Structures Operations

MiFID II Overview and Transaction Reporting — Part III

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alex Moiseenko

Alex Moiseenko

software developer and founder of

More from Medium

Common traps in development

How to Write Ternaries That Will Make Cartoon Heart Eyes Pulsate in and Out of Your Dev Team’s Eye…

Creating a Binary Search Tree, inserting and LeetCode 653

SFTP To Go Add-On By Crazy Ant Labs On Heroku