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