TensorFlow.js: Machine Learning for the Web and Beyond

TensorFlow.js is a library for building and executing machine learning algorithms in JavaScript. TensorFlow.js models run in a web browser and in the Node.js environment. The library is part of the TensorFlow ecosystem, providing a set of APIs that are compatible with those in Python, allowing models to be ported between the Python and JavaScript ecosystems. TensorFlow.js has empowered a new set of developers from the extensive JavaScript community to build and deploy machine learning models and enabled new classes of on-device computation. This paper describes the design, API, and implementation of TensorFlow.js, and highlights some of the impactful use cases.

[1]  Tom Davis,et al.  Opengl programming guide: the official guide to learning opengl , 1993 .

[2]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[3]  Steve Vinoski,et al.  Node.js: Using JavaScript to Build High-Performance Network Programs , 2010, IEEE Internet Comput..

[4]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[5]  Yuan Yu,et al.  TensorFlow: A system for large-scale machine learning , 2016, OSDI.

[6]  Blaise Agüera y Arcas,et al.  Federated Learning of Deep Networks using Model Averaging , 2016, ArXiv.

[7]  Anna Gerber,et al.  Opengl Programming Guide The Official Guide To Learning Opengl Versions 3 0 And 3 1 , 2016 .

[8]  Shan Carter,et al.  Using Artificial Intelligence to Augment Human Intelligence , 2017 .

[9]  Martin Wattenberg,et al.  Direct-Manipulation Visualization of Deep Networks , 2017, ArXiv.

[10]  Bo Chen,et al.  MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications , 2017, ArXiv.

[11]  Tatsuya Harada,et al.  WebDNN: Fastest DNN Execution Framework on Web Browser , 2017, ACM Multimedia.

[12]  Grant Potter,et al.  ConvNetJS: Deep Learning in your browser , 2017 .

[13]  Luca Antiga,et al.  Automatic differentiation in PyTorch , 2017 .

[14]  Blaise Agüera y Arcas,et al.  Communication-Efficient Learning of Deep Networks from Decentralized Data , 2016, AISTATS.

[15]  Alon Zakai,et al.  Bringing the web up to speed with WebAssembly , 2017, PLDI.

[16]  Elmar Eisemann,et al.  Linear tSNE optimization for the Web , 2018, ArXiv.

[17]  Curtis Hawthorne,et al.  Magenta.js: A JavaScript API for Augmenting Creativity with Deep Learning , 2018 .

[18]  Jürgen Schmidhuber,et al.  World Models , 2018, ArXiv.

[19]  Martin Wattenberg,et al.  GAN Lab: Understanding Complex Deep Generative Models using Interactive Visual Experimentation , 2018, IEEE Transactions on Visualization and Computer Graphics.

[20]  Elmar Eisemann,et al.  GPGPU Linear Complexity t-SNE Optimization , 2018, IEEE Transactions on Visualization and Computer Graphics.