Skip to content

CooLearning/playground

Repository files navigation

CooLearning: playground

📖 Context

This project is based on tensorflow/playground.

It aims to bring interactivity to the user interface with USB controllers by using WebMIDI.

It has been authored at CREATIS Laboratory (Lyon, France).

🚀 Use

🌐 Online version

Available here.

⚡ Offline version

  • Go to releases
  • Download the coolearning-playground-v{version}.zip asset
  • Unzip the archive
  • Open index.html with chrome

🔨 Development environment

Automatic publishing and versioning are enabled on the master branch and handled by semantic-release.

Commit messages are expected to be formatted following the Angular Conventions.

git clone https://github.com/coolearning/playground.git
cd playground
yarn
yarn dev
# navigate to http://localhost:3000

💫 Features

There are two main categories of devices you can attach.

🖱️ Selector

This device usually provides a grid of colored backlit pads.

Use the grid to display the inputs, neurons and output of the current neural network.

  • Short press action:
    • enable/disable inputs and output links
    • select/unselect neurons
    • select/unselect layer
  • Long press action:
    • enable/disable neurons

🎛️ Controller

This device usually provides faders, potentiometers and buttons.

A controller has 3 main modes:

  • Default mode:
    • When nothing is selected, you can bind controls to parameters through the ** mappings UI**
  • Selection mode:
    • When neurons are selected, you can change their:
      • Source weights
      • Source biases
      • Source meta (learning rate, activation, etc.)
  • Layer mode:
    • When a layer is selected, you can change its:
      • Neurons biases
      • Neurons meta (learning rate, activation, etc.)

🧶 Constraints

  • chrome only compatibility
  • selector at least 64 pads
  • controller at least 8 faders
  • d3 version 3 dependency
  • No automatic configuration for unknown devices, you must provide a configuration file.

📚 Supported Devices

novation launch control xl