Data Format
Here is data format for exchange network structures and trained parameters.
Network Structure
Network structure and parameter will store with Google Protocol Buffer format internally.
Overview
Overview of network structure defined as following.
- NNablaProtoBuf
Root message of NNabla network structure. This message could be store GlobalConfig, TrainingConfig, Network(s), Parameter(s), Dataset(s), Optimizer(s), Monitor(s) and Executor(s).
- Variable
Internal data structure to store tensor for Neural network I/O and parameters.
- GlobalConfig
Configuration of environment that suggest to do train or inference.
- TrainingConfig
Configuration of training.
- Network
Network structure.
- Parameter
Special variable to store train result. (e.g Weight or Bias of affine layer)
- Dataset
Specify dataset for training.
- Optimizer
Define network, dataset, and input/output variables for train.
- Monitor
Define network, dataset, and input/output variables for monitor training status..
- Executor
Define network and input/output variables for train.
Structure for Training
TBD
Structure for Inference
TBD
Overall structure
Parameter
From the performance point of view, parameters can be saved in HDF 5 format.
File Format and extensions
- Protocol buffer text format file
.nntxt or .prototxt
- Protocol buffer serialized binary file
.protobuf
- HDF5
.h5
- NNP (ZIP archived file with above formats.)
.nnp