onnx-proto.js 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672
  1. var $root = protobuf.get('onnx');
  2. $root.onnx = {};
  3. $root.onnx.Version = {
  4. "_START_VERSION": 0,
  5. "IR_VERSION_2017_10_10": 1,
  6. "IR_VERSION_2017_10_30": 2,
  7. "IR_VERSION_2017_11_3": 3,
  8. "IR_VERSION_2019_1_22": 4,
  9. "IR_VERSION_2019_3_18": 5,
  10. "IR_VERSION_2019_9_19": 6,
  11. "IR_VERSION": 7
  12. };
  13. $root.onnx.AttributeProto = class AttributeProto {
  14. constructor() {
  15. this.floats = [];
  16. this.ints = [];
  17. this.strings = [];
  18. this.tensors = [];
  19. this.graphs = [];
  20. this.sparse_tensors = [];
  21. }
  22. static decode(reader, length) {
  23. const message = new $root.onnx.AttributeProto();
  24. const end = reader.next(length);
  25. while (reader.end(end)) {
  26. const tag = reader.uint32();
  27. switch (tag >>> 3) {
  28. case 1:
  29. message.name = reader.string();
  30. break;
  31. case 21:
  32. message.ref_attr_name = reader.string();
  33. break;
  34. case 13:
  35. message.doc_string = reader.string();
  36. break;
  37. case 20:
  38. message.type = reader.int32();
  39. break;
  40. case 2:
  41. message.f = reader.float();
  42. break;
  43. case 3:
  44. message.i = reader.int64();
  45. break;
  46. case 4:
  47. message.s = reader.bytes();
  48. break;
  49. case 5:
  50. message.t = $root.onnx.TensorProto.decode(reader, reader.uint32());
  51. break;
  52. case 6:
  53. message.g = $root.onnx.GraphProto.decode(reader, reader.uint32());
  54. break;
  55. case 22:
  56. message.sparse_tensor = $root.onnx.SparseTensorProto.decode(reader, reader.uint32());
  57. break;
  58. case 7:
  59. message.floats = reader.floats(message.floats, tag);
  60. break;
  61. case 8:
  62. message.ints = reader.array(message.ints, () => reader.int64(), tag);
  63. break;
  64. case 9:
  65. message.strings.push(reader.bytes());
  66. break;
  67. case 10:
  68. message.tensors.push($root.onnx.TensorProto.decode(reader, reader.uint32()));
  69. break;
  70. case 11:
  71. message.graphs.push($root.onnx.GraphProto.decode(reader, reader.uint32()));
  72. break;
  73. case 23:
  74. message.sparse_tensors.push($root.onnx.SparseTensorProto.decode(reader, reader.uint32()));
  75. break;
  76. default:
  77. reader.skipType(tag & 7);
  78. break;
  79. }
  80. }
  81. return message;
  82. }
  83. static decodeText(reader) {
  84. const message = new $root.onnx.AttributeProto();
  85. reader.start();
  86. while (!reader.end()) {
  87. const tag = reader.tag();
  88. switch (tag) {
  89. case "name":
  90. message.name = reader.string();
  91. break;
  92. case "ref_attr_name":
  93. message.ref_attr_name = reader.string();
  94. break;
  95. case "doc_string":
  96. message.doc_string = reader.string();
  97. break;
  98. case "type":
  99. message.type = reader.enum($root.onnx.AttributeProto.AttributeType);
  100. break;
  101. case "f":
  102. message.f = reader.float();
  103. break;
  104. case "i":
  105. message.i = reader.integer();
  106. break;
  107. case "s":
  108. message.s = reader.bytes();
  109. break;
  110. case "t":
  111. message.t = $root.onnx.TensorProto.decodeText(reader, true);
  112. break;
  113. case "g":
  114. message.g = $root.onnx.GraphProto.decodeText(reader, true);
  115. break;
  116. case "sparse_tensor":
  117. message.sparse_tensor = $root.onnx.SparseTensorProto.decodeText(reader, true);
  118. break;
  119. case "floats":
  120. reader.array(message.floats, () => reader.float());
  121. break;
  122. case "ints":
  123. reader.array(message.ints, () => reader.integer());
  124. break;
  125. case "strings":
  126. reader.array(message.strings, () => reader.bytes());
  127. break;
  128. case "tensors":
  129. message.tensors.push($root.onnx.TensorProto.decodeText(reader, true));
  130. break;
  131. case "graphs":
  132. message.graphs.push($root.onnx.GraphProto.decodeText(reader, true));
  133. break;
  134. case "sparse_tensors":
  135. message.sparse_tensors.push($root.onnx.SparseTensorProto.decodeText(reader, true));
  136. break;
  137. default:
  138. reader.field(tag, message);
  139. break;
  140. }
  141. }
  142. return message;
  143. }
  144. };
  145. $root.onnx.AttributeProto.prototype.name = "";
  146. $root.onnx.AttributeProto.prototype.ref_attr_name = "";
  147. $root.onnx.AttributeProto.prototype.doc_string = "";
  148. $root.onnx.AttributeProto.prototype.type = 0;
  149. $root.onnx.AttributeProto.prototype.f = 0;
  150. $root.onnx.AttributeProto.prototype.i = protobuf.Int64.create(0);
  151. $root.onnx.AttributeProto.prototype.s = new Uint8Array([]);
  152. $root.onnx.AttributeProto.prototype.t = null;
  153. $root.onnx.AttributeProto.prototype.g = null;
  154. $root.onnx.AttributeProto.prototype.sparse_tensor = null;
  155. $root.onnx.AttributeProto.AttributeType = {
  156. "UNDEFINED": 0,
  157. "FLOAT": 1,
  158. "INT": 2,
  159. "STRING": 3,
  160. "TENSOR": 4,
  161. "GRAPH": 5,
  162. "SPARSE_TENSOR": 11,
  163. "FLOATS": 6,
  164. "INTS": 7,
  165. "STRINGS": 8,
  166. "TENSORS": 9,
  167. "GRAPHS": 10,
  168. "SPARSE_TENSORS": 12
  169. };
  170. $root.onnx.ValueInfoProto = class ValueInfoProto {
  171. constructor() {
  172. }
  173. static decode(reader, length) {
  174. const message = new $root.onnx.ValueInfoProto();
  175. const end = reader.next(length);
  176. while (reader.end(end)) {
  177. const tag = reader.uint32();
  178. switch (tag >>> 3) {
  179. case 1:
  180. message.name = reader.string();
  181. break;
  182. case 2:
  183. message.type = $root.onnx.TypeProto.decode(reader, reader.uint32());
  184. break;
  185. case 3:
  186. message.doc_string = reader.string();
  187. break;
  188. default:
  189. reader.skipType(tag & 7);
  190. break;
  191. }
  192. }
  193. return message;
  194. }
  195. static decodeText(reader) {
  196. const message = new $root.onnx.ValueInfoProto();
  197. reader.start();
  198. while (!reader.end()) {
  199. const tag = reader.tag();
  200. switch (tag) {
  201. case "name":
  202. message.name = reader.string();
  203. break;
  204. case "type":
  205. message.type = $root.onnx.TypeProto.decodeText(reader, true);
  206. break;
  207. case "doc_string":
  208. message.doc_string = reader.string();
  209. break;
  210. default:
  211. reader.field(tag, message);
  212. break;
  213. }
  214. }
  215. return message;
  216. }
  217. };
  218. $root.onnx.ValueInfoProto.prototype.name = "";
  219. $root.onnx.ValueInfoProto.prototype.type = null;
  220. $root.onnx.ValueInfoProto.prototype.doc_string = "";
  221. $root.onnx.NodeProto = class NodeProto {
  222. constructor() {
  223. this.input = [];
  224. this.output = [];
  225. this.attribute = [];
  226. }
  227. static decode(reader, length) {
  228. const message = new $root.onnx.NodeProto();
  229. const end = reader.next(length);
  230. while (reader.end(end)) {
  231. const tag = reader.uint32();
  232. switch (tag >>> 3) {
  233. case 1:
  234. message.input.push(reader.string());
  235. break;
  236. case 2:
  237. message.output.push(reader.string());
  238. break;
  239. case 3:
  240. message.name = reader.string();
  241. break;
  242. case 4:
  243. message.op_type = reader.string();
  244. break;
  245. case 7:
  246. message.domain = reader.string();
  247. break;
  248. case 5:
  249. message.attribute.push($root.onnx.AttributeProto.decode(reader, reader.uint32()));
  250. break;
  251. case 6:
  252. message.doc_string = reader.string();
  253. break;
  254. default:
  255. reader.skipType(tag & 7);
  256. break;
  257. }
  258. }
  259. return message;
  260. }
  261. static decodeText(reader) {
  262. const message = new $root.onnx.NodeProto();
  263. reader.start();
  264. while (!reader.end()) {
  265. const tag = reader.tag();
  266. switch (tag) {
  267. case "input":
  268. reader.array(message.input, () => reader.string());
  269. break;
  270. case "output":
  271. reader.array(message.output, () => reader.string());
  272. break;
  273. case "name":
  274. message.name = reader.string();
  275. break;
  276. case "op_type":
  277. message.op_type = reader.string();
  278. break;
  279. case "domain":
  280. message.domain = reader.string();
  281. break;
  282. case "attribute":
  283. message.attribute.push($root.onnx.AttributeProto.decodeText(reader, true));
  284. break;
  285. case "doc_string":
  286. message.doc_string = reader.string();
  287. break;
  288. default:
  289. reader.field(tag, message);
  290. break;
  291. }
  292. }
  293. return message;
  294. }
  295. };
  296. $root.onnx.NodeProto.prototype.name = "";
  297. $root.onnx.NodeProto.prototype.op_type = "";
  298. $root.onnx.NodeProto.prototype.domain = "";
  299. $root.onnx.NodeProto.prototype.doc_string = "";
  300. $root.onnx.TrainingInfoProto = class TrainingInfoProto {
  301. constructor() {
  302. this.initialization_binding = [];
  303. this.update_binding = [];
  304. }
  305. static decode(reader, length) {
  306. const message = new $root.onnx.TrainingInfoProto();
  307. const end = reader.next(length);
  308. while (reader.end(end)) {
  309. const tag = reader.uint32();
  310. switch (tag >>> 3) {
  311. case 1:
  312. message.initialization = $root.onnx.GraphProto.decode(reader, reader.uint32());
  313. break;
  314. case 2:
  315. message.algorithm = $root.onnx.GraphProto.decode(reader, reader.uint32());
  316. break;
  317. case 3:
  318. message.initialization_binding.push($root.onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  319. break;
  320. case 4:
  321. message.update_binding.push($root.onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  322. break;
  323. default:
  324. reader.skipType(tag & 7);
  325. break;
  326. }
  327. }
  328. return message;
  329. }
  330. static decodeText(reader) {
  331. const message = new $root.onnx.TrainingInfoProto();
  332. reader.start();
  333. while (!reader.end()) {
  334. const tag = reader.tag();
  335. switch (tag) {
  336. case "initialization":
  337. message.initialization = $root.onnx.GraphProto.decodeText(reader, true);
  338. break;
  339. case "algorithm":
  340. message.algorithm = $root.onnx.GraphProto.decodeText(reader, true);
  341. break;
  342. case "initialization_binding":
  343. message.initialization_binding.push($root.onnx.StringStringEntryProto.decodeText(reader, true));
  344. break;
  345. case "update_binding":
  346. message.update_binding.push($root.onnx.StringStringEntryProto.decodeText(reader, true));
  347. break;
  348. default:
  349. reader.field(tag, message);
  350. break;
  351. }
  352. }
  353. return message;
  354. }
  355. };
  356. $root.onnx.TrainingInfoProto.prototype.initialization = null;
  357. $root.onnx.TrainingInfoProto.prototype.algorithm = null;
  358. $root.onnx.ModelProto = class ModelProto {
  359. constructor() {
  360. this.opset_import = [];
  361. this.metadata_props = [];
  362. this.training_info = [];
  363. }
  364. static decode(reader, length) {
  365. const message = new $root.onnx.ModelProto();
  366. const end = reader.next(length);
  367. while (reader.end(end)) {
  368. const tag = reader.uint32();
  369. switch (tag >>> 3) {
  370. case 1:
  371. message.ir_version = reader.int64();
  372. break;
  373. case 8:
  374. message.opset_import.push($root.onnx.OperatorSetIdProto.decode(reader, reader.uint32()));
  375. break;
  376. case 2:
  377. message.producer_name = reader.string();
  378. break;
  379. case 3:
  380. message.producer_version = reader.string();
  381. break;
  382. case 4:
  383. message.domain = reader.string();
  384. break;
  385. case 5:
  386. message.model_version = reader.int64();
  387. break;
  388. case 6:
  389. message.doc_string = reader.string();
  390. break;
  391. case 7:
  392. message.graph = $root.onnx.GraphProto.decode(reader, reader.uint32());
  393. break;
  394. case 14:
  395. message.metadata_props.push($root.onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  396. break;
  397. case 20:
  398. message.training_info.push($root.onnx.TrainingInfoProto.decode(reader, reader.uint32()));
  399. break;
  400. default:
  401. reader.skipType(tag & 7);
  402. break;
  403. }
  404. }
  405. return message;
  406. }
  407. static decodeText(reader) {
  408. const message = new $root.onnx.ModelProto();
  409. reader.start();
  410. while (!reader.end()) {
  411. const tag = reader.tag();
  412. switch (tag) {
  413. case "ir_version":
  414. message.ir_version = reader.integer();
  415. break;
  416. case "opset_import":
  417. message.opset_import.push($root.onnx.OperatorSetIdProto.decodeText(reader, true));
  418. break;
  419. case "producer_name":
  420. message.producer_name = reader.string();
  421. break;
  422. case "producer_version":
  423. message.producer_version = reader.string();
  424. break;
  425. case "domain":
  426. message.domain = reader.string();
  427. break;
  428. case "model_version":
  429. message.model_version = reader.integer();
  430. break;
  431. case "doc_string":
  432. message.doc_string = reader.string();
  433. break;
  434. case "graph":
  435. message.graph = $root.onnx.GraphProto.decodeText(reader, true);
  436. break;
  437. case "metadata_props":
  438. message.metadata_props.push($root.onnx.StringStringEntryProto.decodeText(reader, true));
  439. break;
  440. case "training_info":
  441. message.training_info.push($root.onnx.TrainingInfoProto.decodeText(reader, true));
  442. break;
  443. default:
  444. reader.field(tag, message);
  445. break;
  446. }
  447. }
  448. return message;
  449. }
  450. };
  451. $root.onnx.ModelProto.prototype.ir_version = protobuf.Int64.create(0);
  452. $root.onnx.ModelProto.prototype.producer_name = "";
  453. $root.onnx.ModelProto.prototype.producer_version = "";
  454. $root.onnx.ModelProto.prototype.domain = "";
  455. $root.onnx.ModelProto.prototype.model_version = protobuf.Int64.create(0);
  456. $root.onnx.ModelProto.prototype.doc_string = "";
  457. $root.onnx.ModelProto.prototype.graph = null;
  458. $root.onnx.StringStringEntryProto = class StringStringEntryProto {
  459. constructor() {
  460. }
  461. static decode(reader, length) {
  462. const message = new $root.onnx.StringStringEntryProto();
  463. const end = reader.next(length);
  464. while (reader.end(end)) {
  465. const tag = reader.uint32();
  466. switch (tag >>> 3) {
  467. case 1:
  468. message.key = reader.string();
  469. break;
  470. case 2:
  471. message.value = reader.string();
  472. break;
  473. default:
  474. reader.skipType(tag & 7);
  475. break;
  476. }
  477. }
  478. return message;
  479. }
  480. static decodeText(reader) {
  481. const message = new $root.onnx.StringStringEntryProto();
  482. reader.start();
  483. while (!reader.end()) {
  484. const tag = reader.tag();
  485. switch (tag) {
  486. case "key":
  487. message.key = reader.string();
  488. break;
  489. case "value":
  490. message.value = reader.string();
  491. break;
  492. default:
  493. reader.field(tag, message);
  494. break;
  495. }
  496. }
  497. return message;
  498. }
  499. };
  500. $root.onnx.StringStringEntryProto.prototype.key = "";
  501. $root.onnx.StringStringEntryProto.prototype.value = "";
  502. $root.onnx.TensorAnnotation = class TensorAnnotation {
  503. constructor() {
  504. this.quant_parameter_tensor_names = [];
  505. }
  506. static decode(reader, length) {
  507. const message = new $root.onnx.TensorAnnotation();
  508. const end = reader.next(length);
  509. while (reader.end(end)) {
  510. const tag = reader.uint32();
  511. switch (tag >>> 3) {
  512. case 1:
  513. message.tensor_name = reader.string();
  514. break;
  515. case 2:
  516. message.quant_parameter_tensor_names.push($root.onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  517. break;
  518. default:
  519. reader.skipType(tag & 7);
  520. break;
  521. }
  522. }
  523. return message;
  524. }
  525. static decodeText(reader) {
  526. const message = new $root.onnx.TensorAnnotation();
  527. reader.start();
  528. while (!reader.end()) {
  529. const tag = reader.tag();
  530. switch (tag) {
  531. case "tensor_name":
  532. message.tensor_name = reader.string();
  533. break;
  534. case "quant_parameter_tensor_names":
  535. message.quant_parameter_tensor_names.push($root.onnx.StringStringEntryProto.decodeText(reader, true));
  536. break;
  537. default:
  538. reader.field(tag, message);
  539. break;
  540. }
  541. }
  542. return message;
  543. }
  544. };
  545. $root.onnx.TensorAnnotation.prototype.tensor_name = "";
  546. $root.onnx.GraphProto = class GraphProto {
  547. constructor() {
  548. this.node = [];
  549. this.initializer = [];
  550. this.sparse_initializer = [];
  551. this.input = [];
  552. this.output = [];
  553. this.value_info = [];
  554. this.quantization_annotation = [];
  555. }
  556. static decode(reader, length) {
  557. const message = new $root.onnx.GraphProto();
  558. const end = reader.next(length);
  559. while (reader.end(end)) {
  560. const tag = reader.uint32();
  561. switch (tag >>> 3) {
  562. case 1:
  563. message.node.push($root.onnx.NodeProto.decode(reader, reader.uint32()));
  564. break;
  565. case 2:
  566. message.name = reader.string();
  567. break;
  568. case 5:
  569. message.initializer.push($root.onnx.TensorProto.decode(reader, reader.uint32()));
  570. break;
  571. case 15:
  572. message.sparse_initializer.push($root.onnx.SparseTensorProto.decode(reader, reader.uint32()));
  573. break;
  574. case 10:
  575. message.doc_string = reader.string();
  576. break;
  577. case 11:
  578. message.input.push($root.onnx.ValueInfoProto.decode(reader, reader.uint32()));
  579. break;
  580. case 12:
  581. message.output.push($root.onnx.ValueInfoProto.decode(reader, reader.uint32()));
  582. break;
  583. case 13:
  584. message.value_info.push($root.onnx.ValueInfoProto.decode(reader, reader.uint32()));
  585. break;
  586. case 14:
  587. message.quantization_annotation.push($root.onnx.TensorAnnotation.decode(reader, reader.uint32()));
  588. break;
  589. default:
  590. reader.skipType(tag & 7);
  591. break;
  592. }
  593. }
  594. return message;
  595. }
  596. static decodeText(reader) {
  597. const message = new $root.onnx.GraphProto();
  598. reader.start();
  599. while (!reader.end()) {
  600. const tag = reader.tag();
  601. switch (tag) {
  602. case "node":
  603. message.node.push($root.onnx.NodeProto.decodeText(reader, true));
  604. break;
  605. case "name":
  606. message.name = reader.string();
  607. break;
  608. case "initializer":
  609. message.initializer.push($root.onnx.TensorProto.decodeText(reader, true));
  610. break;
  611. case "sparse_initializer":
  612. message.sparse_initializer.push($root.onnx.SparseTensorProto.decodeText(reader, true));
  613. break;
  614. case "doc_string":
  615. message.doc_string = reader.string();
  616. break;
  617. case "input":
  618. message.input.push($root.onnx.ValueInfoProto.decodeText(reader, true));
  619. break;
  620. case "output":
  621. message.output.push($root.onnx.ValueInfoProto.decodeText(reader, true));
  622. break;
  623. case "value_info":
  624. message.value_info.push($root.onnx.ValueInfoProto.decodeText(reader, true));
  625. break;
  626. case "quantization_annotation":
  627. message.quantization_annotation.push($root.onnx.TensorAnnotation.decodeText(reader, true));
  628. break;
  629. default:
  630. reader.field(tag, message);
  631. break;
  632. }
  633. }
  634. return message;
  635. }
  636. };
  637. $root.onnx.GraphProto.prototype.name = "";
  638. $root.onnx.GraphProto.prototype.doc_string = "";
  639. $root.onnx.TensorProto = class TensorProto {
  640. constructor() {
  641. this.dims = [];
  642. this.float_data = [];
  643. this.int32_data = [];
  644. this.string_data = [];
  645. this.int64_data = [];
  646. this.external_data = [];
  647. this.double_data = [];
  648. this.uint64_data = [];
  649. }
  650. static decode(reader, length) {
  651. const message = new $root.onnx.TensorProto();
  652. const end = reader.next(length);
  653. while (reader.end(end)) {
  654. const tag = reader.uint32();
  655. switch (tag >>> 3) {
  656. case 1:
  657. message.dims = reader.array(message.dims, () => reader.int64(), tag);
  658. break;
  659. case 2:
  660. message.data_type = reader.int32();
  661. break;
  662. case 3:
  663. message.segment = $root.onnx.TensorProto.Segment.decode(reader, reader.uint32());
  664. break;
  665. case 4:
  666. message.float_data = reader.floats(message.float_data, tag);
  667. break;
  668. case 5:
  669. message.int32_data = reader.array(message.int32_data, () => reader.int32(), tag);
  670. break;
  671. case 6:
  672. message.string_data.push(reader.bytes());
  673. break;
  674. case 7:
  675. message.int64_data = reader.array(message.int64_data, () => reader.int64(), tag);
  676. break;
  677. case 8:
  678. message.name = reader.string();
  679. break;
  680. case 12:
  681. message.doc_string = reader.string();
  682. break;
  683. case 9:
  684. message.raw_data = reader.bytes();
  685. break;
  686. case 13:
  687. message.external_data.push($root.onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  688. break;
  689. case 14:
  690. message.data_location = reader.int32();
  691. break;
  692. case 10:
  693. message.double_data = reader.doubles(message.double_data, tag);
  694. break;
  695. case 11:
  696. message.uint64_data = reader.array(message.uint64_data, () => reader.uint64(), tag);
  697. break;
  698. default:
  699. reader.skipType(tag & 7);
  700. break;
  701. }
  702. }
  703. return message;
  704. }
  705. static decodeText(reader) {
  706. const message = new $root.onnx.TensorProto();
  707. reader.start();
  708. while (!reader.end()) {
  709. const tag = reader.tag();
  710. switch (tag) {
  711. case "dims":
  712. reader.array(message.dims, () => reader.integer());
  713. break;
  714. case "data_type":
  715. message.data_type = reader.integer();
  716. break;
  717. case "segment":
  718. message.segment = $root.onnx.TensorProto.Segment.decodeText(reader, true);
  719. break;
  720. case "float_data":
  721. reader.array(message.float_data, () => reader.float());
  722. break;
  723. case "int32_data":
  724. reader.array(message.int32_data, () => reader.integer());
  725. break;
  726. case "string_data":
  727. reader.array(message.string_data, () => reader.bytes());
  728. break;
  729. case "int64_data":
  730. reader.array(message.int64_data, () => reader.integer());
  731. break;
  732. case "name":
  733. message.name = reader.string();
  734. break;
  735. case "doc_string":
  736. message.doc_string = reader.string();
  737. break;
  738. case "raw_data":
  739. message.raw_data = reader.bytes();
  740. break;
  741. case "external_data":
  742. message.external_data.push($root.onnx.StringStringEntryProto.decodeText(reader, true));
  743. break;
  744. case "data_location":
  745. message.data_location = reader.enum($root.onnx.TensorProto.DataLocation);
  746. break;
  747. case "double_data":
  748. reader.array(message.double_data, () => reader.float());
  749. break;
  750. case "uint64_data":
  751. reader.array(message.uint64_data, () => reader.integer());
  752. break;
  753. default:
  754. reader.field(tag, message);
  755. break;
  756. }
  757. }
  758. return message;
  759. }
  760. };
  761. $root.onnx.TensorProto.prototype.data_type = 0;
  762. $root.onnx.TensorProto.prototype.segment = null;
  763. $root.onnx.TensorProto.prototype.name = "";
  764. $root.onnx.TensorProto.prototype.doc_string = "";
  765. $root.onnx.TensorProto.prototype.raw_data = new Uint8Array([]);
  766. $root.onnx.TensorProto.prototype.data_location = 0;
  767. $root.onnx.TensorProto.DataType = {
  768. "UNDEFINED": 0,
  769. "FLOAT": 1,
  770. "UINT8": 2,
  771. "INT8": 3,
  772. "UINT16": 4,
  773. "INT16": 5,
  774. "INT32": 6,
  775. "INT64": 7,
  776. "STRING": 8,
  777. "BOOL": 9,
  778. "FLOAT16": 10,
  779. "DOUBLE": 11,
  780. "UINT32": 12,
  781. "UINT64": 13,
  782. "COMPLEX64": 14,
  783. "COMPLEX128": 15,
  784. "BFLOAT16": 16
  785. };
  786. $root.onnx.TensorProto.Segment = class Segment {
  787. constructor() {
  788. }
  789. static decode(reader, length) {
  790. const message = new $root.onnx.TensorProto.Segment();
  791. const end = reader.next(length);
  792. while (reader.end(end)) {
  793. const tag = reader.uint32();
  794. switch (tag >>> 3) {
  795. case 1:
  796. message.begin = reader.int64();
  797. break;
  798. case 2:
  799. message.end = reader.int64();
  800. break;
  801. default:
  802. reader.skipType(tag & 7);
  803. break;
  804. }
  805. }
  806. return message;
  807. }
  808. static decodeText(reader) {
  809. const message = new $root.onnx.TensorProto.Segment();
  810. reader.start();
  811. while (!reader.end()) {
  812. const tag = reader.tag();
  813. switch (tag) {
  814. case "begin":
  815. message.begin = reader.integer();
  816. break;
  817. case "end":
  818. message.end = reader.integer();
  819. break;
  820. default:
  821. reader.field(tag, message);
  822. break;
  823. }
  824. }
  825. return message;
  826. }
  827. };
  828. $root.onnx.TensorProto.Segment.prototype.begin = protobuf.Int64.create(0);
  829. $root.onnx.TensorProto.Segment.prototype.end = protobuf.Int64.create(0);
  830. $root.onnx.TensorProto.DataLocation = {
  831. "DEFAULT": 0,
  832. "EXTERNAL": 1
  833. };
  834. $root.onnx.SparseTensorProto = class SparseTensorProto {
  835. constructor() {
  836. this.dims = [];
  837. }
  838. static decode(reader, length) {
  839. const message = new $root.onnx.SparseTensorProto();
  840. const end = reader.next(length);
  841. while (reader.end(end)) {
  842. const tag = reader.uint32();
  843. switch (tag >>> 3) {
  844. case 1:
  845. message.values = $root.onnx.TensorProto.decode(reader, reader.uint32());
  846. break;
  847. case 2:
  848. message.indices = $root.onnx.TensorProto.decode(reader, reader.uint32());
  849. break;
  850. case 3:
  851. message.dims = reader.array(message.dims, () => reader.int64(), tag);
  852. break;
  853. default:
  854. reader.skipType(tag & 7);
  855. break;
  856. }
  857. }
  858. return message;
  859. }
  860. static decodeText(reader) {
  861. const message = new $root.onnx.SparseTensorProto();
  862. reader.start();
  863. while (!reader.end()) {
  864. const tag = reader.tag();
  865. switch (tag) {
  866. case "values":
  867. message.values = $root.onnx.TensorProto.decodeText(reader, true);
  868. break;
  869. case "indices":
  870. message.indices = $root.onnx.TensorProto.decodeText(reader, true);
  871. break;
  872. case "dims":
  873. reader.array(message.dims, () => reader.integer());
  874. break;
  875. default:
  876. reader.field(tag, message);
  877. break;
  878. }
  879. }
  880. return message;
  881. }
  882. };
  883. $root.onnx.SparseTensorProto.prototype.values = null;
  884. $root.onnx.SparseTensorProto.prototype.indices = null;
  885. $root.onnx.TensorShapeProto = class TensorShapeProto {
  886. constructor() {
  887. this.dim = [];
  888. }
  889. static decode(reader, length) {
  890. const message = new $root.onnx.TensorShapeProto();
  891. const end = reader.next(length);
  892. while (reader.end(end)) {
  893. const tag = reader.uint32();
  894. switch (tag >>> 3) {
  895. case 1:
  896. message.dim.push($root.onnx.TensorShapeProto.Dimension.decode(reader, reader.uint32()));
  897. break;
  898. default:
  899. reader.skipType(tag & 7);
  900. break;
  901. }
  902. }
  903. return message;
  904. }
  905. static decodeText(reader) {
  906. const message = new $root.onnx.TensorShapeProto();
  907. reader.start();
  908. while (!reader.end()) {
  909. const tag = reader.tag();
  910. switch (tag) {
  911. case "dim":
  912. message.dim.push($root.onnx.TensorShapeProto.Dimension.decodeText(reader, true));
  913. break;
  914. default:
  915. reader.field(tag, message);
  916. break;
  917. }
  918. }
  919. return message;
  920. }
  921. };
  922. $root.onnx.TensorShapeProto.Dimension = class Dimension {
  923. constructor() {
  924. }
  925. get value() {
  926. $root.onnx.TensorShapeProto.Dimension.valueSet = $root.onnx.TensorShapeProto.Dimension.valueSet || new Set([ "dim_value", "dim_param"]);
  927. return Object.keys(this).find((key) => $root.onnx.TensorShapeProto.Dimension.valueSet.has(key) && this[key] != null);
  928. }
  929. static decode(reader, length) {
  930. const message = new $root.onnx.TensorShapeProto.Dimension();
  931. const end = reader.next(length);
  932. while (reader.end(end)) {
  933. const tag = reader.uint32();
  934. switch (tag >>> 3) {
  935. case 1:
  936. message.dim_value = reader.int64();
  937. break;
  938. case 2:
  939. message.dim_param = reader.string();
  940. break;
  941. case 3:
  942. message.denotation = reader.string();
  943. break;
  944. default:
  945. reader.skipType(tag & 7);
  946. break;
  947. }
  948. }
  949. return message;
  950. }
  951. static decodeText(reader) {
  952. const message = new $root.onnx.TensorShapeProto.Dimension();
  953. reader.start();
  954. while (!reader.end()) {
  955. const tag = reader.tag();
  956. switch (tag) {
  957. case "dim_value":
  958. message.dim_value = reader.integer();
  959. break;
  960. case "dim_param":
  961. message.dim_param = reader.string();
  962. break;
  963. case "denotation":
  964. message.denotation = reader.string();
  965. break;
  966. default:
  967. reader.field(tag, message);
  968. break;
  969. }
  970. }
  971. return message;
  972. }
  973. };
  974. $root.onnx.TensorShapeProto.Dimension.prototype.denotation = "";
  975. $root.onnx.TypeProto = class TypeProto {
  976. constructor() {
  977. }
  978. get value() {
  979. $root.onnx.TypeProto.valueSet = $root.onnx.TypeProto.valueSet || new Set([ "tensor_type", "sequence_type", "map_type", "sparse_tensor_type", "opaque_type"]);
  980. return Object.keys(this).find((key) => $root.onnx.TypeProto.valueSet.has(key) && this[key] != null);
  981. }
  982. static decode(reader, length) {
  983. const message = new $root.onnx.TypeProto();
  984. const end = reader.next(length);
  985. while (reader.end(end)) {
  986. const tag = reader.uint32();
  987. switch (tag >>> 3) {
  988. case 1:
  989. message.tensor_type = $root.onnx.TypeProto.Tensor.decode(reader, reader.uint32());
  990. break;
  991. case 4:
  992. message.sequence_type = $root.onnx.TypeProto.Sequence.decode(reader, reader.uint32());
  993. break;
  994. case 5:
  995. message.map_type = $root.onnx.TypeProto.Map.decode(reader, reader.uint32());
  996. break;
  997. case 8:
  998. message.sparse_tensor_type = $root.onnx.TypeProto.SparseTensor.decode(reader, reader.uint32());
  999. break;
  1000. case 7:
  1001. message.opaque_type = $root.onnx.TypeProto.Opaque.decode(reader, reader.uint32());
  1002. break;
  1003. case 6:
  1004. message.denotation = reader.string();
  1005. break;
  1006. default:
  1007. reader.skipType(tag & 7);
  1008. break;
  1009. }
  1010. }
  1011. return message;
  1012. }
  1013. static decodeText(reader) {
  1014. const message = new $root.onnx.TypeProto();
  1015. reader.start();
  1016. while (!reader.end()) {
  1017. const tag = reader.tag();
  1018. switch (tag) {
  1019. case "tensor_type":
  1020. message.tensor_type = $root.onnx.TypeProto.Tensor.decodeText(reader, true);
  1021. break;
  1022. case "sequence_type":
  1023. message.sequence_type = $root.onnx.TypeProto.Sequence.decodeText(reader, true);
  1024. break;
  1025. case "map_type":
  1026. message.map_type = $root.onnx.TypeProto.Map.decodeText(reader, true);
  1027. break;
  1028. case "sparse_tensor_type":
  1029. message.sparse_tensor_type = $root.onnx.TypeProto.SparseTensor.decodeText(reader, true);
  1030. break;
  1031. case "opaque_type":
  1032. message.opaque_type = $root.onnx.TypeProto.Opaque.decodeText(reader, true);
  1033. break;
  1034. case "denotation":
  1035. message.denotation = reader.string();
  1036. break;
  1037. default:
  1038. reader.field(tag, message);
  1039. break;
  1040. }
  1041. }
  1042. return message;
  1043. }
  1044. };
  1045. $root.onnx.TypeProto.prototype.denotation = "";
  1046. $root.onnx.TypeProto.Tensor = class Tensor {
  1047. constructor() {
  1048. }
  1049. static decode(reader, length) {
  1050. const message = new $root.onnx.TypeProto.Tensor();
  1051. const end = reader.next(length);
  1052. while (reader.end(end)) {
  1053. const tag = reader.uint32();
  1054. switch (tag >>> 3) {
  1055. case 1:
  1056. message.elem_type = reader.int32();
  1057. break;
  1058. case 2:
  1059. message.shape = $root.onnx.TensorShapeProto.decode(reader, reader.uint32());
  1060. break;
  1061. default:
  1062. reader.skipType(tag & 7);
  1063. break;
  1064. }
  1065. }
  1066. return message;
  1067. }
  1068. static decodeText(reader) {
  1069. const message = new $root.onnx.TypeProto.Tensor();
  1070. reader.start();
  1071. while (!reader.end()) {
  1072. const tag = reader.tag();
  1073. switch (tag) {
  1074. case "elem_type":
  1075. message.elem_type = reader.integer();
  1076. break;
  1077. case "shape":
  1078. message.shape = $root.onnx.TensorShapeProto.decodeText(reader, true);
  1079. break;
  1080. default:
  1081. reader.field(tag, message);
  1082. break;
  1083. }
  1084. }
  1085. return message;
  1086. }
  1087. };
  1088. $root.onnx.TypeProto.Tensor.prototype.elem_type = 0;
  1089. $root.onnx.TypeProto.Tensor.prototype.shape = null;
  1090. $root.onnx.TypeProto.Sequence = class Sequence {
  1091. constructor() {
  1092. }
  1093. static decode(reader, length) {
  1094. const message = new $root.onnx.TypeProto.Sequence();
  1095. const end = reader.next(length);
  1096. while (reader.end(end)) {
  1097. const tag = reader.uint32();
  1098. switch (tag >>> 3) {
  1099. case 1:
  1100. message.elem_type = $root.onnx.TypeProto.decode(reader, reader.uint32());
  1101. break;
  1102. default:
  1103. reader.skipType(tag & 7);
  1104. break;
  1105. }
  1106. }
  1107. return message;
  1108. }
  1109. static decodeText(reader) {
  1110. const message = new $root.onnx.TypeProto.Sequence();
  1111. reader.start();
  1112. while (!reader.end()) {
  1113. const tag = reader.tag();
  1114. switch (tag) {
  1115. case "elem_type":
  1116. message.elem_type = $root.onnx.TypeProto.decodeText(reader, true);
  1117. break;
  1118. default:
  1119. reader.field(tag, message);
  1120. break;
  1121. }
  1122. }
  1123. return message;
  1124. }
  1125. };
  1126. $root.onnx.TypeProto.Sequence.prototype.elem_type = null;
  1127. $root.onnx.TypeProto.Map = class Map {
  1128. constructor() {
  1129. }
  1130. static decode(reader, length) {
  1131. const message = new $root.onnx.TypeProto.Map();
  1132. const end = reader.next(length);
  1133. while (reader.end(end)) {
  1134. const tag = reader.uint32();
  1135. switch (tag >>> 3) {
  1136. case 1:
  1137. message.key_type = reader.int32();
  1138. break;
  1139. case 2:
  1140. message.value_type = $root.onnx.TypeProto.decode(reader, reader.uint32());
  1141. break;
  1142. default:
  1143. reader.skipType(tag & 7);
  1144. break;
  1145. }
  1146. }
  1147. return message;
  1148. }
  1149. static decodeText(reader) {
  1150. const message = new $root.onnx.TypeProto.Map();
  1151. reader.start();
  1152. while (!reader.end()) {
  1153. const tag = reader.tag();
  1154. switch (tag) {
  1155. case "key_type":
  1156. message.key_type = reader.integer();
  1157. break;
  1158. case "value_type":
  1159. message.value_type = $root.onnx.TypeProto.decodeText(reader, true);
  1160. break;
  1161. default:
  1162. reader.field(tag, message);
  1163. break;
  1164. }
  1165. }
  1166. return message;
  1167. }
  1168. };
  1169. $root.onnx.TypeProto.Map.prototype.key_type = 0;
  1170. $root.onnx.TypeProto.Map.prototype.value_type = null;
  1171. $root.onnx.TypeProto.SparseTensor = class SparseTensor {
  1172. constructor() {
  1173. }
  1174. static decode(reader, length) {
  1175. const message = new $root.onnx.TypeProto.SparseTensor();
  1176. const end = reader.next(length);
  1177. while (reader.end(end)) {
  1178. const tag = reader.uint32();
  1179. switch (tag >>> 3) {
  1180. case 1:
  1181. message.elem_type = reader.int32();
  1182. break;
  1183. case 2:
  1184. message.shape = $root.onnx.TensorShapeProto.decode(reader, reader.uint32());
  1185. break;
  1186. default:
  1187. reader.skipType(tag & 7);
  1188. break;
  1189. }
  1190. }
  1191. return message;
  1192. }
  1193. static decodeText(reader) {
  1194. const message = new $root.onnx.TypeProto.SparseTensor();
  1195. reader.start();
  1196. while (!reader.end()) {
  1197. const tag = reader.tag();
  1198. switch (tag) {
  1199. case "elem_type":
  1200. message.elem_type = reader.integer();
  1201. break;
  1202. case "shape":
  1203. message.shape = $root.onnx.TensorShapeProto.decodeText(reader, true);
  1204. break;
  1205. default:
  1206. reader.field(tag, message);
  1207. break;
  1208. }
  1209. }
  1210. return message;
  1211. }
  1212. };
  1213. $root.onnx.TypeProto.SparseTensor.prototype.elem_type = 0;
  1214. $root.onnx.TypeProto.SparseTensor.prototype.shape = null;
  1215. $root.onnx.TypeProto.Opaque = class Opaque {
  1216. constructor() {
  1217. }
  1218. static decode(reader, length) {
  1219. const message = new $root.onnx.TypeProto.Opaque();
  1220. const end = reader.next(length);
  1221. while (reader.end(end)) {
  1222. const tag = reader.uint32();
  1223. switch (tag >>> 3) {
  1224. case 1:
  1225. message.domain = reader.string();
  1226. break;
  1227. case 2:
  1228. message.name = reader.string();
  1229. break;
  1230. default:
  1231. reader.skipType(tag & 7);
  1232. break;
  1233. }
  1234. }
  1235. return message;
  1236. }
  1237. static decodeText(reader) {
  1238. const message = new $root.onnx.TypeProto.Opaque();
  1239. reader.start();
  1240. while (!reader.end()) {
  1241. const tag = reader.tag();
  1242. switch (tag) {
  1243. case "domain":
  1244. message.domain = reader.string();
  1245. break;
  1246. case "name":
  1247. message.name = reader.string();
  1248. break;
  1249. default:
  1250. reader.field(tag, message);
  1251. break;
  1252. }
  1253. }
  1254. return message;
  1255. }
  1256. };
  1257. $root.onnx.TypeProto.Opaque.prototype.domain = "";
  1258. $root.onnx.TypeProto.Opaque.prototype.name = "";
  1259. $root.onnx.OperatorSetIdProto = class OperatorSetIdProto {
  1260. constructor() {
  1261. }
  1262. static decode(reader, length) {
  1263. const message = new $root.onnx.OperatorSetIdProto();
  1264. const end = reader.next(length);
  1265. while (reader.end(end)) {
  1266. const tag = reader.uint32();
  1267. switch (tag >>> 3) {
  1268. case 1:
  1269. message.domain = reader.string();
  1270. break;
  1271. case 2:
  1272. message.version = reader.int64();
  1273. break;
  1274. default:
  1275. reader.skipType(tag & 7);
  1276. break;
  1277. }
  1278. }
  1279. return message;
  1280. }
  1281. static decodeText(reader) {
  1282. const message = new $root.onnx.OperatorSetIdProto();
  1283. reader.start();
  1284. while (!reader.end()) {
  1285. const tag = reader.tag();
  1286. switch (tag) {
  1287. case "domain":
  1288. message.domain = reader.string();
  1289. break;
  1290. case "version":
  1291. message.version = reader.integer();
  1292. break;
  1293. default:
  1294. reader.field(tag, message);
  1295. break;
  1296. }
  1297. }
  1298. return message;
  1299. }
  1300. };
  1301. $root.onnx.OperatorSetIdProto.prototype.domain = "";
  1302. $root.onnx.OperatorSetIdProto.prototype.version = protobuf.Int64.create(0);
  1303. $root.onnx.OperatorStatus = {
  1304. "EXPERIMENTAL": 0,
  1305. "STABLE": 1
  1306. };
  1307. $root.onnx.FunctionProto = class FunctionProto {
  1308. constructor() {
  1309. this.input = [];
  1310. this.output = [];
  1311. this.attribute = [];
  1312. this.node = [];
  1313. this.opset_import = [];
  1314. }
  1315. static decode(reader, length) {
  1316. const message = new $root.onnx.FunctionProto();
  1317. const end = reader.next(length);
  1318. while (reader.end(end)) {
  1319. const tag = reader.uint32();
  1320. switch (tag >>> 3) {
  1321. case 1:
  1322. message.name = reader.string();
  1323. break;
  1324. case 2:
  1325. message.since_version = reader.int64();
  1326. break;
  1327. case 3:
  1328. message.status = reader.int32();
  1329. break;
  1330. case 4:
  1331. message.input.push(reader.string());
  1332. break;
  1333. case 5:
  1334. message.output.push(reader.string());
  1335. break;
  1336. case 6:
  1337. message.attribute.push(reader.string());
  1338. break;
  1339. case 7:
  1340. message.node.push($root.onnx.NodeProto.decode(reader, reader.uint32()));
  1341. break;
  1342. case 8:
  1343. message.doc_string = reader.string();
  1344. break;
  1345. case 9:
  1346. message.opset_import.push($root.onnx.OperatorSetIdProto.decode(reader, reader.uint32()));
  1347. break;
  1348. default:
  1349. reader.skipType(tag & 7);
  1350. break;
  1351. }
  1352. }
  1353. return message;
  1354. }
  1355. static decodeText(reader) {
  1356. const message = new $root.onnx.FunctionProto();
  1357. reader.start();
  1358. while (!reader.end()) {
  1359. const tag = reader.tag();
  1360. switch (tag) {
  1361. case "name":
  1362. message.name = reader.string();
  1363. break;
  1364. case "since_version":
  1365. message.since_version = reader.integer();
  1366. break;
  1367. case "status":
  1368. message.status = reader.enum($root.onnx.OperatorStatus);
  1369. break;
  1370. case "input":
  1371. reader.array(message.input, () => reader.string());
  1372. break;
  1373. case "output":
  1374. reader.array(message.output, () => reader.string());
  1375. break;
  1376. case "attribute":
  1377. reader.array(message.attribute, () => reader.string());
  1378. break;
  1379. case "node":
  1380. message.node.push($root.onnx.NodeProto.decodeText(reader, true));
  1381. break;
  1382. case "doc_string":
  1383. message.doc_string = reader.string();
  1384. break;
  1385. case "opset_import":
  1386. message.opset_import.push($root.onnx.OperatorSetIdProto.decodeText(reader, true));
  1387. break;
  1388. default:
  1389. reader.field(tag, message);
  1390. break;
  1391. }
  1392. }
  1393. return message;
  1394. }
  1395. };
  1396. $root.onnx.FunctionProto.prototype.name = "";
  1397. $root.onnx.FunctionProto.prototype.since_version = protobuf.Int64.create(0);
  1398. $root.onnx.FunctionProto.prototype.status = 0;
  1399. $root.onnx.FunctionProto.prototype.doc_string = "";
  1400. $root.onnx.OperatorProto = class OperatorProto {
  1401. constructor() {
  1402. }
  1403. static decode(reader, length) {
  1404. const message = new $root.onnx.OperatorProto();
  1405. const end = reader.next(length);
  1406. while (reader.end(end)) {
  1407. const tag = reader.uint32();
  1408. switch (tag >>> 3) {
  1409. case 1:
  1410. message.op_type = reader.string();
  1411. break;
  1412. case 2:
  1413. message.since_version = reader.int64();
  1414. break;
  1415. case 3:
  1416. message.status = reader.int32();
  1417. break;
  1418. case 10:
  1419. message.doc_string = reader.string();
  1420. break;
  1421. default:
  1422. reader.skipType(tag & 7);
  1423. break;
  1424. }
  1425. }
  1426. return message;
  1427. }
  1428. static decodeText(reader) {
  1429. const message = new $root.onnx.OperatorProto();
  1430. reader.start();
  1431. while (!reader.end()) {
  1432. const tag = reader.tag();
  1433. switch (tag) {
  1434. case "op_type":
  1435. message.op_type = reader.string();
  1436. break;
  1437. case "since_version":
  1438. message.since_version = reader.integer();
  1439. break;
  1440. case "status":
  1441. message.status = reader.enum($root.onnx.OperatorStatus);
  1442. break;
  1443. case "doc_string":
  1444. message.doc_string = reader.string();
  1445. break;
  1446. default:
  1447. reader.field(tag, message);
  1448. break;
  1449. }
  1450. }
  1451. return message;
  1452. }
  1453. };
  1454. $root.onnx.OperatorProto.prototype.op_type = "";
  1455. $root.onnx.OperatorProto.prototype.since_version = protobuf.Int64.create(0);
  1456. $root.onnx.OperatorProto.prototype.status = 0;
  1457. $root.onnx.OperatorProto.prototype.doc_string = "";
  1458. $root.onnx.OperatorSetProto = class OperatorSetProto {
  1459. constructor() {
  1460. this.operator = [];
  1461. this.functions = [];
  1462. }
  1463. static decode(reader, length) {
  1464. const message = new $root.onnx.OperatorSetProto();
  1465. const end = reader.next(length);
  1466. while (reader.end(end)) {
  1467. const tag = reader.uint32();
  1468. switch (tag >>> 3) {
  1469. case 1:
  1470. message.magic = reader.string();
  1471. break;
  1472. case 2:
  1473. message.ir_version = reader.int64();
  1474. break;
  1475. case 3:
  1476. message.ir_version_prerelease = reader.string();
  1477. break;
  1478. case 7:
  1479. message.ir_build_metadata = reader.string();
  1480. break;
  1481. case 4:
  1482. message.domain = reader.string();
  1483. break;
  1484. case 5:
  1485. message.opset_version = reader.int64();
  1486. break;
  1487. case 6:
  1488. message.doc_string = reader.string();
  1489. break;
  1490. case 8:
  1491. message.operator.push($root.onnx.OperatorProto.decode(reader, reader.uint32()));
  1492. break;
  1493. case 9:
  1494. message.functions.push($root.onnx.FunctionProto.decode(reader, reader.uint32()));
  1495. break;
  1496. default:
  1497. reader.skipType(tag & 7);
  1498. break;
  1499. }
  1500. }
  1501. return message;
  1502. }
  1503. static decodeText(reader) {
  1504. const message = new $root.onnx.OperatorSetProto();
  1505. reader.start();
  1506. while (!reader.end()) {
  1507. const tag = reader.tag();
  1508. switch (tag) {
  1509. case "magic":
  1510. message.magic = reader.string();
  1511. break;
  1512. case "ir_version":
  1513. message.ir_version = reader.integer();
  1514. break;
  1515. case "ir_version_prerelease":
  1516. message.ir_version_prerelease = reader.string();
  1517. break;
  1518. case "ir_build_metadata":
  1519. message.ir_build_metadata = reader.string();
  1520. break;
  1521. case "domain":
  1522. message.domain = reader.string();
  1523. break;
  1524. case "opset_version":
  1525. message.opset_version = reader.integer();
  1526. break;
  1527. case "doc_string":
  1528. message.doc_string = reader.string();
  1529. break;
  1530. case "operator":
  1531. message.operator.push($root.onnx.OperatorProto.decodeText(reader, true));
  1532. break;
  1533. case "functions":
  1534. message.functions.push($root.onnx.FunctionProto.decodeText(reader, true));
  1535. break;
  1536. default:
  1537. reader.field(tag, message);
  1538. break;
  1539. }
  1540. }
  1541. return message;
  1542. }
  1543. };
  1544. $root.onnx.OperatorSetProto.prototype.magic = "";
  1545. $root.onnx.OperatorSetProto.prototype.ir_version = protobuf.Int64.create(0);
  1546. $root.onnx.OperatorSetProto.prototype.ir_version_prerelease = "";
  1547. $root.onnx.OperatorSetProto.prototype.ir_build_metadata = "";
  1548. $root.onnx.OperatorSetProto.prototype.domain = "";
  1549. $root.onnx.OperatorSetProto.prototype.opset_version = protobuf.Int64.create(0);
  1550. $root.onnx.OperatorSetProto.prototype.doc_string = "";