rknn-schema.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. export const rknn = {};
  2. rknn.Model = class Model {
  3. static identifier(reader) {
  4. return reader.identifier === 'RKNN';
  5. }
  6. static create(reader) {
  7. return rknn.Model.decode(reader, reader.root);
  8. }
  9. static decode(reader, position) {
  10. const $ = new rknn.Model();
  11. $.var1 = reader.int32_(position, 4, 0);
  12. $.format = reader.string_(position, 6, null);
  13. $.graphs = reader.tables(position, 8, rknn.Graph);
  14. $.generator = reader.string_(position, 10, null);
  15. $.var2 = reader.tables(position, 12, rknn.Type1);
  16. $.var3 = reader.int32_(position, 14, 0);
  17. $.var4 = reader.int32_(position, 16, 0);
  18. $.compiler = reader.string_(position, 18, null);
  19. $.runtime = reader.string_(position, 20, null);
  20. $.source = reader.string_(position, 22, null);
  21. $.var5 = reader.bool_(position, 24, false);
  22. $.var6 = reader.int32_(position, 26, 0);
  23. $.input_json = reader.string_(position, 28, null);
  24. $.output_json = reader.string_(position, 30, null);
  25. return $;
  26. }
  27. };
  28. rknn.Graph = class Graph {
  29. static decode(reader, position) {
  30. const $ = new rknn.Graph();
  31. $.tensors = reader.tables(position, 4, rknn.Tensor);
  32. $.nodes = reader.tables(position, 6, rknn.Node);
  33. $.inputs = reader.array(position, 8, Int32Array);
  34. $.outputs = reader.array(position, 10, Int32Array);
  35. $.var1 = reader.tables(position, 12, rknn.Type2);
  36. return $;
  37. }
  38. };
  39. rknn.Node = class Node {
  40. static decode(reader, position) {
  41. const $ = new rknn.Node();
  42. $.var1 = reader.int32_(position, 4, 0);
  43. $.type = reader.string_(position, 6, null);
  44. $.name = reader.string_(position, 8, null);
  45. $.var2 = reader.int8_(position, 10, 0);
  46. $.inputs = reader.array(position, 12, Int32Array);
  47. $.outputs = reader.array(position, 14, Int32Array);
  48. $.var3 = reader.tables(position, 16, rknn.Type3);
  49. $.var4 = reader.int8_(position, 18, 0);
  50. $.var5 = reader.int32_(position, 20, 0);
  51. $.var6 = reader.int32_(position, 22, 0);
  52. return $;
  53. }
  54. };
  55. rknn.Tensor = class Tensor {
  56. static decode(reader, position) {
  57. const $ = new rknn.Tensor();
  58. $.data_type = reader.int8_(position, 4, 0);
  59. $.var02 = reader.int8_(position, 6, 0);
  60. $.kind = reader.int8_(position, 8, 0);
  61. $.var04 = reader.array(position, 10, Int32Array);
  62. $.shape = reader.array(position, 12, Int32Array);
  63. $.name = reader.string_(position, 14, null);
  64. $.var06 = reader.array(position, 16, Int8Array);
  65. $.var07 = reader.string_(position, 18, null);
  66. $.var08 = reader.array(position, 20, Int8Array);
  67. $.var09 = reader.array(position, 22, Int8Array);
  68. $.var10 = reader.array(position, 24, Int8Array);
  69. $.var11 = reader.array(position, 26, Int8Array);
  70. $.size = reader.int32_(position, 28, 0);
  71. $.var13 = reader.int32_(position, 30, 0);
  72. $.var14 = reader.int32_(position, 32, 0);
  73. $.var15 = reader.int32_(position, 34, 0);
  74. $.var16 = reader.int32_(position, 36, 0);
  75. $.var17 = reader.int32_(position, 38, 0);
  76. $.index = reader.int32_(position, 40, 0);
  77. return $;
  78. }
  79. };
  80. rknn.Type1 = class Type1 {
  81. static decode(reader, position) {
  82. const $ = new rknn.Type1();
  83. $.var1 = reader.int32_(position, 4, 0);
  84. return $;
  85. }
  86. };
  87. rknn.Type2 = class Type2 {
  88. static decode(reader, position) {
  89. const $ = new rknn.Type2();
  90. $.var1 = reader.array(position, 4, Int32Array);
  91. $.var2 = reader.array(position, 6, Int32Array);
  92. $.var3 = reader.array(position, 8, Int32Array);
  93. return $;
  94. }
  95. };
  96. rknn.Type3 = class Type3 {
  97. static decode(reader, position) {
  98. const $ = new rknn.Type3();
  99. $.var1 = reader.int32_(position, 4, 0);
  100. return $;
  101. }
  102. };