Skip to content

This Layer aim to prevent CNN faults by putting a threshold (a Range) on the Layers Domain

Notifications You must be signed in to change notification settings

NicolaDean/tensorflow-ranger-layer

Repository files navigation

Tensorflow Ranger CNN

⚠️ [WORK IN PROGRESS] ⚠️
This is a Tensorflow Implementation of the ranger layer concept described in various paper: Ranger Paper

HOW TO USE OUR HELPERS:

TODO LIST of Features:

  • Add init.py to make ranger easily includable
  • Make Ranger Layer modes compatible with tesnorflow op graph (to make them work outside of eager mode)
  • Automatically generate Fault Injection Campaign csv report
  • Automatically add Ranger after All Convolution and Maxpool from existing models as input
  • Helper Function To set Ranger Layers mode in an easy/fast way
  • Make easier to create a model with both Fault Injection Points and Ranger
  • Create an Helper class for Fault Aware Training
  • Make Ranger Batch Compatible to enable possibility of "Range Tune" using fit function (Faster than single prediction)

TODO LIST of Examples:

  • Move DataLoading functions and Training functions inside the models itself.
  • Fix Vgg16 Example (Some problem adding classes to Tensorflow Functional Models (????))
  • Add Classes also after Activation Relu

Experiments:

  • Per ogni sample del validatio
  • 300 injection per ogni sample
  • 4 Configurazioni
  1. Classes No Ranger
  2. Clipper-Value
  3. Clipper-Layer
  4. Threshold-Value
  5. Threshold-Layer

Principle IDEA:

The scope of this layer is to imporve reliability/robustness of CNN layers against Fault Tollerance of GPU. To do so, it introduce a domain range for each layer (here is the name Ranger) and for each inference it will handle in adeguate way the outsider values. 3 Possible way to handle Outsiders:

  1. Clip them to Zero
  2. Threshold them to the Maximum value of the domain
  3. Clip them to the mean of the layer values.

Paper of reference:

TUTORIAL:

TODO

RANGER helper class features:

  1. Allow a plug and play approach to ranger by simply convert existing models in 100% automatic way.
  2. Allow to easily Disable, Put in Train Mode, Put in Inference mode all the Ranger layers automatically.
  3. Allow to set up the threshold "Strongness" parameter on all the layers.

Prerequisites:

  1. Tensorflow >= 2.0
  2. Clone Classes GPU Fault Injector Framework "initialize.sh script" or download it from its repository github

Examples:

You can find an example of usage Here

About

This Layer aim to prevent CNN faults by putting a threshold (a Range) on the Layers Domain

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •