The following commands are available on the command line of the machine running NeoPulse® AI Studio. They can be used to manage training, querying, and inspecting results.

start

$ neopulse start [options]

Starts NeoPulse® AI Studio, which consists of container services as well as worker processes running on the host OS.

[options]

  • -h, --help output usage information
  • -F, --force bypass prompt and force NeoPulse® AI Studio to start.

Example:

$ neopulse start -F

status

$ neopulse status

Shows the status of the NeoPulse® AI Studio service components: the container service and the worker processes on the main OS. Display the status of these two separate components as well as the overall status. If everything is running correctly, this should print:

info: containers up: true, worker up: true
neopulse: is running

If either component is not running the status will display:

<component> up: False

train

$ neopulse train -p <project> -f <file>

Used to start the training of AI model(s). The NeoPulse® Modeling language (NML) file that you submit needs to be below /DM-Dash in the directory tree along with any files referenced by the NML script. When a project is submitted successfully, model ids for the models to be trained will be generated and returned.

NOTE: use absolute paths for any files referenced by .nml scripts and csv files.

[options]

  • -h, --help output usage information
  • -p, --project <project> REQUIRED - project name that will be created.
  • -f, --file <file> REQUIRED - full path to .nml file to specify training.

Example:

neopulse train -p Test_Project -f /DM-Dash/path/to/test.nml

visualize

$ neopulse visualize <project>

