dlc-schema.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. export const dlc = {};
  2. dlc.v3 = dlc.v3 || {};
  3. dlc.v3.Model = class Model {
  4. static decode(reader, position) {
  5. const $ = new dlc.v3.Model();
  6. $.unk1 = reader.int32_(position, 4, 0);
  7. $.nodes = reader.tables(position, 6, dlc.v3.Node);
  8. $.unk2 = reader.array(position, 8, Int32Array);
  9. $.unk3 = reader.array(position, 10, Int32Array);
  10. $.attributes = reader.tables(position, 12, dlc.v3.Attribute);
  11. return $;
  12. }
  13. };
  14. dlc.v3.Node = class Node {
  15. static decode(reader, position) {
  16. const $ = new dlc.v3.Node();
  17. $.index = reader.int32_(position, 4, 0);
  18. $.name = reader.string_(position, 6, null);
  19. $.type = reader.string_(position, 8, null);
  20. $.inputs = reader.strings_(position, 10);
  21. $.outputs = reader.strings_(position, 12);
  22. $.attributes = reader.tables(position, 14, dlc.v3.Attribute);
  23. return $;
  24. }
  25. };
  26. dlc.v3.Tensor = class Tensor {
  27. static decode(reader, position) {
  28. const $ = new dlc.v3.Tensor();
  29. $.name = reader.string_(position, 4, null);
  30. $.shape = reader.array(position, 6, Int32Array);
  31. $.data = reader.table(position, 8, dlc.v3.TensorData);
  32. $.attributes = reader.tables(position, 10, dlc.v3.Attribute);
  33. return $;
  34. }
  35. };
  36. dlc.v3.TensorData = class TensorData {
  37. static decode(reader, position) {
  38. const $ = new dlc.v3.TensorData();
  39. $.dtype = reader.uint8_(position, 4, 0);
  40. $.bytes = reader.array(position, 6, Uint8Array);
  41. $.floats = reader.array(position, 8, Float32Array);
  42. return $;
  43. }
  44. };
  45. dlc.v3.Attribute = class Attribute {
  46. static decode(reader, position) {
  47. const $ = new dlc.v3.Attribute();
  48. $.name = reader.string_(position, 4, null);
  49. $.type = reader.uint8_(position, 6, 0);
  50. $.bool_value = reader.bool_(position, 8, false);
  51. $.int32_value = reader.int32_(position, 10, 0);
  52. $.uint32_value = reader.uint32_(position, 12, 0);
  53. $.float32_value = reader.float32_(position, 14, 0);
  54. $.string_value = reader.string_(position, 16, null);
  55. $.unk6 = reader.array(position, 18, Int8Array);
  56. $.byte_list = reader.array(position, 20, Int8Array);
  57. $.int32_list = reader.array(position, 22, Int32Array);
  58. $.float32_list = reader.array(position, 24, Float32Array);
  59. $.unk10 = reader.array(position, 26, Int8Array);
  60. $.attributes = reader.tables(position, 28, dlc.v3.Attribute);
  61. return $;
  62. }
  63. };
  64. dlc.v3.Activation = {
  65. ReLU: 1,
  66. Sigmoid: 3
  67. };
  68. dlc.v3.ModelParameters = class ModelParameters {
  69. static decode(reader, position) {
  70. const $ = new dlc.v3.ModelParameters();
  71. $.nodes = reader.tables(position, 4, dlc.v3.NodeParameters);
  72. return $;
  73. }
  74. };
  75. dlc.v3.NodeParameters = class NodeParameters {
  76. static decode(reader, position) {
  77. const $ = new dlc.v3.NodeParameters();
  78. $.name = reader.string_(position, 4, null);
  79. $.weights = reader.tables(position, 6, dlc.v3.Tensor);
  80. return $;
  81. }
  82. };
  83. dlc.v4 = dlc.v4 || {};
  84. dlc.v4.Model = class Model {
  85. static decode(reader, position) {
  86. const $ = new dlc.v4.Model();
  87. $.graphs = reader.tables(position, 4, dlc.v4.Graph);
  88. return $;
  89. }
  90. };
  91. dlc.v4.Graph = class Graph {
  92. static decode(reader, position) {
  93. const $ = new dlc.v4.Graph();
  94. $.name = reader.string_(position, 4, null);
  95. $.nodes = reader.tables(position, 6, dlc.v4.Node);
  96. $.tensors = reader.tables(position, 8, dlc.v4.Tensor);
  97. return $;
  98. }
  99. };
  100. dlc.v4.Node = class Node {
  101. static decode(reader, position) {
  102. const $ = new dlc.v4.Node();
  103. $.name = reader.string_(position, 4, null);
  104. $.type = reader.string_(position, 6, null);
  105. $.inputs = reader.strings_(position, 8);
  106. $.outputs = reader.strings_(position, 10);
  107. $.attributes = reader.tables(position, 12, dlc.v4.Attribute);
  108. return $;
  109. }
  110. };
  111. dlc.v4.Attribute = class Attribute {
  112. static decode(reader, position) {
  113. const $ = new dlc.v4.Attribute();
  114. $.name = reader.string_(position, 4, null);
  115. $.kind = reader.int32_(position, 6, 0);
  116. $.flag = reader.uint8_(position, 8, 0);
  117. $.value = reader.table(position, 10, dlc.v4.Value);
  118. $.tensor = reader.table(position, 12, dlc.v4.Tensor);
  119. return $;
  120. }
  121. };
  122. dlc.v4.Value = class Value {
  123. static decode(reader, position) {
  124. const $ = new dlc.v4.Value();
  125. $.kind = reader.int32_(position, 4, 0);
  126. $.int32_value = reader.int32_(position, 6, 0);
  127. $.float32_value = reader.float32_(position, 8, 0);
  128. $.string_value = reader.string_(position, 10, null);
  129. return $;
  130. }
  131. };
  132. dlc.v4.Tensor = class Tensor {
  133. static decode(reader, position) {
  134. const $ = new dlc.v4.Tensor();
  135. $.unk1 = reader.uint32_(position, 4, 0);
  136. $.name = reader.string_(position, 6, null);
  137. $.location = reader.int32_(position, 8, 0);
  138. $.shape = reader.array(position, 10, Int32Array);
  139. $.unk2 = reader.int32_(position, 12, 0);
  140. $.info = reader.table(position, 14, dlc.v4.TensorInfo);
  141. $.dtype = reader.int32_(position, 16, 0);
  142. $.output_dtype = reader.int32_(position, 18, 0);
  143. $.unk6 = reader.uint8_(position, 20, 0);
  144. return $;
  145. }
  146. };
  147. dlc.v4.TensorInfo = class TensorInfo {
  148. static decode(reader, position) {
  149. const $ = new dlc.v4.TensorInfo();
  150. $.i1 = reader.int32_(position, 4, 0);
  151. $.b1 = reader.uint8_(position, 6, 0);
  152. $.a = reader.table(position, 8, dlc.v4.TensorInfo1);
  153. $.b = reader.table(position, 10, dlc.v4.TensorInfo2);
  154. return $;
  155. }
  156. };
  157. dlc.v4.TensorInfo1 = class TensorInfo1 {
  158. static decode(reader, position) {
  159. const $ = new dlc.v4.TensorInfo1();
  160. $.i1 = reader.int32_(position, 4, 0);
  161. $.f1 = reader.float32_(position, 6, 0);
  162. $.f2 = reader.float32_(position, 8, 0);
  163. $.f3 = reader.float32_(position, 10, 0);
  164. $.i2 = reader.int32_(position, 12, 0);
  165. return $;
  166. }
  167. };
  168. dlc.v4.TensorInfo2 = class TensorInfo2 {
  169. static decode(reader, position) {
  170. const $ = new dlc.v4.TensorInfo2();
  171. $.i1 = reader.int32_(position, 4, 0);
  172. $.l = reader.tables(position, 6, dlc.v4.TensorInfo3);
  173. return $;
  174. }
  175. };
  176. dlc.v4.TensorInfo3 = class TensorInfo3 {
  177. static decode(reader, position) {
  178. const $ = new dlc.v4.TensorInfo3();
  179. $.i1 = reader.int32_(position, 4, 0);
  180. $.f1 = reader.float32_(position, 6, 0);
  181. $.f2 = reader.float32_(position, 8, 0);
  182. $.f3 = reader.float32_(position, 10, 0);
  183. $.i2 = reader.int32_(position, 12, 0);
  184. $.b1 = reader.uint8_(position, 14, 0);
  185. return $;
  186. }
  187. };
  188. dlc.v4.ModelParameters64 = class ModelParameters64 {
  189. static decode(reader, position) {
  190. const $ = new dlc.v4.ModelParameters64();
  191. $.buffers = reader.tables(position, 4, dlc.v4.Buffer);
  192. $.params = reader.array(position, 6, Uint8Array);
  193. return $;
  194. }
  195. };
  196. dlc.v4.ModelParameters = class ModelParameters {
  197. static decode(reader, position) {
  198. const $ = new dlc.v4.ModelParameters();
  199. $.graphs = reader.tables(position, 4, dlc.v4.GraphParameters);
  200. return $;
  201. }
  202. };
  203. dlc.v4.GraphParameters = class GraphParameters {
  204. static decode(reader, position) {
  205. const $ = new dlc.v4.GraphParameters();
  206. $.name = reader.string_(position, 4, null);
  207. $.tensors = reader.tables(position, 6, dlc.v4.TensorData);
  208. $.nodes = reader.tables(position, 8, dlc.v4.NodeParameters);
  209. return $;
  210. }
  211. };
  212. dlc.v4.NodeParameters = class NodeParameters {
  213. static decode(reader, position) {
  214. const $ = new dlc.v4.NodeParameters();
  215. $.tensors = reader.tables(position, 4, dlc.v4.TensorData);
  216. return $;
  217. }
  218. };
  219. dlc.v4.TensorData = class TensorData {
  220. static decode(reader, position) {
  221. const $ = new dlc.v4.TensorData();
  222. $.name = reader.string_(position, 4, null);
  223. $.bytes = reader.array(position, 6, Uint8Array);
  224. return $;
  225. }
  226. };
  227. dlc.v4.Buffer = class Buffer {
  228. static decode(reader, position) {
  229. const $ = new dlc.v4.Buffer();
  230. $.bytes = reader.array(position, 4, Uint8Array);
  231. return $;
  232. }
  233. };