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 3.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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. }
  105. table Operator {
  106. type_id:ulong;
  107. /// Operator parameter
  108. param:OperatorParam;
  109. /// ID of the input variable
  110. inputs:[uint];
  111. comp_node:[CompNode];
  112. output_name:[string];
  113. output_dtype:DType;
  114. tensors:[Tensor];
  115. priority:int = 0;
  116. /// Operator may want to save big, opaque byte buffers.
  117. blobs:[Blob];
  118. /// Operator may want to save more than one OperatorParam
  119. additional_params:[OperatorParam];
  120. name:string;
  121. }
  122. table Metadata {
  123. is_valid:bool;
  124. graph_modified:bool;
  125. user_info:string;
  126. optimize_options:ulong;
  127. }
  128. struct OutputVar {
  129. compact_id:uint;
  130. original_id:uint;
  131. }
  132. table Graph {
  133. mgb_version:uint;
  134. /// Hash of the graph computed in unspecified way. May be used as graph
  135. /// identifier.
  136. hash:ulong;
  137. nr_shared_tensor:uint;
  138. oprs:[Operator];
  139. output_vars_idx:[OutputVar];
  140. metadata:Metadata;
  141. }
  142. root_type Graph;

MegEngine 安装包中集成了使用 GPU 运行代码所需的 CUDA 环境,不用区分 CPU 和 GPU 版。 如果想要运行 GPU 程序,请确保机器本身配有 GPU 硬件设备并安装好驱动。 如果你想体验在云端 GPU 算力平台进行深度学习开发的感觉,欢迎访问 MegStudio 平台