AI Benchmark Alpha is an open source python library for evaluating AI performance of various hardware platforms, including CPUs, GPUs and TPUs. The benchmark is relying on TensorFlow machine learning library, and is providing a lightweight and accurate solution for assessing inference and training speed for key Deep Learning models.

In total, AI Benchmark consists of 42 tests and 19 sections provided below:

  1. MobileNet-V2  [classification]
  2. Inception-V3  [classification]
  3. Inception-V4  [classification]
  4. Inception-ResNet-V2  [classification]
  5. ResNet-V2-50  [classification]
  6. ResNet-V2-152  [classification]
  7. VGG-16  [classification]
  8. SRCNN 9-5-5  [image-to-image mapping]
  9. VGG-19  [image-to-image mapping]
  10. ResNet-SRGAN  [image-to-image mapping]
  11. ResNet-DPED  [image-to-image mapping]
  12. U-Net  [image-to-image mapping]
  13. Nvidia-SPADE  [image-to-image mapping]
  14. ICNet  [image segmentation]
  15. PSPNet  [image segmentation]
  16. DeepLab  [image segmentation]
  17. Pixel-RNN  [inpainting]
  18. LSTM  [sentence sentiment analysis]
  19. GNMT  [text translation]

For more information and results, please visit the project website: http://ai-benchmark.com/alpha

Installation Instructions

The benchmark requires TensorFlow machine learning library to be present in your system.

On systems that do not have Nvidia GPUs, run the following commands to install AI Benchmark:

pip install tensorflow
pip install ai-benchmark

If you want to check the performance of Nvidia graphic cards, run the following commands:

pip install tensorflow-gpu
pip install ai-benchmark

If you want to check the performance of Nvidia graphic cards on aarch64 platform, you should install NVIDIA Container Toolkit, and use NVIDIA NGC container.

Note 1: If Tensorflow is already installed in your system, you can skip the first command.

Note 2: For running the benchmark on Nvidia GPUs, NVIDIA CUDA and cuDNN libraries should be installed first. Please find detailed instructions here.

Getting Started

To run AI Benchmark, use the following code:

from ai_benchmark import AIBenchmark
benchmark = AIBenchmark()
results = benchmark.run()

Alternatively, on Linux systems you can type ai-benchmark in the command line to start the tests.

To run inference or training only, use benchmark.run_inference() or benchmark.run_training().

To run on the aarch64 platform, use the following code:

DLFRAMEWORK=tf2 make images
docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 -it --rm ai-benchmark-tf2:bf0f727

Currently, we support PyTorch,TensorFlow 1.xandTensorFlow 2.x framworks, two cpu arch(arm64 and amd64).bf0f727 is the container tag when you build image.

Advanced settings

AIBenchmark(use_CPU=None, verbose_level=1):

use_CPU={True, False, None}:   whether to run the tests on CPUs  (if tensorflow-gpu is installed)

verbose_level={0, 1, 2, 3}:   run tests silently | with short summary | with information about each run | with TF logs

benchmark.run(precision="normal"):

precision={"normal", "high"}:   if high is selected, the benchmark will execute 10 times more runs for each test.


Additional Notes and Requirements

GPU with at least 2GB of RAM is required for running inference tests / 4GB of RAM for training tests.

TODO

  • PyTorch support.
  • GPU Metrics support.
  • Test Flops function and merge to results.
  • Add ShuffleNet v1/v2.