Data Format

Here is data format for exchange network structures and trained parameters.

Network Structure

Network structure and parameter will store with Google Protcol Buffer format internally.

Overview

Overvire 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
Specieal 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