Opens TensorFlow’s visualization component TensorBoard on the project (See https://www.tensorflow.org/get_started/summaries_and_tensorboard). This visualization tool is visible on port 6006 of the localhost.

NOTE: Project must be an existing project that training has at least started on.

Example:

$ neopulse visualize Test_Project

stop

$ neopulse stop [options] <project>

Stop a model or a project that has been submitted for training. This model or all the models associated with the given project will not train if they haven’t started. If they have started, training will be interrupted.

[options]

  • -h, --help output usage information
  • -A, --all OPTIONAL - stop training all models for this project.

Example:

$ neopulse stop -A Test_Project

delete

$ neopulse delete <project>

Deletes all the files associated with the given project. This operation cannot be undone; it is used to completely remove projects that are no longer needed. You should use trim instead if you just want to clean up a project and keep only the best model/iteration.

Example:

$ neopulse delete Test_Project

top

$ neopulse top [options] <project>

Displays the top models in a project based on the metric provided. If no metric is provided, then by default models are displayed in order of highest training accuracy (acc). Additionally, the maximum number of models displayed can be set as well.

[options]

  • -h, --help output usage information
  • --metric <metric> OPTIONAL - metric to sort by.
  • -n, --number <number> OPTIONAL - how many top models to show.

Example:

$ neopulse top –-metric val_acc -n 5 Test_Project

logs

$ neopulse logs [options] <name>

Display the logs for either the “compiler” or the “worker” service. The compiler service refers to the compiler container which is a node.js webserver on port 8081. The worker service is a process running locally on the host that performs query and training operations using the GPU. Checking the raw logs of the worker can be valuable to make sure that models start training and errors haven’t occurred.

[options]

  • -h, --help output usage information
  • -l, --lines <lines> OPTIONAL - number of tail lines of log to show.

Examples:

$ neopulse logs -l 100 compiler
$ neopulse logs -l 500 worker

list

$ neopulse list [options] [project]

Provides functionality to display information about all training projects, a specific project, or a specific model within a project. This allows you to navigate your projects and models to easily see important information. When providing a project name or a model you can see all the metrics associated with that project, as well as any auto parameters and what values were assigned to those.

[options]

  • -h, --help output usage information
  • -m, --model <model> OPTIONAL - list information for a specific model.

Example:

neopulse list Test_Project

An example output of the above command:

neopulse: info for Test_Project currently 2/2 models completed training
MODEL           ITER    STATUS           METRICS                   CONV_1
r1fgjMHk--0     32  PRE_LOADED_MODEL val_loss,val_acc,loss,acc 64
r1fgjMHk--1     32  PRE_LOADED_MODEL val_loss,val_acc,loss,acc 128

Where the metrics that could be used for the commands “top” or “query” are listed under the column METRICS and the values of the one auto parameter for this specific project CONV_1 are displayed for both models that were created.

query

$ neopulse query [options] <project>

Once a model has been trained it can be queried. In general, you will probably just want to query the best performing models, so query is similar to the top command as it will list the top preforming models so you can pick one of those to query. Alternatively, you can also specify an exact model and iteration to query instead of picking from the best model/iteration for a given metric.

[options]

  • -h, --help output usage information
  • -f, --file <file> REQUIRED - path to .csv file to use as input.
  • --metric <metric> OPTIONAL - metric to sort by.
  • -n, --number <number> OPTIONAL - how many top models to show.
  • -m, --model <model> OPTIONAL - which model to use.
  • -i, --iter <iter> OPTIONAL - which training iteration to use.

Example:

$ neopulse query -f /DM-Dash/dsl/query.csv Test_Project

results

$ neopulse results [options]

The results command is similar to “list” for training, except it is used to show information only about queries. When a query job has been submitted a queryID is returned. This queryID will be the name of the file where the query results are saved in:

/DM-Dash/query_results/queryID.csv

[options]

  • -h, --help output usage information
  • -q, --query <query ID> OPTIONAL - query ID to show results for.
  • -S, --show OPTIONAL - flag to print the results for the query ID.
  • -C, --clear OPTIONAL - delete all of the query results in /DM-Dash/query_results Example:
$ neopulse results -q r1fgjMHK-0 -S
$ neopulse results -C

export

$ neopulse export [options] <project>

When a project has completed training and the results for a model/iteration are satisfactory, that specific model can be exported as a package. Exporting a package allows it to be easily loaded by the NeoPulse® Query Runtime. Similar to “top” and “query” you can specify a metric to list “best” models by. If no metric is specified, training accuracy is used by default and the user is displayed top results based on that metric.

[options]

  • -h, --help output usage information
  • --metric <metric> OPTIONAL - metric to sort by. DEFAULT metric is training accuracy.
  • -n, --number <number> OPTIONAL - number of top models to show.
  • -m, --model <model> OPTIONAL - a specific model to export.
  • -i, --iter <iter> OPTIONAL - which training iteration to use.
  • -f, --file <file> OPTIONAL - a file name to export the contents to, will be saved in path /DM-Dash/exports. Default value is the model id.

Example:

$ neopulse export Test_Project -f New_model

trim

$ neopulse trim [options] <project>

After training, has completed for a project you will want to delete models and iterations that did not produce the best results. This is necessary because training can produce large models on the root drive. NeoPulse® AI Studio will crash if space runs out on “/” so be careful to trim after training a project.

[options]

  • -h, --help output usage information
  • --metric <metric> OPTIONAL - metric to sort by. DEFAULT metric is training accuracy.
  • -n, --number <number> OPTIONAL - number of top models to show.
  • -m, --model <model> OPTIONAL - a specific model to save.
  • -i, --iter <iter> OPTIONAL - which training iteration to use.

Example:

$ neopulse trim Test_Project

import

$ neopulse import [options]

Imports a project that was trained and exported with NeoPulse® AI Studio to the current machine.

[options]

  • -h, --help output usage information
  • -p, --project <project> REQUIRED - project name for imported project
  • -f, --file <file> REQUIRED file to import (a .zip file)

Example:

$ neopulse import -p Test_Project -f New_model.pim

kill

$ neopulse kill [options]

Kills the container services as well as any worker processes running on the local OS. If an operation is underway in NeoPulse® AI Studio, e.g. training or querying, all those results will be lost.

[options]

  • -h, --help output usage information
  • -F, --force OPTIONAL - bypass prompt and force NeoPulse® AI Studio to terminate.

Example:

$ neopulse kill -F