TF Benchmarks

tf_cnn_benchmarks accessed via DEEPaaS API


Model | Trainable

Published by DEEP-Hybrid-DataCloud Consortium
Created: - Updated:

Model Description

Build Status

tf_cnn_benchmarks from TensorFlow team accessed via DEEPaaS API

tf_cnn_benchmarks contains implementations of several popular convolutional models (e.g. Googlenet, Inception, Overfeat, Resnet, VGG), and is designed to be as fast as possible. tf_cnn_benchmarks supports running on a single machine on a single GPU and multiple GPUs (please, note that running in distributed mode across multiple hosts is not supported by these Docker images). See the High-Performance models guide for more information.

The application has several 'flavors' implemented:

  • 'synthetic': generated in-memory data mimicking ImageNet dataset, avoids storage I/O
  • 'dataset': ca. 5GB subset of real ImageNet data is used (downloaded automatically but may take time!), therefore involves I/O. Useful in comparison with 'synthetic' flavor.
  • 'pro': possible to customize various inputs: neural network, batch_size, dataset, etc

'synthetic' and 'dataset' have as an input the number of GPUs only, the rest is defined inside the application: Both flavors run sequentially 100 batches of googlenet, inception3, resnet50, vgg16, and sum 'average_examples_per_sec' to derive the final 'score'. The optimizer is set to 'sgd'. The batch size is defined per GPU and scaled with the GPU memory. Initial batch_sizes are set for 4GB GPU memory as:

  • googlenet: 96
  • inception3: 24
  • resnet50: 24
  • vgg16: 16

It is also possible to run both flavors on CPU but the batch_size is fixed to 16 for all neural networks independent of the memory available.

References

[1] TF CNN Benchmarks: https://github.com/tensorflow/benchmarks/tree/master/scripts/tf_cnn_benchmarks

Test this module

You can test and execute this module in various ways.

Excecute locally on your computer using Docker

You can run this module directly on your computer, assuming that you have Docker installed, by following these steps:

$ docker pull deephdc/deep-oc-benchmarks_cnn
$ docker run -ti -p 5000:5000 deephdc/deep-oc-benchmarks_cnn

Execute on your computer using udocker

If you do not have Docker available or you do not want to install it, you can use udocker within a Python virtualenv:

$ virtualenv udocker
$ source udocker/bin/activate
(udocker) $ pip install udocker
(udocker) $ udocker pull deephdc/deep-oc-benchmarks_cnn
(udocker) $ udocker create deephdc/deep-oc-benchmarks_cnn
(udocker) $ udocker run -p 5000:5000  deephdc/deep-oc-benchmarks_cnn

In either case, once the module is running, point your browser to http://127.0.0.1:5000/ and you will see the API documentation, where you can test the module functionality, as well as perform other actions (such as training).

For more information, refer to the user documentation.

Train this module

You can train this model using the DEEP framework. In order to execute this module in our pilot e-Infrastructure you would need to be registered in the DEEP IAM.

Once you are registedered, you can go to our training dashboard to configure and train it.

For more information, refer to the user documentation.

Categories

docker, tensorflow, cnn, trainable, api-v1

License

License: MIT

Configure and train

Get the code

Github Docker Hub