You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

schema.fbs 4.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. include "dtype.fbs";
  2. include "opr_param_defs.fbs";
  3. include "mgb_opr_param_defs.fbs";
  4. include "mgb_cpp_opr.fbs";
  5. namespace mgb.serialization.fbs;
  6. file_identifier "mgb1";
  7. table CompNode {
  8. logical_locator:string;
  9. }
  10. table Tensor {
  11. name:string;
  12. shape:[uint];
  13. comp_node:CompNode;
  14. dtype:DType;
  15. /// Size of the out of band tensor value blob.
  16. data_size:uint;
  17. /// Skip `offset` bytes before feeding data to value loader.
  18. offset:uint = 0;
  19. }
  20. /// Opaque byte buffer defined by operator implementation
  21. table Blob {
  22. data:[ubyte] (required);
  23. }
  24. table Reserved0 {}
  25. table DeprecatedParam {}
  26. union OperatorParam {
  27. param.Empty = 1,
  28. param.Axis = 2,
  29. param.Convolution = 3,
  30. param.MaskPropagate = 4,
  31. param.ConvPooling = 5,
  32. param.ConvBias = 6,
  33. param.SeparableConv = 7,
  34. param.Images2Neibs = 8,
  35. param.Pooling = 9,
  36. param.LRN = 10,
  37. param.BN = 11,
  38. param.ROIPooling = 12,
  39. param.WarpPerspective = 13,
  40. param.SpatialTfGridGenerator = 14,
  41. param.SpatialTfSampler = 15,
  42. param.MGBAddUpdate = 16,
  43. param.Elemwise = 17,
  44. param.ElemwiseMultiType = 18,
  45. param.PowC = 19,
  46. param.MatrixMul = 20,
  47. //Reserved for param.Winograd = 21,
  48. DeprecatedParam = 21,
  49. param.SVD = 22,
  50. param.Reduce = 23,
  51. param.Cumsum = 24,
  52. param.CondTake = 25,
  53. param.Argsort = 26,
  54. param.IndexingRemap = 27,
  55. param.MGBSleep = 28,
  56. param.Linspace = 29,
  57. param.LinspaceFull = 30,
  58. param.Eye = 31,
  59. param.UniformRNG = 32,
  60. param.GaussianRNG = 33,
  61. param.Flip = 34,
  62. param.Rotate = 35,
  63. param.ROICopy = 36,
  64. param.CvtColor = 37,
  65. param.WarpAffine = 38,
  66. param.GaussianBlur = 39,
  67. param.Resize = 40,
  68. param.Convolution3D = 41,
  69. param.Conv3DBias = 42,
  70. param.SeparableConv3D = 43,
  71. param.TopK = 44,
  72. param.RelayoutFormat = 45,
  73. param.SeparableFilter = 46,
  74. param.LocalShare = 47,
  75. param.ROIAlign = 48,
  76. param.DeformablePSROIPooling = 49,
  77. param.BatchConvBias = 50,
  78. param.DType = 51,
  79. param.PersistentOutputStorage = 52,
  80. param.OptionalAxis = 53,
  81. param.OptionalAxisV1 = 54,
  82. param.ExecutionPolicy = 55,
  83. param.AssertEqual = 56,
  84. Reserved0 = 57,
  85. param.CollectiveComm = 58,
  86. param.CondExecPred = 59,
  87. param.CondExecPredLogical = 60,
  88. param.CondExecMark = 61,
  89. param.CondExecMerge = 62,
  90. param.Host2DeviceCopy = 63,
  91. param.Dimshuffle = 64,
  92. param.AxisAddRemove = 65,
  93. param.IndexDescMaskDump = 66,
  94. DType = 67,
  95. param.Remap = 68,
  96. param.NMSKeep = 69,
  97. param.AdaptivePooling = 70,
  98. param.NvOf = 71,
  99. param.DctChannelSelect = 72,
  100. param.FakeQuant = 73,
  101. param.TQT = 74,
  102. param.Correlation = 75,
  103. param.LSQ = 76,
  104. param.GammaRNG = 77,
  105. param.PoissonRNG = 78,
  106. param.PermutationRNG = 79,
  107. param.BetaRNG = 80,
  108. param.SlidingWindowTranspose = 81,
  109. param.Padding = 82,
  110. param.ShuffleRNG = 83,
  111. param.CheckNonFinite = 84,
  112. param.LayerNorm = 85,
  113. param.Dropout = 86,
  114. param.RNNCell = 87,
  115. param.RNN = 88,
  116. param.LSTM = 89,
  117. param.Softmax = 90,
  118. param.Diag = 91,
  119. param.GroupNorm = 92,
  120. }
  121. table Operator {
  122. type_id:ulong;
  123. /// Operator parameter
  124. param:OperatorParam;
  125. /// ID of the input variable
  126. inputs:[uint];
  127. comp_node:[CompNode];
  128. output_name:[string];
  129. output_dtype:DType;
  130. tensors:[Tensor];
  131. priority:int = 0;
  132. /// Operator may want to save big, opaque byte buffers.
  133. blobs:[Blob];
  134. /// Operator may want to save more than one OperatorParam
  135. additional_params:[OperatorParam];
  136. name:string;
  137. }
  138. table Metadata {
  139. is_valid:bool;
  140. graph_modified:bool;
  141. user_info:string;
  142. optimize_options:ulong;
  143. }
  144. struct OutputVar {
  145. compact_id:uint;
  146. original_id:uint;
  147. }
  148. table Graph {
  149. mgb_version:uint;
  150. /// Hash of the graph computed in unspecified way. May be used as graph
  151. /// identifier.
  152. hash:ulong;
  153. nr_shared_tensor:uint;
  154. oprs:[Operator];
  155. output_vars_idx:[OutputVar];
  156. metadata:Metadata;
  157. }
  158. root_type Graph;