Code Monkey home page Code Monkey logo

gnn's Introduction

Generalized Neural Network (GNN)

This bundle provides a generalized ECL interface to Keras over Tensorflow.

It provides Keras / Tensorflow operations parallelized over an HPCC cluster.

Tensorflow Models are created transparently on each HPCC node, and training, evaluation and predictions are done in a distributed fashion across the HPCC cluster.

GNN is designed to handle any type of Neural Network model that can be built using Keras. This includes Classical (Dense) Neural Networks as well as Convolutional and Recursive Networks (such as LSTM), or any combination of the above.

GNN currently supports Tensorflow 2.x versions. It also supports the use of GPUs in conjunction with Tensorflow, with certain restrictions in the supported topology. Specifically:

  • All servers in a cluster must have the same GPU configuration
  • The number of HPCC nodes must equal the number of GPUs.

One GPU will be allocated to each HPCC node. See GNNI module documentation for details.

The Module GNNI defines the ECL interface to Keras. It supports any Keras model (Functional or Sequential), and allows models with multiple inputs and outputs.

Input to GNNI is in the form of Tensor records. The built-in Tensor module defines these Tensors and provides functions for operating on them. Tensors provide an efficient N-dimensional representation for data into and out of GNNI.

INSTALLATION

Python3 and Tensorflow must be installed on each server running HPCC Systems Platform software. Tensorflow should be installed using su so that all users can see it, and must be installed using the same version of Python3 as is embedded in the HPCC Systems platform. The file Test/SetupTest.ecl can be used to test the environment. It will verify that Python3 and Tensorflow are correctly installed on each Thor node. To Install GNN, run:

ecl bundle install https://github.com/hpcc-systems/GNN.git

EXAMPLES

The files Test/ClassicTest.ecl and ClassificationTest.ecl show annotated examples of using GNN to create a simple Classical Neural Networks using the Keras Sequential model.

The file Test/FuncModelTest.ecl shows an example of building a classical regression / classification network with multiple inputs and outputs using the Keras Functional model.

The folder Test/HARTests contains tests that show how to create more sophisticated Convolutional and Recurrent networks.

The folder Test/PretrainedModelTest contains tests that show how to use the pre-trained models.

OTHER DOCUMENTATION

Programmer Documentation is available at: HPCC Machine Learning Library A tutorial on installing and running GNN is available at: Generalized Neural Network Blog

gnn's People

Contributors

boqiang-li avatar championshuttler avatar ghalliday avatar lilyclemson avatar nsel1727 avatar richardkchapman avatar rogerdevln avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.