Distributed TensorFlow implementation of steering angle prediction model for self-driving car. Includes integration to run on ClusterOne.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
PATH TO YOUR LOCAL LOGS HERE! Revert "Patch" Aug 31, 2018
models Add absolute data path to allow non-/data directory on C1. More code … Nov 19, 2018
utils Add absolute data path to allow non-/data directory on C1. More code … Nov 19, 2018
LICENSE Rebranding TensorPort to ClusterOne Jan 15, 2018
LICENSE_COMMA Fix history Jul 20, 2017
README.md Update README.md Nov 29, 2018
main.py Fix absolute path, extra clarification Nov 20, 2018
requirements.txt Change to Estimator + clean code Nov 13, 2018


Demo of a Self-Driving Car Steering Model for Clusterone


This is a basic self-steering car model implemented in TensorFlow. It is used as a demo project to get started with the Clusterone deep learning computation platform.

Follow the Getting Started guide for Clusterone and read the author's original blog post about building this demo here.

Table of Contents


To run this project, you need:

  • Python 3.5+
  • Git
  • The Clusterone Python library. Install it with pip install clusterone
  • GitHub account. Create an account for free on https://github.com/.
  • A Clusterone account. Sign up here for your SaaS account.


Running a job on Clusterone is simple with the just command line tool that comes included with the Clusterone Python package.

Setting up

Follow the Set Up section of the Get Started guide to add your GitHub personal access token to your Clusterone account.

Then follow Create a project section to add self-driving-demo project. Use clusterone/self-driving-demo repository instead of what is shown in the guide.

Run on Clusterone

These instructions use the just command line tool. It comes with the Clusterone Python library and is installed automatically with the library.

If you have used Clusterone library before with a different Clusterone installation, make sure it is connected to the correct endpoint by running just config endpoint https://clusterone.com.

Log into your Clusterone account using just login, and entering your login information.

First, let's make sure that you have the project. Execute the command just get projects to see all your projects. You should see something like this:

>> just get projects
All projects:

| # | Project                    | Created at          | Description |
| 0 | username/self-driving-demo | 2018-11-19T21:13:30 |             |

where username should be your Clusterone account name.

Let's create a job. Make sure to replace username with your username.

just create job distributed \
  --project username/self-driving-demo \
  --name sdc-first-job \
  --docker-image tensorflow-1.11.0-cpu-py35 \
  --ps-docker-image tensorflow-1.11.0-cpu-py35 \
  --time-limit 1h \
  --command "python -m main --absolute_data_path /public/self-driving-demo-data/" \
  --setup-command "pip install -r requirements.txt"

Now the final step is to start the job:

just start job demo-user/sdc-first-job

you can find the job name by running the following:

>> just get jobs
All jobs:
| # | Name                      | Id       | Project                                | Status   | Launched at      |
| 1 | demo-user/sdc-first-job   | <JOBID>  | None/self-driving-demo:<PROJECTID>     | created  |                  |

You can monitor the execution of your job on Clusterone using just get events.

Instead of running the model from the command line, you can also use Clusterone's graphical web interface Matrix.

For a more detailed guide on how to run this project on Clusterone, check out the Getting Started guide. To learn more about Clusterone, visit our website.

If you have any further questions, don't hesitate to write us a support ticket on Clusterone.com or join us on Slack!


MIT © Clusterone Inc.

Comma dataset and data_reader.py by comma.ai, licensed as specified.