Tfignite is a project that stems from ignite. Ignite is a high-level library to help with training neural networks in PyTorch, while Tfignite bares similar design / api and is designed dedicated to tensorflow 2.0.
Tfignite separates training/evaluation loop from model/dataset computation graph. This makes a single training/evaluation script highly portable to different project and developers only need to focus on how to build the model and dataset for their tasks. The difference from Keras is that the training/evaluation loop is not part of Model's APIs; instead, developers define model forward pass function, which is then injected into the loop defined by an
Engine. Users can also register event handlers in different phases of a training/evaluation loop (for e.g.
Apart from the aforementioned separation of model forward pass function and boilerplate loop in
Engine (ignite has full credits for this). Tfignite further reduce boilerplate code by defining the
Model: Defines the
create_evaluatorfunction, both of which injects a forward pass function to an
Engineand returns it to the training/evaluation script.
Dataset: Defines an unified interface
Callback: Defines a interface to group related
Engineevent handlers in different phases. For example,
Checkpointerloads the checkpoint at the beginning of training and stores the checkpoint on
ArgumentParser: Inherited from
argparse.ArgumentParser, the parser pass itself to the Model and Dataset classes for parsing Model-specific and Dataset-specific arguments. This further separates the Model development and the training/evaluation script.
pip install tfignite