How to get started with X: a guide for TensorFlow.js Users

Doing machine learning with TensorFlow.js requires knowledge of a number of different domains, in particular: machine learning and neural networks, JavaScript, and either Node.JS or browser-based development. Depending on your background you may not be familiar with one or more of these areas. There are lots of great learning resources on the web, and we hope this guide can be a starting point for you in supplementing your knowledge in these areas.

Table of Contents

How to get started with Machine Learning

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.

TensorFlow.js Focused

These resources focus on TensorFlow.js and are also focused on beginners to machine learning.

Comprehensive Resources

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.

Math Concepts

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.

Other Tools

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:

How to get started with JavaScript (the programming language)

If you are new to Javascript, these resources are good places to start if you need an overview or tutorial on the language itself.

How to get started with Browser Based Development

If you are using TensorFlow.js in the browser it will be helpful to know a few things about browser development and the DOM.

How to get started with Node.JS Development

If you are using Tensorflow.js in Node.js, these resources introduce concepts more related to server side programming. You should already be familiar with JavaScript as a language.

How to get started with Contributing to TensorFlow.js

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:

Contributing to source code

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.

Creating learning resources and blog posts

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.