Skip to content

Files

baseball-node

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
May 7, 2018
May 14, 2018
Jan 23, 2019
Jul 1, 2019
Jul 1, 2019
Apr 7, 2023
Jul 1, 2019
Jul 1, 2019
Mar 14, 2019
Jul 1, 2019
Mar 14, 2019
Mar 14, 2019
Jan 23, 2019
Mar 21, 2022
Apr 7, 2023

TensorFlow.js Example: Training a baseball model in Node.js

This demo demonstrates how to train a server-side model to classify baseball pitch types using Node.js.

It has four parts:

  1. Baseball sensor training and test data.
  2. Two ML models that do classification given the sensor data:
    • Model that predicts the type of pitch.
    • Model that predicts if there was a strike.
  3. Node.js server that trains a model and serves results over a web socket.
  4. Web application that displays pitch type learning statistics.

Running the Demo

First, prepare the environment:

$ npm install
# or
$ yarn

Next, start the client:

$ npm run start-client
# or
$ yarn start-client

Open the client running at: http://localhost:8080/

In a new shell, start the server:

$ npm run start-server
# or
$ yarn start-server

Two small scripts are provided to test training both of the baseball models without running the client/server demo:

  • Pitch Type model:
$ node train_pitch_type.js
  • Strike Zone model:
$ node train_strike_zone.js

Baseball Models

This demo contains two models. The first is a pitch-type model used in the actual client/server architecture. The other model learns how to call balls and strikes like a major-league umpire. It currently does not have any presentation UI but exists for developers to experiment with.

  1. Pitch type model - Classifies 7 different pitch types looking at baseball sensor data (pitch-type-model.ts)
  2. Strike zone model - A model that can learns how to call balls and strikes based on historical umpire calls (strike-zone-model.ts).