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