Welcome to the Engine Documentation. Engine allows you to easily track and execute machine learning code. In this guide, we will walk you through creating an account and launching your first run.

Create an Account

In order to interact with Engine, create an account and set up your machine.

Install the CLI and Library

Use the following pip install command to install the Engine command line interface and python library. We recommend using a fresh virtual environment.

$ pip install --upgrade -i https://pypi.app.engineml.com/simple engineml-cli engineml

Set up Autocomplete

After you've installed the pip packages, enable autocomplete on the CLI. Autocomplete will allow you to tab-complete engine commands on your terminal.

$ engine autocomplete > ~/.engine/autocomplete
$ echo "source ~/.engine/autocomplete" >> ~/.bashrc

Add an SSH Key

Engine operates services that communicate over ssh. These services are secured via the use of ssh keys. If you do not have a public/private key pair, generate one:

$ ssh-keygen -t rsa -b 4096 -C "user@mycompany.com"
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Copy the public key contents with your favorite text editor or with pbcopy < ~/.ssh/id_rsa.pub. Paste the contents into the "Add SSH Key" modal on your settings page.

Generate an API Key

You will need your API key to login in on your terminal. Copy it from your settings page.

copy a API key

Log in

Use your new API key to log into Engine on your terminal with engine login. If you have not already added an ssh key to your account, you will be prompted to do so during the login process.

$ engine login 'API_KEY'
Welcome user@mycompany.com!

Launch a Run

Now that you have initialized your account, we can launch our first run.

Create a Project

Open the dashboard and create a new project called quickstart.

Engine ML hosts examples for training MNIST on GitHub

$ git clone git@github.com:EngineML/Examples.git
$ cd Examples


Engine uses run configurations to know how to execute your code. The --override flag of engine run automatically updates the repository field in your run configuration.

$ bash get-data.sh
$ pip install -r tf/mnist/requirements.txt
$ engine run tf/mnist/local.yaml -o repository owner/quickstart

View your new run by issuing engine dashboard or visit https://app.engineml.com