|
- include "dtype.fbs";
- include "opr_param_defs.fbs";
- include "mgb_opr_param_defs.fbs";
- include "mgb_cpp_opr.fbs";
-
- namespace mgb.serialization.fbs;
-
- file_identifier "mgb1";
-
- table CompNode {
- logical_locator:string;
- }
-
- table Tensor {
- name:string;
- shape:[uint];
- comp_node:CompNode;
- dtype:DType;
- /// Size of the out of band tensor value blob.
- data_size:uint;
- /// Skip `offset` bytes before feeding data to value loader.
- offset:uint = 0;
- }
-
- /// Opaque byte buffer defined by operator implementation
- table Blob {
- data:[ubyte] (required);
- }
-
- table Reserved0 {}
-
- union OperatorParam {
- param.Empty = 1,
- param.Axis = 2,
- param.Convolution = 3,
- param.MaskPropagate = 4,
- param.ConvPooling = 5,
- param.ConvBias = 6,
- param.SeparableConv = 7,
- param.Images2Neibs = 8,
- param.Pooling = 9,
- param.LRN = 10,
- param.BN = 11,
- param.ROIPooling = 12,
- param.WarpPerspective = 13,
- param.SpatialTfGridGenerator = 14,
- param.SpatialTfSampler = 15,
- param.MGBAddUpdate = 16,
- param.Elemwise = 17,
- param.ElemwiseMultiType = 18,
- param.PowC = 19,
- param.MatrixMul = 20,
- param.Winograd = 21,
- param.SVD = 22,
- param.Reduce = 23,
- param.Cumsum = 24,
- param.CondTake = 25,
- param.Argsort = 26,
- param.IndexingRemap = 27,
- param.MGBSleep = 28,
- param.Linspace = 29,
- param.LinspaceFull = 30,
- param.Eye = 31,
- param.UniformRNG = 32,
- param.GaussianRNG = 33,
- param.Flip = 34,
- param.Rotate = 35,
- param.ROICopy = 36,
- param.CvtColor = 37,
- param.WarpAffine = 38,
- param.GaussianBlur = 39,
- param.Resize = 40,
- param.Convolution3D = 41,
- param.Conv3DBias = 42,
- param.SeparableConv3D = 43,
- param.TopK = 44,
- param.RelayoutFormat = 45,
- param.SeparableFilter = 46,
- param.LocalShare = 47,
- param.ROIAlign = 48,
- param.DeformablePSROIPooling = 49,
- param.BatchConvBias = 50,
- param.DType = 51,
- param.PersistentOutputStorage = 52,
- param.OptionalAxis = 53,
- param.OptionalAxisV1 = 54,
- param.ExecutionPolicy = 55,
- param.AssertEqual = 56,
- Reserved0 = 57,
- param.CollectiveComm = 58,
- param.CondExecPred = 59,
- param.CondExecPredLogical = 60,
- param.CondExecMark = 61,
- param.CondExecMerge = 62,
- param.Host2DeviceCopy = 63,
- param.Dimshuffle = 64,
- param.AxisAddRemove = 65,
- param.IndexDescMaskDump = 66,
- DType = 67,
- param.Remap = 68,
- param.NMSKeep = 69,
- }
-
- table Operator {
- type_id:ulong;
- /// Operator parameter
- param:OperatorParam;
- /// ID of the input variable
- inputs:[uint];
- comp_node:[CompNode];
- output_name:[string];
- output_dtype:DType;
- tensors:[Tensor];
- priority:int = 0;
-
- /// Operator may want to save big, opaque byte buffers.
- blobs:[Blob];
- /// Operator may want to save more than one OperatorParam
- additional_params:[OperatorParam];
- }
-
- struct OutputVar {
- compact_id:uint;
- original_id:uint;
- }
-
- table Graph {
- mgb_version:uint;
- /// Hash of the graph computed in unspecified way. May be used as graph
- /// identifier.
- hash:ulong;
- nr_shared_tensor:uint;
- oprs:[Operator];
- output_vars_idx:[OutputVar];
- }
-
- root_type Graph;
|