Enabling GPU-Enhanced Computer Vision and Machine Learning Research Using Containers

Video analytics frameworks often rely on Neural Networks to perform their tasks. For example, a “You Only Look Once” object detection algorithm applies a single neural network to each image, divides the image into regions, and predicts bounding boxes (weighted by the predicted probabilities) with probabilities for each region. Those algorithms often run more efficiently on hardware accelerators. Libraries which use CUDA enabled GPUs can achieve tremendous advances in speed for those functionalities. Frequently, video analytic researchers develop large solutions to allow them to solve problems with complex setup procedures for other researchers to be able to duplicate their efforts. Here we present a software solution that can be run on multiple computer environments without having to customize systems and software, and support the measurement of the performance of machine learning algorithms on disparate datasets. In this publication, we introduce a common base container that provides GPU-optimized access to common Computer Vision (CV) and Machine Learning (ML) libraries, and can be used as the building container (think Docker FROM) for complex analytics to be interactively designed and tested, and as the base for Docker container images that can be shared between analytics researchers.