
# Gallery

Welcome to the TensorFlow.js gallery! This is a collection of TensorFlow.js projects, tutorials, videos, and more.

Please reach out to us if you'd like to put your project on the list.

## Demos & Applications

- [HumanGPS: Dense Human Correspondences](https://feitongt.github.io/HumanGPS/#Live_demo) -  A deep learning framework that maps each pixel to a feature space, where the feature distances reflect the geodesic distances among pixels as if they were projected onto the surface of a 3D human scan.
- [Time Series Forecasting](https://jinglescode.github.io/time-series-forecasting-tensorflowjs/) - Pull stock prices from online API, train and perform predictions using Long Short Term Memory, and predict the next value. [[demo](https://jinglescode.github.io/time-series-forecasting-tensorflowjs/)][[repo](https://github.com/jinglescode/time-series-forecasting-tensorflowjs)]
- [Textual Similarity Analysis](https://jinglescode.github.io/textual-similarity-universal-sentence-encoder/) - Group similar sentences with universal sentence encoder word embeddings [[demo](https://jinglescode.github.io/textual-similarity-universal-sentence-encoder/)][[repo](https://github.com/jinglescode/textual-similarity-universal-sentence-encoder)]
- [PoseAnimator](https://github.com/yemount/pose-animator/) - Animate any SVG character using your own body live via your webcam. Uses posenet and facemesh to create some really unique animations.
- [3D Face Doodles](https://github.com/cyrildiagne/ar-facedoodle) - What if your face was a canvas and you could paint on it in real time? Check out this experiment that does just that in real time in the browser.
- [Shaderbooth](https://shaderbooth.com/?85daa) - Experiment with WebGL Shaders + TensorFlow.js to create stunning visual effects such as shooting lasers from your eyes and more!
- [Veremin](https://github.com/vabarbosa/veremin) - Play and create music in thin air with this digital take of a Theramin instrument. [Even better when hooked up to Tesla Coils](https://www.youtube.com/watch?v=ywbNLHydgzA)
- [Man of many faces](https://twitter.com/thespite/status/1263576045577555969) - Create 3D masks of any face which you can then wear yourself.
- [Confront yourself](https://yiwenl.github.io/Sketches/exps/66/) - An artistic peice that allows you to confront yourself in this beautiful WebGL experience.
- [Virtual Tailor](https://www.youtube.com/watch?v=kFtIddNLcuM) - Get an estimate of your clothing size measurements in less than 15 seconds.
- [Paper Doll](https://github.com/bengfarrell/paperdoll) - What if you could colour in a drawing of a character and then bring the drawing to life using your own body as the controller? Well now you can. Bring drawings to life with Paper Doll.
- [Invisibility Cloak](https://github.com/jasonmayes/Real-Time-Person-Removal) - Bring your scifi movie dreams to life with this real time person removal system that runs in the browser.
- [Bring magazines to life](https://twitter.com/AlexandreDevaux/status/1254719491755433985) - Scan a magazine of a person in it and bring that person to life right infront of you using WebGL and WebXR.
- [Music Generation using Hands](https://twitter.com/prenalys/status/1250509352458268673) - turn your hands into a musical instrument using handpose.
- [Posenet2Scratch](https://github.com/champierre/posenet2scratch) Use the popular posenet model within the Scratch environment - a great way to get younger folk or those interested in using visual based editors to take their first steps. Also see [Handpose2Scratch](https://github.com/champierre/handpose2scratch) and [FaceMesh2Scratch](https://github.com/champierre/facemesh2scratch).
- [MLBlock](http://mlblock.org) A very advanced visual based edtior to explore many TensorFlow.js models and more. Combine sensors with models and see results live in your browser as you chain items together creating complex apps in minutes.
- [Touch The Dot](http://touch-the-dot.herokuapp.com/) - A game created using PoseNet which the player must hit the colored dots with the correct hand and gain as many points as possible (A webcam is a must). [library](https://github.com/OmriGM/body-pose-beat-game) by [Omri Grossman](http://github.com/OmriGM)
- [Object Tracking JS](https://cp4ms.csb.app/) - Track any object as it moves through a video with no training required. [library](https://github.com/cloud-annotations/object-tracking-js) by [Nick Bourdakos](http://github.com/bourdakos1)
- [NSFW JS](https://nsfwjs.com/) - Client-side indecent content checker. [library](https://github.com/infinitered/nsfwjs) and [blogpost](https://shift.infinite.red/avoid-nightmares-nsfw-js-ab7b176978b1) by [Gant Laborde](http://gantlaborde.com/)
- [Honkling](https://castorini.github.io/honkling/) - An in-browser keyword spotting system by Jaejun Lee, Raphael Tang, Jimmy Lin
- [TensorSpace.js](https://github.com/tensorspace-team/tensorspace) - A 3D visualization framework for neural networks, featuring interactive and intuitive display of models in the browser. Supports pre-trained models from TensorFlow, Keras, and TensorFlow.js.
- [Magenta Studio](https://magenta.tensorflow.org/studio) - A collection of music plugins built on Magenta’s open source tools and models using cutting-edge machine learning techniques for music generation.
- [Move Mirror](https://experiments.withgoogle.com/collection/ai/move-mirror/view) - An AI Experiment with Pose Estimation in the Browser using TensorFlow.js
- [Emoji Scavenger Hunt](https://emojiscavengerhunt.withgoogle.com/) - Locate the emoji we show you in the real world with your phone’s camera.
- [Semi-Conductor](https://semiconductor.withgoogle.com/) - Conduct your own orchestra in the browser by moving your arms.
- [Metacar](https://www.metacar-project.com/) - A reinforcement learning environment for self-driving cars in the browser.
- [Evolution Simulator](https://github.com/adityathebe/evolutionSimulator) - Evolution Simulator using NeuroEvolution
- [Play pong with webcam](https://ml4a.github.io/demos/tfjs/regression-pong.html) by Gene Kogan
- [Make music with PoseNet](https://ml4a.github.io/demos/tfjs/posenet-music.html) by Gene Kogan
- [Neural drum machine](https://codepen.io/teropa/pen/JLjXGK) by Tero Parviainen
- [Pose Music](https://codepen.io/teropa/pen/QxLrMp) by Tero Parviainen
- [Neural Arpeggiator](https://codepen.io/teropa/pen/ddqEwj) by Tero Parviainen
- [Neural Melody Autocompletion](https://codepen.io/teropa/pen/gvwwZL) by Tero Parviainen
- [Deep Roll](https://codepen.io/teropa/pen/zpbLOj) by Tero Parviainen
- [Latent Cycles](https://codepen.io/teropa/pen/rdoPbG) by Tero Parviainen
- [PoseNet + Pts.js](https://github.com/williamngan/pts/tree/master/demo/more/tfjs_posenet) - Visualizing pose with pts.js
- [Falling balls + DQN](http://web.sfc.keio.ac.jp/~t15704yn/falling/index.html) - A demo of a DQN agent that learns to dodge falling balls by seann999
- [Tenori Off](https://tenori-off.glitch.me/) - An ML-powered music sequencer by Monica Dinculescu
- [Hello TensorFlow.js](https://hello-tensorflow.glitch.me/) - Polynomial Regression by Monica Dinculescu
- [Simple MNIST GAN](https://mwdchang.github.io/tfjs-gan/) by Daniel Chang
- [Complementary Color Prediction](http://stelling.cc/complementary-color-prediction/) by Roberto Stelling
- [Mars at Home](https://github.com/MarsAtHome/marsjs) - Mars@Home client for Firefox & Chrome - Labels image from Unsplash in browser
- [Nxt Word](https://github.com/rajveermalviya/language-modeling) - Next Word Predictor - by Rajveer Malviya
- [Interactive Classification](https://github.com/poloclub/interactive-classification) - Modify images and see how deep learning classifiers respond
- [Hidden Markov Model with Gaussian emissions](https://github.com/nearform/node-hidden-markov-model-tf) - A trainable Hidden Markov Model with Gaussian emissions using TensorFlow.js. Used in [Node Clinic](https://clinicjs.org/blog/clinic-doctor-just-got-more-advanced-with-tensorflow-js/)
- [Emotion Extractor](https://brendansudol.com/faces/) by Brendan Sudol
- [Aida](https://aida.dor.ai/) Named entity recognition and text classification pipeline for creating chatbots by Rodrigo Pimentel
- [GAN Lab](https://poloclub.github.io/ganlab/) - An Interactive Visualization Tool for Playing with Generative Adversarial Networks (GANs)!
- [Canvas Friends](https://www.y8.com/games/canvas_friends) - Half game, half experiment to see if software can improve the drawing and artistic skills of people.
- [High School Level Tensorflowjs](http://rocksetta.com/tensorflowjs/) - Greater than 40 demos that can be online edited made as simply as possible using single web pages. All examples use the [<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs">](https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.js) specific version tag so the pages always work and no installation is needed - By Jeremy Ellis.
- [Gboard Physical Handwriting Version](https://landing.google.co.jp/tegaki/) - You can input a character by drawing it on your keyboard.
- [AICAMCAM](https://aicamcam.github.io) - A browser-based webcam video recording service with people/dog/cat detection functionality.
- [trynottolaugh](http://trynottolaugh.net) - Try not to laugh game with face landmark detection if you laugh during video you lose!
- [Neuroglancer](https://github.com/google/neuroglancer) - A browser-based app for examining 3D volumetric neuroimaging data.
- [Chester Radiology Assistant](https://mlmed.org/tools/xray) - A web-based tool for diagnosing chest x-ray images.
- [Membrane](https://membrane.today) - An interactive audiovisual tone mirror that responds to nose movement, by Ashlin Aronin.
- [MedSeg](https://www.medseg.ai) - Online interactive segmentation tool for radiological images.
- [Arabic Font Classification](https://mhmoodlan.github.io/blog/arabic-font-classification) - Tackling the visual font recognition problem for Arabic fonts by synthesizing a [dataset](https://github.com/mhmoodlan/arabic-font-classification/releases/tag/v0.1.0) and addressing domain mismatch challenges, by [Mahmoud Aslan](https://mhmoodlan.github.io)
- [NSFW Filter](https://github.com/nsfw-filter/nsfw-filter) - A browser extension to block NSFW images.
- [MIRNet-TFJS](https://github.com/Rishit-dagli/MIRNet-TFJS) - Converts and runs the MIRNet Model on the web which is capable of enhancing low-light images upto a really great extent - By Rishit Dagli. [[demo](https://mirnet-tfjs.rishit.tech/)][[repo](https://github.com/Rishit-dagli/MIRNet-TFJS)]
- [Custom Object Detection on browser using TensorFlow.js](https://github.com/NSTiwari/TensorFlow.js-Custom-Object-Detection) - An E2E app for custom object detection on the browser using TensorFlow.js; by Nitin Tiwari & Rony Benny.
- [audiate](https://cjbayron.github.io/audiate/) - Ear training game using Pitch Transcription model in the browser - By CJ Bayron [[demo](https://www.youtube.com/watch?v=VZ3i4V7i7Iw&t=2s)][[repo](https://github.com/cjbayron/audiate)]
- [Plant AI](https://github.com/Rishit-dagli/Greenathon-Plant-AI) - This web app identifies diseases in plants across 38 healthy and unhealthy plant categories by species and diseases all in the browser - By Rishit Dagli, Rishabh Singh and Rucha Yagnik. [[demo](https://www.plant-ai.tech/)][[repo](https://github.com/Rishit-dagli/Greenathon-Plant-AI)]
- [Brainchop.org](https://neuroneural.github.io/brainchop/) - Brings automatic 3D MRI segmentation capability to neuroimaging by running a deep learning model in the web-browser on the user side - By Mohamed Masoud and Sergey Plis. [[demo](https://neuroneural.github.io/brainchop/)][[repo](https://github.com/neuroneural/brainchop)][[wiki](https://github.com/neuroneural/brainchop/wiki)]
- [chestxray.ai](https://github.com/jordimassaguerpla/chestxray.ai) - X-Ray image of you Chest, and predicts the probability of having any of these 4 diseases:Cardiomegaly,Mass,Pneumotorax,Edema - By Jordi Massaguer Pla. [[repo](https://github.com/jordimassaguerpla/chestxray.ai)]
  
## Tutorials / Codelabs

These tutorials augment the [official tutorials](https://js.tensorflow.org/tutorials/).

- [Use Firebase Hosting to deploy and host a machine learning model at scale](https://codelabs.developers.google.com/codelabs/tensorflowjs-firebase-hosting-model/index.html?index=..%2F..index#0) by Jason Mayes
- [Using TensorFlow.js to train a "Rock-Paper-Scissors" model](https://heartbeat.fritz.ai/using-tensorflow-js-to-train-a-rock-paper-scissors-model-b5f393b548eb) by [Gant Laborde](http://gantlaborde.com/)
- [A gentle introduction to TensorFlow.js](https://medium.com/tensorflow/a-gentle-introduction-to-tensorflow-js-dba2e5257702) by Zaid Alyafeai
- [Train a model in tf.keras with Colab, and run it in the browser with TensorFlow.js](https://medium.com/tensorflow/train-on-google-colab-and-run-on-the-browser-a-case-study-8a45f9b1474e) by Zaid Alyafeai
- [Python Programming - Deep learning in the browser with TensorFlow.js](https://pythonprogramming.net/deep-learning-browser-introduction-tensorflowjs/) by Harrison Kinsley
- [Basic Tutorial with TensorFlow.js: Linear Regression](https://medium.com/@tristansokol/basic-tutorial-with-tensorflow-js-linear-regression-aa68b16e5b8e) by Tristan Sokol
- [Make a smart webcam in JavaScript with a pre-trained Machine Learning model](https://codelabs.developers.google.com/codelabs/tensorflowjs-object-detection/index.html?index=..%2F..index#8) by Jason Mayes
- [Time Series Forecasting with TensorFlow.js](https://jinglescode.github.io/2019/05/17/time-series-forecasting-with-tensorflow-js/) by [Jingles](https://github.com/jinglescode/)
- [Build Textual Similarity Analysis Web App](https://jinglescode.github.io/2020/02/10/build-textual-similarity-analysis-web-app/) by [Jingles](https://github.com/jinglescode/)
- [Train a Text Classifier on top of BERT within the Browser](https://alexfi.dev/blog/tensorflowjs-bert-train) by [Alexander Fischer](https://github.com/alexander-fischer/)

## Video tutorials

- [Beginning Machine Learning with TensorFlow.js](https://academy.infinite.red/p/beginning-machine-learning-with-tensorflow-js)
- [The Coding Train - TensorFlow.js Introduction](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YIeVA3dNxbR9PYj4wV31oQ)
- [The Coding Train - TensorFlow.js Color Classifier](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6bmMRCIoTi72aNWHo7epX4L)
- [Siraj Raval - TensorFlow.js Explained](https://www.youtube.com/watch?v=Nc8kZABv-KE)
- [Siraj Raval - Financial Forecasting using TensorFlow.js](https://www.youtube.com/watch?v=5Uw1iSwvHH8)
- [Siraj Raval - Webcam tracking with TensorFlow.js](https://www.youtube.com/watch?v=9KqNk5keyCc)
- [Angular Firebase - TensorFlow.js Quickstart](https://www.youtube.com/watch?v=Y_XM3Bu-4yc)

## Talks

- [TensorFlow dev summit](https://www.youtube.com/watch?v=YB-kfeNIPCE) - Official TensorFlow.js launch
- [Google I/O, Node.js binding launch](https://www.youtube.com/watch?v=OmofOvMApTU) - Official TensorFlow.js + Node.js launch
- [Deep Learning in JS - Ashi Krishnan - JSConf EU 2018](https://www.youtube.com/watch?v=SV-cgdobtTA)

## Blog posts

- [Custom object detection in the browser using TensorFlow.js](https://blog.tensorflow.org/2021/01/custom-object-detection-in-browser.html) by Hugo Zanini
- [Move Mirror](https://medium.com/tensorflow/move-mirror-an-ai-experiment-with-pose-estimation-in-the-browser-using-tensorflow-js-2f7b769f9b23?linkId=54484629) - An AI Experiment with Pose Estimation in the Browser using TensorFlow.js
- [Abstract art with ML](https://janhuenermann.com/blog/abstract-art-with-ml) by Jan Huenermann
- [Deep Overwatch with TensorFlow.js](https://medium.com/@farzatv/deepoverwatch-combining-tensorflow-js-overwatch-computer-vision-and-music-1a84d4598bc0) -  combining TensorFlow.js, Overwatch, Computer Vision, and Music by Farza
- [Real-time Human Pose Estimation in the Browser with TensorFlow.js](https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5) by Dan Oved
- [Getting Started with TensorFlow.js](https://medium.com/tensorflow/getting-started-with-tensorflow-js-50f6783489b2) by Laurence Moroney
- [Introducing TensorFlow.js](https://medium.com/tensorflow/introducing-tensorflow-js-machine-learning-in-javascript-bf3eab376db) by Josh Gordon and Sara Robinson
- [Solving the Chrome T-Rex Game with Neural Networks, Genetic Algorithms and TensorFlow.js (Chinese: 前端人工智能？TensorFlow.js 学会游戏通关)](https://zhuanlan.zhihu.com/p/35451395) by [@MagicCube](https://github.com/MagicCube)
- [A look at how we built the Emoji Scavenger Hunt using TensorFlow.js](https://medium.com/tensorflow/a-look-at-how-we-built-the-emoji-scavenger-hunt-using-tensorflow-js-3d760a7ebfe6) by Jacques Bruwer, JK Kafalas, and Shuhei Iitsuka from Google Brand Studio
- [Read a tensorflow demo to get started with machine learning](https://mp.weixin.qq.com/s/sffUvod_KlmvtVI-W3PLEQ) by [EuryChen](https://github.com/netpi) (Chinese: 读懂一个Tensorflow Demo 入门机器学习)

## Books

- [Learning Tensorflow.js: Powerful Machine Learning in JavaScript](https://amzn.to/3dR3vpY) - In this guide, author [Gant Laborde](https://github.com/gantman) provides a hands-on, end-to-end approach to TensorFlow.js fundamentals for a broad technical audience that includes data scientists, engineers, web developers, students, and researchers.

## Notebooks

- [Introduction to TensorFlow.js](https://beta.observablehq.com/@nsthorat/introduction-to-deeplearn-js) by Nikhil Thorat
- [How to build a Teachable Machine](https://beta.observablehq.com/@nsthorat/how-to-build-a-teachable-machine-with-tensorflow-js) by Nikhil Thorat
- [Smoothgrad in TensorFlow.js](https://beta.observablehq.com/@aman-tiwari/smoothgrad-in-tensorflow-js?linkId=53020429) by Aman Tiwari
- [Visualizing training using TensorFlow.js + MLB data](https://beta.observablehq.com/@nkreeger/visualizing-ml-training-using-tensorflow-js-and-baseball-d) by Nick Kreeger
- [Animation CPPNs](https://beta.observablehq.com/@emilyreif/animation-with-cppns) -  by Emily Reif

## Libraries using TensorFlow.js

- [ML5](https://ml5js.org/) - Friendly machine learning for the web
- [magenta.js](https://magenta.tensorflow.org/js) - Music and Art Generation with Machine Intelligence in the Browser.
- [Handsfree.js](https://github.com/handsfreejs/handsfree) - A library for adding face-controlled pointers to your site.
- [Handtrack.js](https://github.com/victordibia/handtrack.js) - A library for real-time hand detection directly in the browser.
- [face-api.js](https://github.com/justadudewhohacks/face-api.js) - A JavaScript API for face detection and face recognition in the browser.
- [machinelearn.js](https://github.com/machinelearnjs/machinelearnjs) - A general machine learning library like ScikitLearn directly in the Browser and Node.
- [TensorFlow.js GPU-accelerated t-SNE](https://github.com/tensorflow/tfjs-tsne) - A linear t-SNE for the web.
- [Pipcook](https://github.com/alibaba/pipcook) - A front-end algorithm framework to create a ML pipeline based on tfjs-node, which is similar to TFX but in JS.
- [danfo.js](https://github.com/opensource9ja/danfojs) - A powerful JavaScript data analysis toolkit inspired by the Python PANDAS library.
- [NSFW JS](https://github.com/infinitered/nsfwjs) - Client-side indecent content checker.
