Skip to content
sleepKIT
Getting started
HELIA

sleepKIT CLI

Terminal
$ sleepkit --help sleepKIT CLI Options: --task [detect, stage, apnea] --mode [download, feature, train, evaluate, export, demo] --config ["./path/to/config.json", or '{"raw: "json"}']

The sleepKIT command line interface (CLI) makes it easy to run a variety of single-line commands without the need for writing any code. You can run all tasks and modes from the terminal with the sleepkit command.

sleepkit commands use the following syntax:

Terminal
sleepkit --mode [MODE] --task [TASK] --config [CONFIG]

Or using short flags:

Terminal
sleepkit -m [MODE] -t [TASK] -c [CONFIG]

Where:

  • MODE is one of download, feature, train, evaluate, export, or demo
  • TASK is one of detect, stage, or apnea
  • CONFIG is configuration as JSON content or file path

The download command is used to download all datasets specified in the configuration file. Please refer to Datasets for details on the available datasets.

CLI

The following command will download and prepare all datasets specified in configuration JSON file.

Terminal
sleepkit --task stage --mode download --config ./configuration.json

The feature command is used to extract features from the datasets specified in the configuration file using the specified feature set generator. Additional parameters can be set in the configuration file. Please refer to FeatureParams and TaskParams to see supported options.

CLI

The following command will extract features from the datasets using the reference configuration:

Terminal
sleepkit --task stage --mode feature --config ./configuration.json

The train command is used to train a sleepKIT model for the specified task and feature set. Each task provides a reference routine for training the model. The routine can be customized via the configuration file. Please refer to TaskParams to see supported options.

CLI

The following command will train a task model using the reference configuration:

Terminal
sleepkit --task stage --mode train --config ./configuration.json

The evaluate command will test the performance of the model on the reserved test sets for the specified task. The routine can be customized via the configuration file. Please refer to TaskParams to see supported options.

CLI

The following command will test the task model using the reference configuration:

Terminal
sleepkit --task stage --mode evaluate --config ./configuration.json

The export command will convert the trained TensorFlow model into both TensorFlow Lite (TFL) and TensorFlow Lite for micro-controller (TFLM) variants. The command will also verify the models’ outputs match. The activations and weights can be quantized by configuring the quantization section in the configuration file. Once converted, the TFLM header file will be copied to location specified by tflm_file. Please refer to TaskParams to see supported options.

CLI

The following command will export the task model to TF Lite and TFLM:

Terminal
sleepkit --task stage --mode export --config ./configuration.json

The demo command is used to run a task-level demonstration using either the PC or EVB as backend inference engine. Please refer to TaskParams to see supported options.

CLI

The following command will run a demo on the trained task model using the same supplied configuration file.

Terminal
sleepkit --task stage --mode demo --config ./configuration.json