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.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. union OperatorParam {
  26. param.Empty = 1,
  27. param.Axis = 2,
  28. param.Convolution = 3,
  29. param.MaskPropagate = 4,
  30. param.ConvPooling = 5,
  31. param.ConvBias = 6,
  32. param.SeparableConv = 7,
  33. param.Images2Neibs = 8,
  34. param.Pooling = 9,
  35. param.LRN = 10,
  36. param.BN = 11,
  37. param.ROIPooling = 12,
  38. param.WarpPerspective = 13,
  39. param.SpatialTfGridGenerator = 14,
  40. param.SpatialTfSampler = 15,
  41. param.MGBAddUpdate = 16,
  42. param.Elemwise = 17,
  43. param.ElemwiseMultiType = 18,
  44. param.PowC = 19,
  45. param.MatrixMul = 20,
  46. param.Winograd = 21,
  47. param.SVD = 22,
  48. param.Reduce = 23,
  49. param.Cumsum = 24,
  50. param.CondTake = 25,
  51. param.Argsort = 26,
  52. param.IndexingRemap = 27,
  53. param.MGBSleep = 28,
  54. param.Linspace = 29,
  55. param.LinspaceFull = 30,
  56. param.Eye = 31,
  57. param.UniformRNG = 32,
  58. param.GaussianRNG = 33,
  59. param.Flip = 34,
  60. param.Rotate = 35,
  61. param.ROICopy = 36,
  62. param.CvtColor = 37,
  63. param.WarpAffine = 38,
  64. param.GaussianBlur = 39,
  65. param.Resize = 40,
  66. param.Convolution3D = 41,
  67. param.Conv3DBias = 42,
  68. param.SeparableConv3D = 43,
  69. param.TopK = 44,
  70. param.RelayoutFormat = 45,
  71. param.SeparableFilter = 46,
  72. param.LocalShare = 47,
  73. param.ROIAlign = 48,
  74. param.DeformablePSROIPooling = 49,
  75. param.BatchConvBias = 50,
  76. param.DType = 51,
  77. param.PersistentOutputStorage = 52,
  78. param.OptionalAxis = 53,
  79. param.OptionalAxisV1 = 54,
  80. param.ExecutionPolicy = 55,
  81. param.AssertEqual = 56,
  82. Reserved0 = 57,
  83. param.CollectiveComm = 58,
  84. param.CondExecPred = 59,
  85. param.CondExecPredLogical = 60,
  86. param.CondExecMark = 61,
  87. param.CondExecMerge = 62,
  88. param.Host2DeviceCopy = 63,
  89. param.Dimshuffle = 64,
  90. param.AxisAddRemove = 65,
  91. param.IndexDescMaskDump = 66,
  92. DType = 67,
  93. param.Remap = 68,
  94. param.NMSKeep = 69,
  95. }
  96. table Operator {
  97. type_id:ulong;
  98. /// Operator parameter
  99. param:OperatorParam;
  100. /// ID of the input variable
  101. inputs:[uint];
  102. comp_node:[CompNode];
  103. output_name:[string];
  104. output_dtype:DType;
  105. tensors:[Tensor];
  106. priority:int = 0;
  107. /// Operator may want to save big, opaque byte buffers.
  108. blobs:[Blob];
  109. /// Operator may want to save more than one OperatorParam
  110. additional_params:[OperatorParam];
  111. }
  112. struct OutputVar {
  113. compact_id:uint;
  114. original_id:uint;
  115. }
  116. table Graph {
  117. mgb_version:uint;
  118. /// Hash of the graph computed in unspecified way. May be used as graph
  119. /// identifier.
  120. hash:ulong;
  121. nr_shared_tensor:uint;
  122. oprs:[Operator];
  123. output_vars_idx:[OutputVar];
  124. }
  125. root_type Graph;

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