[Updated August 2018 to include info on new features such as Workspace]

I recently started to use Floydhub for deep learning, running Jupyter notebooks on GPU in the cloud. It was fairly straight forward to set up, much less complex compared to the alternatives of setup on AWS or Google Cloud Platform.

Overall I’m happy with Floydhub, and getting started was painless. It has nice documentation and very prompt response when contacted for support. I have also been very impressed by its fast pace of innovation of adding new features.

Image for post
Image for post
Above is a partial image of FloydHub’s main page

Here are a few simple steps for getting started with Floydhub.

Sign up at Floydhub

First sign up by filling in user name, password and email etc. You will then be taken to floyhub, with instructions on how to install floyd-cli. Receive an email to confirm account. Copy and paste the CLI authentication token in your terminal.

Floyd-CLI and Jobs

Go to terminal and install Floyd-cli, then log in to Floyd:

$ pip install -U floyd-cli # install floyd-cli
$ floyd login # log in to floyd
$ Authentication token page will now open in your browser. Continue? [Y/n]: y

A web page opens with the authentication token which you can copy and paste into the terminal window. You are now logged into floydhub.

Note: a few feature was recently added that allows you to specify your user name and password directly from the CLI, instead of using the authentication token:

$ floyd login --username [user-name] --password [password]

To run jobs on Floydhub you will need to create a project to hold those jobs. On floydhub.com, under “Projects” tab, click on “New Project” to create a new project.

On your computer, (optionally git clone a project), cd into the project folder, then initialize the floydhub project.

On terminal type the following to link project in your local directory to the FloydHub project you just created.

$ floyd init [project-name]

Note: in case you forgot to create a project on Floydhub first, after typing the $ floyd init [project-name] command, you will be prompted to create a new project on Floydhub. Then you will need to type the $ floyd ini [project-name] command again from the terminal.

To start a job on Floyd, simply use the $ floyd run command.

Specify the mode as jupyter to “floyd run” command to start Jupyter notebooks.

Specify the environment as Tensorflow but you can change it to other environments such as Keras, Pytorch or Caffe etc.

Optionally, you can specify a dataset name.

$ floyd run --mode jupyter --gpu --env tensorflow --data [dataset-name]

Many of the popular public datasets are available on Floydhub. In addition, you can also create your own dataset by uploading from your computer, or directly downing from the internet by specifying the URL of the data source.

You can also access all the projects and datasets from the popular deep learning programs such as Andrews Ng’s deeplearning.ai, Fast.ai and Udacity’s Deep Learning nanodegree. This is a very helpful feature for us students.

Use command below to check job status or view it in the web dashboard

$ floyd status [job-id] 

Note: job id looks like this: [user-name]/[project-name]/1

Protip: Always remember to shut down running jobs to avoid unnecessary charges. Also need to remember to download a copy of the Jupyter notebook from the job and replace your local copy with it.

$ floyd stop [job-id] Experiment shutdown request submitted. Check status to confirm shutdown

Note: job id looks like this: [user-name]/[project-name]/1

To log out of Floyd, simply type $ floyd logoutat the command line.

Workspace

A new feature released in June of 2018 called “workspace” now allows user to easily run Jupyter Notebook in the cloud.

You can perform the following actions:

  • run Jupyter Notebook
  • switch between CPU or GPU instance
  • access terminal to download datasets from theinternet
  • attach a dataset across different projects
  • upload or download data to/from your workspace

For more information on workspace, read the Floydhub documentation, blog and video.

Note Floydhub is adding new features rapidly so for more detailed and updated info, please refer to their online documentation here.

Written by

Google Developer Expert for ML | TensorFlow & Android

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store