A Dockerfile to build a Docker image which includes:
- Tensorflow with CUDA support,
- OpenCV with CUDA support, cuDNN support and Python 3 bindings,
- opencv-contrib,
- cvlib, a high-level and easy-to-use Computer Vision library for Python.
This image is based on the official NVIDIA Tensorflow Docker image. The Dockerfile is based on a modification of opencv-cuda-docker by Julian Aßmann.
- Latest NVIDIA GPU drivers (v.510 at the time of writing)
- Docker Engine
- NVIDIA Container Runtime / nvidia-docker2
Note: You will also need some available storage (more than 30GB is recommended).
cd <Dockerfile_directory/>
sudo docker build -t cvlib_cuda .
Building the image may take one to several hours depending on your specs.
Multiple warnings may pop up during the compilation of OpenCV.
sudo docker run -it --gpus all cvlib_cuda
Or, if you want the correct time to be reported in the container (tested on Ubuntu 18.04):
sudo docker run -it --gpus all \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
cvlib_cuda
If you wish to change/update the version of Tensorflow used in this image, you may change the version of the base image (line 1 of the Dockerfile).
If you wish to change/update the version of OpenCV used in this image, you may change the version specified after ARG OPENCV_VERSION=
.
You may then re-build the image.