How to get started with X: a guide for TensorFlow.js Users
Table of Contents
- How to get started with Machine Learning
- How to get started with Browser Based Development
- How to get started with Node.JS Development
- How to get started with Contributing to TensorFlow.js
TensorFlow.js is a tool that provides building blocks for building deep neural networks. However the fields of machine learning (ML) and deep learning (DL) are vast. If you want to write your own models or tweak existing ones, it is useful to gain a working knowledge of core concepts and techniques from the field of machine learning.
A great high level introduction to neural networks to get started with is Neural Networks by 3blue1brown.
These resources focus on TensorFlow.js and are also focused on beginners to machine learning.
- TensorFlow.js: Intelligence and Learning Series by Coding Train [Video]
- TensorFlow.js: Color Classifier by Coding Train [Video]
These are fairly comprehensive online courses that cover a large amount of machine learning and deep learning material. However the reality is that at this point in time most courses use Python as the primary language of instruction. However the concepts do translate to using TensorFlow.js even if the syntax doesn’t.
- Machine Learning Crash Course by Google [Video] [Online coding exercises (Python)]
- Deep Learning Specialization by Coursera [Video]
- Neural Networks and Deep Learning by Michael Nielsen [Online Book]
- Deep Learning with Python by Francois Chollet [Book]
- CS231n: Convolutional Neural Networks for Visual Recognition by Stanford [Video] [Slides]
- Hands-on Machine Learning with Scikit-Learn and TensorFlow by Aurélien Géron [Book]
Machine Learning is a math heavy discipline, and while it is not necessary to understand the math if you are just using machine learning models, if you plan to modify machine learning models or build new ones from scratch, familiarity with the underlying math concepts can be helpful.
- Essence of Calculus by 3blue1brown [Video]
- Essence of Linear Algebra by 3blue1brown [Video]
- Linear Algebra by Khan Academy [Video]
- Calculus by Khan Academy [Video]
If you are just getting started and find TensorFlow.js a bit overwhelming but still want to experiment with machine learning in the browser, you may be interested in checking out the following resources:
- ML5 is a library built on top of TensorFlow.js that provides a higher level API to machine learning algorithms in the browser.
- tfjs-models is a small but growing collection of pre-trained models with straightforward APIs to perform various tasks. These allow you to treat the machine learning aspect completely as a black box.
If you are using TensorFlow.js in the browser it will be helpful to know a few things about browser development and the DOM.
- Getting started with Web Development by Mozilla [Website]
There are lots of different ways to contribute to TensorFlow.js. The first thing to think of is what kind of contribution are you interested in making:
Source code contributions don’t have to be complex. Improvements to documentation, error messages and tests are very welcome and require varying levels of knowledge of how the library works. One thing common to all contributions is learning how GitHub works as that is how we manage TensorFlow.js projects. If you want to make code contributions, familiarity with TypeScript will be necessary.
- GitHub Hello World by GitHub
- Github Intro to Forking Projects by GitHub
- TensorFlow.js Contributors Guide by the TensorFlow.js team
- TypeScript Documentation by Microsoft
Another great contribution is learning resources like blog posts and open source examples that others can read and learn from. If you have made something you think others might find useful, feel free to share it on the TensorFlow.js Community Mailing List. We also maintain a list of community projects here.