tf_cnn_benchmarks accessed via DEEPaaS API
500K+
This is a container that will run the DEEP as a Service API component, DEEPaaS API, with tf_cnn_benchmarks from the TensorFlow team. The source code for integration of tf_cnn_benchmarks with DEEPaaS API is located in benchmarks_cnn_api.
The application is divided into two main 'types':
The 'benchmark' type is further subdivided into following 'flavors':
'benchmark' type has as inputs: 'flavor' and 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:
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.
To run the Docker container directly from Docker Hub and start using the API simply run the following command:
$ docker run -ti -p 5000:5000 -p 6006:6006 deephdc/deep-oc-benchmarks_cnn:type
This command will pull the Docker container from the Docker Hub deephdc repository and start the default command (deepaas-run --listen-ip=0.0.0.0).
docker-compose.yml allows you to run the application with various configurations via docker-compose.
N.B! docker-compose.yml is of version '2.3', one needs docker 17.06.0+ and docker-compose ver.1.16.0+, see https://docs.docker.com/compose/install/
If you want to use Nvidia GPU, you need nvidia-docker and docker-compose ver1.19.0+ , see nvidia/FAQ
If you want to build the container directly in your machine (because you want
to modify the Dockerfile for instance) follow the following instructions:
Building the container:
Get the DEEP-OC-benchmarks_cnn repository:
$ git clone https://git.scc.kit.edu/deep/DEEP-OC-benchmarks_cnn
Build the container:
$ cd DEEP-OC-benchmarks_cnn
$ docker build -t deephdc/deep-oc-benchmarks_cnn .
Run the container (if you enable JupyterLab during the build, --build-arg jlab=true,
you should also add port 8888, i.e. -p 8888:8888)::
$ docker run -ti -p 5000:5000 -p 6006:6006 deephdc/deep-oc-benchmarks_cnn
These three steps will download the repository from GitHub and will build the
Docker container locally on your machine. You can inspect and modify the
Dockerfile in order to check what is going on. For instance, you can pass the
--debug=True flag to the deepaas-run command, in order to enable the debug
mode.
Once the container is up and running, browse to http://localhost:5000 to get
the OpenAPI (Swagger) documentation page.
Content type
Image
Digest
Size
3.6 GB
Last updated
over 5 years ago
docker pull deephdc/deep-oc-benchmarks_cnn