xwang2713 af235b6a65 HPCC-24153 add three Machine Learning Docker images build files il y a 5 ans
..
gnn af235b6a65 HPCC-24153 add three Machine Learning Docker images build files il y a 4 ans
gnn-gpu af235b6a65 HPCC-24153 add three Machine Learning Docker images build files il y a 4 ans
ml af235b6a65 HPCC-24153 add three Machine Learning Docker images build files il y a 4 ans
README.md af235b6a65 HPCC-24153 add three Machine Learning Docker images build files il y a 4 ans
build.sh af235b6a65 HPCC-24153 add three Machine Learning Docker images build files il y a 4 ans

README.md

HPCC Systems Machine Learning Docker Images

Current Machine Learning Features

  • ml: Scikit-Learning
  • gnn: Tensorflow 2 + Scikit-Learning
  • gnn-gpu: Tensorflow 2 with GPU support + Scikit-Learning

GNN and Tensorflow

Current HPCC Systems GNN officially support Tensorflow version 1.x. But latest HPCC Systems Docker images are based on Ubuntu 20.04 and linked Python 3.8 libraries which doesn't support Tensorflow version 1.x. To use Tensorflow 2 with GNN creating Tensorflow session as:

import tensorflow as tf
s = tf.compat.v1.Session()

Tensorflow 2 with GPU support

The new Tensorflow 2 and Nvidia Cuda libraries are not always compatible. It will be ideal if we can use Docker image by published by Tensorflow but the base image is Ubuntu 18.04 and we use Ubuntu 20.04. So instead we create the images by addiing Tensorflow 2 and Nvida Cuda, etc libraries on the top of hpccystems/platform-core image.

When preparing the Dockerfile, specially for Tensorflow 2 with GPU support it is import to reference Tensorflow and Nvidia Cuda Dockerfiles and Docker images to pick compatible libabries.

Docker image and Dockerfile Reference

Tensforflow

Nvidia Cuda

Build

Make sure desired hpccsystems/platform-core Docker image is avaiable otherwise this need be build first with buildall.sh script.

Go to ml images under /dockerfiles/ml directory:

./build -t <platform-core tag> -m <one of ml, gnn and gnn-gpu>

You can provide "-l" to build without version information as a default image. You need manually push the image to Docker repository such as Docker Hub.

Machine Learning features can also be built with buildall.sh when environment variable BUILD_ML is defined. To build all set BUILD_ML=all. To build individual or subset set, for exampl, BUILD_ML=gnn or BUILD_ML="gnn gnn-gpu".