RoboFlow is a semi-automated TensorFlow image classification explorer in a python command line app.


jump to: RoboFlow | Help | DetailedHelp

Purpose & Goal

RoboFlow was created to get a better sense for TensorFlow’s image classifier by making it easier to gather 1000s of similar images by hashtag (such as “#robot” or “#robotart”) to serve as re/training examples, and to enable easy testing of different TensorFlow hyperparameter settings for creating classifiers. specifically, tagged images are downloaded (your choice of Imgur API or Webstagram) and then sorted, according to a ‘confidencemin’ variable, into labeled sub-directories, which are periodically ‘harvested’ to retrain TensorFlow to create new classifiers.

roboflow start

downloads sources (imgur api or webstagram)

as of now, choose in the config file from two useful (and randomly non-responsive) sources:
Imgur API (much quicker, fewer tags, requires you get a free API key) or
webstagram (slower, more tags, no API key required)

‘BASETAG’ concept

because you can use roboflow for many separate classifiers, you need to pick a term for the broad master classification or theme of your classifier (such as ‘robots’, or ‘birds’, or whatever) so that images, classifier models and more can be stored separately under that BASETAG directory. You will do this in either the guided or advanced usages (see below).


There is an initial bootstrap stage in which you must manually sort a minimum number of images to allow the first retraining to create the first classifier per basetag. This tool will help you download 1000s of images pretty easily. After that first manual sorting, subsequent cycles of downloading, classifying/auto-sorting, and harvesting sorted images into the training_photos/labeled_directories for another cycle of retraining is waaaaay more automated.

hint: you can skip this step with a 1.4 gb download of robot images to place into training_photos/

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.




You will need tensorflow, the image classification codelab, and then roboflow:
STEP 1 (to get tensorflow)

STEP 2 (to get the image classification fir/file setup)

STEP 3 (to get the exploration/semi-automation tool)
Make sure to ‘cd’ into your TensorFlow directory at the same level as “tf_files” and “scripts” first.
Then clone the RoboFlow dirs/files with:

git clone

Your directories should look like this:

├── tensorflow
|  ├── roboflow
|  ├── scripts
|  ├── tf_files
|  |  ├── bottlenecks
|  |  ├── models
|  |  ├── testing_photos
|  |  |  ├── [autogenerated basetag dirs...]
|  |  ├── training_photos
|  |  |  ├── [autogenerated basetag dirs...]
|  |  ├── training_summaries
|  |  |  ├── [autogenerated basetag dirs...]

Et voila, you are ready to explore!

Guided usage:


As a shortcut, add an alias in your .bash_profile to launch it via alias ‘roboflow’:

alias roboflow="cd path/to/dir/roboflow/;python"

Advanced usage:

python [basetag] [imagequantity] [searchtag] [optional flowsteps]

for example:

python robots 200 robotart classify

Help: (or read the help docs online)

python --help

and dont forget to explore the config file.

Built With

  • Python 2.7 - The programming language
  • TensorFlow - An open-source software library for Machine Intelligence


I am very open to issues and pull requests. Looking for a place to start helping?


Contributions, Issues, and Pull requests Welcome!

See also the list of contributors who participated in this project.


This project is licensed under the Apache License 2.0 - see the file for details


  • Google’s TensorFlow-for-poets2
  • Imgur API (altho originally from Webstagram )
  • StackExchange
  • Twilio sms/python tools