onnx-proto.js 90 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712
  1. export const onnx = {};
  2. onnx.Version = {
  3. "_START_VERSION": 0,
  4. "IR_VERSION_2017_10_10": 1,
  5. "IR_VERSION_2017_10_30": 2,
  6. "IR_VERSION_2017_11_3": 3,
  7. "IR_VERSION_2019_1_22": 4,
  8. "IR_VERSION_2019_3_18": 5,
  9. "IR_VERSION_2019_9_19": 6,
  10. "IR_VERSION_2020_5_8": 7,
  11. "IR_VERSION_2021_7_30": 8,
  12. "IR_VERSION_2023_5_5": 9,
  13. "IR_VERSION_2024_3_25": 10,
  14. "IR_VERSION_2025_05_12": 11,
  15. "IR_VERSION_2025_08_26": 12,
  16. "IR_VERSION": 13
  17. };
  18. onnx.AttributeProto = class AttributeProto {
  19. constructor() {
  20. this.floats = [];
  21. this.ints = [];
  22. this.strings = [];
  23. this.tensors = [];
  24. this.graphs = [];
  25. this.sparse_tensors = [];
  26. this.type_protos = [];
  27. }
  28. static decode(reader, length) {
  29. const message = new onnx.AttributeProto();
  30. const end = length === undefined ? reader.length : reader.position + length;
  31. while (reader.position < end) {
  32. const tag = reader.uint32();
  33. switch (tag >>> 3) {
  34. case 1:
  35. message.name = reader.string();
  36. break;
  37. case 21:
  38. message.ref_attr_name = reader.string();
  39. break;
  40. case 13:
  41. message.doc_string = reader.string();
  42. break;
  43. case 20:
  44. message.type = reader.int32();
  45. break;
  46. case 2:
  47. message.f = reader.float();
  48. break;
  49. case 3:
  50. message.i = reader.int64();
  51. break;
  52. case 4:
  53. message.s = reader.bytes();
  54. break;
  55. case 5:
  56. message.t = onnx.TensorProto.decode(reader, reader.uint32());
  57. break;
  58. case 6:
  59. message.g = onnx.GraphProto.decode(reader, reader.uint32());
  60. break;
  61. case 22:
  62. message.sparse_tensor = onnx.SparseTensorProto.decode(reader, reader.uint32());
  63. break;
  64. case 14:
  65. message.tp = onnx.TypeProto.decode(reader, reader.uint32());
  66. break;
  67. case 7:
  68. message.floats = reader.floats(message.floats, tag);
  69. break;
  70. case 8:
  71. message.ints = reader.array(message.ints, () => reader.int64(), tag);
  72. break;
  73. case 9:
  74. message.strings.push(reader.bytes());
  75. break;
  76. case 10:
  77. message.tensors.push(onnx.TensorProto.decode(reader, reader.uint32()));
  78. break;
  79. case 11:
  80. message.graphs.push(onnx.GraphProto.decode(reader, reader.uint32()));
  81. break;
  82. case 23:
  83. message.sparse_tensors.push(onnx.SparseTensorProto.decode(reader, reader.uint32()));
  84. break;
  85. case 15:
  86. message.type_protos.push(onnx.TypeProto.decode(reader, reader.uint32()));
  87. break;
  88. default:
  89. reader.skipType(tag & 7);
  90. break;
  91. }
  92. }
  93. return message;
  94. }
  95. static decodeText(reader) {
  96. const message = new onnx.AttributeProto();
  97. reader.start();
  98. while (!reader.end()) {
  99. const tag = reader.tag();
  100. switch (tag) {
  101. case "name":
  102. message.name = reader.string();
  103. break;
  104. case "ref_attr_name":
  105. message.ref_attr_name = reader.string();
  106. break;
  107. case "doc_string":
  108. message.doc_string = reader.string();
  109. break;
  110. case "type":
  111. message.type = reader.enum(onnx.AttributeProto.AttributeType);
  112. break;
  113. case "f":
  114. message.f = reader.float();
  115. break;
  116. case "i":
  117. message.i = reader.int64();
  118. break;
  119. case "s":
  120. message.s = reader.bytes();
  121. break;
  122. case "t":
  123. message.t = onnx.TensorProto.decodeText(reader);
  124. break;
  125. case "g":
  126. message.g = onnx.GraphProto.decodeText(reader);
  127. break;
  128. case "sparse_tensor":
  129. message.sparse_tensor = onnx.SparseTensorProto.decodeText(reader);
  130. break;
  131. case "tp":
  132. message.tp = onnx.TypeProto.decodeText(reader);
  133. break;
  134. case "floats":
  135. reader.array(message.floats, () => reader.float());
  136. break;
  137. case "ints":
  138. reader.array(message.ints, () => reader.int64());
  139. break;
  140. case "strings":
  141. reader.array(message.strings, () => reader.bytes());
  142. break;
  143. case "tensors":
  144. message.tensors.push(onnx.TensorProto.decodeText(reader));
  145. break;
  146. case "graphs":
  147. message.graphs.push(onnx.GraphProto.decodeText(reader));
  148. break;
  149. case "sparse_tensors":
  150. message.sparse_tensors.push(onnx.SparseTensorProto.decodeText(reader));
  151. break;
  152. case "type_protos":
  153. message.type_protos.push(onnx.TypeProto.decodeText(reader));
  154. break;
  155. default:
  156. reader.field(tag, message);
  157. break;
  158. }
  159. }
  160. return message;
  161. }
  162. static decodeJson(obj) {
  163. const message = new onnx.AttributeProto();
  164. if ('name' in obj) {
  165. message.name = obj.name;
  166. }
  167. if ('refAttrName' in obj) {
  168. message.ref_attr_name = obj.refAttrName;
  169. }
  170. if ('docString' in obj) {
  171. message.doc_string = obj.docString;
  172. }
  173. if ('type' in obj) {
  174. message.type = typeof obj.type === 'string' ? onnx.AttributeProto.AttributeType[obj.type] : obj.type;
  175. }
  176. if ('f' in obj) {
  177. message.f = Number(obj.f);
  178. }
  179. if ('i' in obj) {
  180. message.i = BigInt(obj.i);
  181. }
  182. if ('s' in obj) {
  183. message.s = typeof obj.s === 'string' ? Uint8Array.from(atob(obj.s), (c) => c.charCodeAt(0)) : Uint8Array.from(obj.s);
  184. }
  185. if ('t' in obj) {
  186. message.t = onnx.TensorProto.decodeJson(obj.t);
  187. }
  188. if ('g' in obj) {
  189. message.g = onnx.GraphProto.decodeJson(obj.g);
  190. }
  191. if ('sparseTensor' in obj) {
  192. message.sparse_tensor = onnx.SparseTensorProto.decodeJson(obj.sparseTensor);
  193. }
  194. if ('tp' in obj) {
  195. message.tp = onnx.TypeProto.decodeJson(obj.tp);
  196. }
  197. if ('floats' in obj) {
  198. message.floats = obj.floats.map((obj) => Number(obj));
  199. }
  200. if ('ints' in obj) {
  201. message.ints = obj.ints.map((obj) => BigInt(obj));
  202. }
  203. if ('strings' in obj) {
  204. message.strings = obj.strings.map((obj) => typeof obj === 'string' ? Uint8Array.from(atob(obj), (c) => c.charCodeAt(0)) : Uint8Array.from(obj));
  205. }
  206. if ('tensors' in obj) {
  207. message.tensors = obj.tensors.map((obj) => onnx.TensorProto.decodeJson(obj));
  208. }
  209. if ('graphs' in obj) {
  210. message.graphs = obj.graphs.map((obj) => onnx.GraphProto.decodeJson(obj));
  211. }
  212. if ('sparseTensors' in obj) {
  213. message.sparse_tensors = obj.sparseTensors.map((obj) => onnx.SparseTensorProto.decodeJson(obj));
  214. }
  215. if ('typeProtos' in obj) {
  216. message.type_protos = obj.typeProtos.map((obj) => onnx.TypeProto.decodeJson(obj));
  217. }
  218. return message;
  219. }
  220. };
  221. onnx.AttributeProto.prototype.name = "";
  222. onnx.AttributeProto.prototype.ref_attr_name = "";
  223. onnx.AttributeProto.prototype.doc_string = "";
  224. onnx.AttributeProto.prototype.type = 0;
  225. onnx.AttributeProto.prototype.f = 0;
  226. onnx.AttributeProto.prototype.i = 0n;
  227. onnx.AttributeProto.prototype.s = new Uint8Array([]);
  228. onnx.AttributeProto.prototype.t = null;
  229. onnx.AttributeProto.prototype.g = null;
  230. onnx.AttributeProto.prototype.sparse_tensor = null;
  231. onnx.AttributeProto.prototype.tp = null;
  232. onnx.AttributeProto.AttributeType = {
  233. "UNDEFINED": 0,
  234. "FLOAT": 1,
  235. "INT": 2,
  236. "STRING": 3,
  237. "TENSOR": 4,
  238. "GRAPH": 5,
  239. "SPARSE_TENSOR": 11,
  240. "TYPE_PROTO": 13,
  241. "FLOATS": 6,
  242. "INTS": 7,
  243. "STRINGS": 8,
  244. "TENSORS": 9,
  245. "GRAPHS": 10,
  246. "SPARSE_TENSORS": 12,
  247. "TYPE_PROTOS": 14
  248. };
  249. onnx.ValueInfoProto = class ValueInfoProto {
  250. constructor() {
  251. this.metadata_props = [];
  252. }
  253. static decode(reader, length) {
  254. const message = new onnx.ValueInfoProto();
  255. const end = length === undefined ? reader.length : reader.position + length;
  256. while (reader.position < end) {
  257. const tag = reader.uint32();
  258. switch (tag >>> 3) {
  259. case 1:
  260. message.name = reader.string();
  261. break;
  262. case 2:
  263. message.type = onnx.TypeProto.decode(reader, reader.uint32());
  264. break;
  265. case 3:
  266. message.doc_string = reader.string();
  267. break;
  268. case 4:
  269. message.metadata_props.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  270. break;
  271. default:
  272. reader.skipType(tag & 7);
  273. break;
  274. }
  275. }
  276. return message;
  277. }
  278. static decodeText(reader) {
  279. const message = new onnx.ValueInfoProto();
  280. reader.start();
  281. while (!reader.end()) {
  282. const tag = reader.tag();
  283. switch (tag) {
  284. case "name":
  285. message.name = reader.string();
  286. break;
  287. case "type":
  288. message.type = onnx.TypeProto.decodeText(reader);
  289. break;
  290. case "doc_string":
  291. message.doc_string = reader.string();
  292. break;
  293. case "metadata_props":
  294. message.metadata_props.push(onnx.StringStringEntryProto.decodeText(reader));
  295. break;
  296. default:
  297. reader.field(tag, message);
  298. break;
  299. }
  300. }
  301. return message;
  302. }
  303. static decodeJson(obj) {
  304. const message = new onnx.ValueInfoProto();
  305. if ('name' in obj) {
  306. message.name = obj.name;
  307. }
  308. if ('type' in obj) {
  309. message.type = onnx.TypeProto.decodeJson(obj.type);
  310. }
  311. if ('docString' in obj) {
  312. message.doc_string = obj.docString;
  313. }
  314. if ('metadataProps' in obj) {
  315. message.metadata_props = obj.metadataProps.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  316. }
  317. return message;
  318. }
  319. };
  320. onnx.ValueInfoProto.prototype.name = "";
  321. onnx.ValueInfoProto.prototype.type = null;
  322. onnx.ValueInfoProto.prototype.doc_string = "";
  323. onnx.NodeProto = class NodeProto {
  324. constructor() {
  325. this.input = [];
  326. this.output = [];
  327. this.attribute = [];
  328. this.metadata_props = [];
  329. this.device_configurations = [];
  330. }
  331. static decode(reader, length) {
  332. const message = new onnx.NodeProto();
  333. const end = length === undefined ? reader.length : reader.position + length;
  334. while (reader.position < end) {
  335. const tag = reader.uint32();
  336. switch (tag >>> 3) {
  337. case 1:
  338. message.input.push(reader.string());
  339. break;
  340. case 2:
  341. message.output.push(reader.string());
  342. break;
  343. case 3:
  344. message.name = reader.string();
  345. break;
  346. case 4:
  347. message.op_type = reader.string();
  348. break;
  349. case 7:
  350. message.domain = reader.string();
  351. break;
  352. case 8:
  353. message.overload = reader.string();
  354. break;
  355. case 5:
  356. message.attribute.push(onnx.AttributeProto.decode(reader, reader.uint32()));
  357. break;
  358. case 6:
  359. message.doc_string = reader.string();
  360. break;
  361. case 9:
  362. message.metadata_props.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  363. break;
  364. case 10:
  365. message.device_configurations.push(onnx.NodeDeviceConfigurationProto.decode(reader, reader.uint32()));
  366. break;
  367. default:
  368. reader.skipType(tag & 7);
  369. break;
  370. }
  371. }
  372. return message;
  373. }
  374. static decodeText(reader) {
  375. const message = new onnx.NodeProto();
  376. reader.start();
  377. while (!reader.end()) {
  378. const tag = reader.tag();
  379. switch (tag) {
  380. case "input":
  381. reader.array(message.input, () => reader.string());
  382. break;
  383. case "output":
  384. reader.array(message.output, () => reader.string());
  385. break;
  386. case "name":
  387. message.name = reader.string();
  388. break;
  389. case "op_type":
  390. message.op_type = reader.string();
  391. break;
  392. case "domain":
  393. message.domain = reader.string();
  394. break;
  395. case "overload":
  396. message.overload = reader.string();
  397. break;
  398. case "attribute":
  399. message.attribute.push(onnx.AttributeProto.decodeText(reader));
  400. break;
  401. case "doc_string":
  402. message.doc_string = reader.string();
  403. break;
  404. case "metadata_props":
  405. message.metadata_props.push(onnx.StringStringEntryProto.decodeText(reader));
  406. break;
  407. case "device_configurations":
  408. message.device_configurations.push(onnx.NodeDeviceConfigurationProto.decodeText(reader));
  409. break;
  410. default:
  411. reader.field(tag, message);
  412. break;
  413. }
  414. }
  415. return message;
  416. }
  417. static decodeJson(obj) {
  418. const message = new onnx.NodeProto();
  419. if ('input' in obj) {
  420. message.input = obj.input;
  421. }
  422. if ('output' in obj) {
  423. message.output = obj.output;
  424. }
  425. if ('name' in obj) {
  426. message.name = obj.name;
  427. }
  428. if ('opType' in obj) {
  429. message.op_type = obj.opType;
  430. }
  431. if ('domain' in obj) {
  432. message.domain = obj.domain;
  433. }
  434. if ('overload' in obj) {
  435. message.overload = obj.overload;
  436. }
  437. if ('attribute' in obj) {
  438. message.attribute = obj.attribute.map((obj) => onnx.AttributeProto.decodeJson(obj));
  439. }
  440. if ('docString' in obj) {
  441. message.doc_string = obj.docString;
  442. }
  443. if ('metadataProps' in obj) {
  444. message.metadata_props = obj.metadataProps.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  445. }
  446. if ('deviceConfigurations' in obj) {
  447. message.device_configurations = obj.deviceConfigurations.map((obj) => onnx.NodeDeviceConfigurationProto.decodeJson(obj));
  448. }
  449. return message;
  450. }
  451. };
  452. onnx.NodeProto.prototype.name = "";
  453. onnx.NodeProto.prototype.op_type = "";
  454. onnx.NodeProto.prototype.domain = "";
  455. onnx.NodeProto.prototype.overload = "";
  456. onnx.NodeProto.prototype.doc_string = "";
  457. onnx.IntIntListEntryProto = class IntIntListEntryProto {
  458. constructor() {
  459. this.value = [];
  460. }
  461. static decode(reader, length) {
  462. const message = new onnx.IntIntListEntryProto();
  463. const end = length === undefined ? reader.length : reader.position + length;
  464. while (reader.position < end) {
  465. const tag = reader.uint32();
  466. switch (tag >>> 3) {
  467. case 1:
  468. message.key = reader.int64();
  469. break;
  470. case 2:
  471. message.value = reader.array(message.value, () => reader.int64(), tag);
  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 onnx.IntIntListEntryProto();
  482. reader.start();
  483. while (!reader.end()) {
  484. const tag = reader.tag();
  485. switch (tag) {
  486. case "key":
  487. message.key = reader.int64();
  488. break;
  489. case "value":
  490. reader.array(message.value, () => reader.int64());
  491. break;
  492. default:
  493. reader.field(tag, message);
  494. break;
  495. }
  496. }
  497. return message;
  498. }
  499. static decodeJson(obj) {
  500. const message = new onnx.IntIntListEntryProto();
  501. if ('key' in obj) {
  502. message.key = BigInt(obj.key);
  503. }
  504. if ('value' in obj) {
  505. message.value = obj.value.map((obj) => BigInt(obj));
  506. }
  507. return message;
  508. }
  509. };
  510. onnx.IntIntListEntryProto.prototype.key = 0n;
  511. onnx.NodeDeviceConfigurationProto = class NodeDeviceConfigurationProto {
  512. constructor() {
  513. this.sharding_spec = [];
  514. }
  515. static decode(reader, length) {
  516. const message = new onnx.NodeDeviceConfigurationProto();
  517. const end = length === undefined ? reader.length : reader.position + length;
  518. while (reader.position < end) {
  519. const tag = reader.uint32();
  520. switch (tag >>> 3) {
  521. case 1:
  522. message.configuration_id = reader.string();
  523. break;
  524. case 2:
  525. message.sharding_spec.push(onnx.ShardingSpecProto.decode(reader, reader.uint32()));
  526. break;
  527. case 3:
  528. message.pipeline_stage = reader.int32();
  529. break;
  530. default:
  531. reader.skipType(tag & 7);
  532. break;
  533. }
  534. }
  535. return message;
  536. }
  537. static decodeText(reader) {
  538. const message = new onnx.NodeDeviceConfigurationProto();
  539. reader.start();
  540. while (!reader.end()) {
  541. const tag = reader.tag();
  542. switch (tag) {
  543. case "configuration_id":
  544. message.configuration_id = reader.string();
  545. break;
  546. case "sharding_spec":
  547. message.sharding_spec.push(onnx.ShardingSpecProto.decodeText(reader));
  548. break;
  549. case "pipeline_stage":
  550. message.pipeline_stage = reader.int32();
  551. break;
  552. default:
  553. reader.field(tag, message);
  554. break;
  555. }
  556. }
  557. return message;
  558. }
  559. static decodeJson(obj) {
  560. const message = new onnx.NodeDeviceConfigurationProto();
  561. if ('configurationId' in obj) {
  562. message.configuration_id = obj.configurationId;
  563. }
  564. if ('shardingSpec' in obj) {
  565. message.sharding_spec = obj.shardingSpec.map((obj) => onnx.ShardingSpecProto.decodeJson(obj));
  566. }
  567. if ('pipelineStage' in obj) {
  568. message.pipeline_stage = Number(obj.pipelineStage);
  569. }
  570. return message;
  571. }
  572. };
  573. onnx.NodeDeviceConfigurationProto.prototype.configuration_id = "";
  574. onnx.NodeDeviceConfigurationProto.prototype.pipeline_stage = 0;
  575. onnx.ShardingSpecProto = class ShardingSpecProto {
  576. constructor() {
  577. this.device = [];
  578. this.index_to_device_group_map = [];
  579. this.sharded_dim = [];
  580. }
  581. static decode(reader, length) {
  582. const message = new onnx.ShardingSpecProto();
  583. const end = length === undefined ? reader.length : reader.position + length;
  584. while (reader.position < end) {
  585. const tag = reader.uint32();
  586. switch (tag >>> 3) {
  587. case 1:
  588. message.tensor_name = reader.string();
  589. break;
  590. case 2:
  591. message.device = reader.array(message.device, () => reader.int64(), tag);
  592. break;
  593. case 3:
  594. message.index_to_device_group_map.push(onnx.IntIntListEntryProto.decode(reader, reader.uint32()));
  595. break;
  596. case 4:
  597. message.sharded_dim.push(onnx.ShardedDimProto.decode(reader, reader.uint32()));
  598. break;
  599. default:
  600. reader.skipType(tag & 7);
  601. break;
  602. }
  603. }
  604. return message;
  605. }
  606. static decodeText(reader) {
  607. const message = new onnx.ShardingSpecProto();
  608. reader.start();
  609. while (!reader.end()) {
  610. const tag = reader.tag();
  611. switch (tag) {
  612. case "tensor_name":
  613. message.tensor_name = reader.string();
  614. break;
  615. case "device":
  616. reader.array(message.device, () => reader.int64());
  617. break;
  618. case "index_to_device_group_map":
  619. message.index_to_device_group_map.push(onnx.IntIntListEntryProto.decodeText(reader));
  620. break;
  621. case "sharded_dim":
  622. message.sharded_dim.push(onnx.ShardedDimProto.decodeText(reader));
  623. break;
  624. default:
  625. reader.field(tag, message);
  626. break;
  627. }
  628. }
  629. return message;
  630. }
  631. static decodeJson(obj) {
  632. const message = new onnx.ShardingSpecProto();
  633. if ('tensorName' in obj) {
  634. message.tensor_name = obj.tensorName;
  635. }
  636. if ('device' in obj) {
  637. message.device = obj.device.map((obj) => BigInt(obj));
  638. }
  639. if ('indexToDeviceGroupMap' in obj) {
  640. message.index_to_device_group_map = obj.indexToDeviceGroupMap.map((obj) => onnx.IntIntListEntryProto.decodeJson(obj));
  641. }
  642. if ('shardedDim' in obj) {
  643. message.sharded_dim = obj.shardedDim.map((obj) => onnx.ShardedDimProto.decodeJson(obj));
  644. }
  645. return message;
  646. }
  647. };
  648. onnx.ShardingSpecProto.prototype.tensor_name = "";
  649. onnx.ShardedDimProto = class ShardedDimProto {
  650. constructor() {
  651. this.simple_sharding = [];
  652. }
  653. static decode(reader, length) {
  654. const message = new onnx.ShardedDimProto();
  655. const end = length === undefined ? reader.length : reader.position + length;
  656. while (reader.position < end) {
  657. const tag = reader.uint32();
  658. switch (tag >>> 3) {
  659. case 1:
  660. message.axis = reader.int64();
  661. break;
  662. case 2:
  663. message.simple_sharding.push(onnx.SimpleShardedDimProto.decode(reader, reader.uint32()));
  664. break;
  665. default:
  666. reader.skipType(tag & 7);
  667. break;
  668. }
  669. }
  670. return message;
  671. }
  672. static decodeText(reader) {
  673. const message = new onnx.ShardedDimProto();
  674. reader.start();
  675. while (!reader.end()) {
  676. const tag = reader.tag();
  677. switch (tag) {
  678. case "axis":
  679. message.axis = reader.int64();
  680. break;
  681. case "simple_sharding":
  682. message.simple_sharding.push(onnx.SimpleShardedDimProto.decodeText(reader));
  683. break;
  684. default:
  685. reader.field(tag, message);
  686. break;
  687. }
  688. }
  689. return message;
  690. }
  691. static decodeJson(obj) {
  692. const message = new onnx.ShardedDimProto();
  693. if ('axis' in obj) {
  694. message.axis = BigInt(obj.axis);
  695. }
  696. if ('simpleSharding' in obj) {
  697. message.simple_sharding = obj.simpleSharding.map((obj) => onnx.SimpleShardedDimProto.decodeJson(obj));
  698. }
  699. return message;
  700. }
  701. };
  702. onnx.ShardedDimProto.prototype.axis = 0n;
  703. onnx.SimpleShardedDimProto = class SimpleShardedDimProto {
  704. get dim() {
  705. onnx.SimpleShardedDimProto.dimSet = onnx.SimpleShardedDimProto.dimSet || new Set(["dim_value", "dim_param"]);
  706. return Object.keys(this).find((key) => onnx.SimpleShardedDimProto.dimSet.has(key) && this[key] !== null);
  707. }
  708. static decode(reader, length) {
  709. const message = new onnx.SimpleShardedDimProto();
  710. const end = length === undefined ? reader.length : reader.position + length;
  711. while (reader.position < end) {
  712. const tag = reader.uint32();
  713. switch (tag >>> 3) {
  714. case 1:
  715. message.dim_value = reader.int64();
  716. break;
  717. case 2:
  718. message.dim_param = reader.string();
  719. break;
  720. case 3:
  721. message.num_shards = reader.int64();
  722. break;
  723. default:
  724. reader.skipType(tag & 7);
  725. break;
  726. }
  727. }
  728. return message;
  729. }
  730. static decodeText(reader) {
  731. const message = new onnx.SimpleShardedDimProto();
  732. reader.start();
  733. while (!reader.end()) {
  734. const tag = reader.tag();
  735. switch (tag) {
  736. case "dim_value":
  737. message.dim_value = reader.int64();
  738. break;
  739. case "dim_param":
  740. message.dim_param = reader.string();
  741. break;
  742. case "num_shards":
  743. message.num_shards = reader.int64();
  744. break;
  745. default:
  746. reader.field(tag, message);
  747. break;
  748. }
  749. }
  750. return message;
  751. }
  752. static decodeJson(obj) {
  753. const message = new onnx.SimpleShardedDimProto();
  754. if ('dimValue' in obj) {
  755. message.dim_value = BigInt(obj.dimValue);
  756. }
  757. if ('dimParam' in obj) {
  758. message.dim_param = obj.dimParam;
  759. }
  760. if ('numShards' in obj) {
  761. message.num_shards = BigInt(obj.numShards);
  762. }
  763. return message;
  764. }
  765. };
  766. onnx.SimpleShardedDimProto.prototype.num_shards = 0n;
  767. onnx.TrainingInfoProto = class TrainingInfoProto {
  768. constructor() {
  769. this.initialization_binding = [];
  770. this.update_binding = [];
  771. }
  772. static decode(reader, length) {
  773. const message = new onnx.TrainingInfoProto();
  774. const end = length === undefined ? reader.length : reader.position + length;
  775. while (reader.position < end) {
  776. const tag = reader.uint32();
  777. switch (tag >>> 3) {
  778. case 1:
  779. message.initialization = onnx.GraphProto.decode(reader, reader.uint32());
  780. break;
  781. case 2:
  782. message.algorithm = onnx.GraphProto.decode(reader, reader.uint32());
  783. break;
  784. case 3:
  785. message.initialization_binding.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  786. break;
  787. case 4:
  788. message.update_binding.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  789. break;
  790. default:
  791. reader.skipType(tag & 7);
  792. break;
  793. }
  794. }
  795. return message;
  796. }
  797. static decodeText(reader) {
  798. const message = new onnx.TrainingInfoProto();
  799. reader.start();
  800. while (!reader.end()) {
  801. const tag = reader.tag();
  802. switch (tag) {
  803. case "initialization":
  804. message.initialization = onnx.GraphProto.decodeText(reader);
  805. break;
  806. case "algorithm":
  807. message.algorithm = onnx.GraphProto.decodeText(reader);
  808. break;
  809. case "initialization_binding":
  810. message.initialization_binding.push(onnx.StringStringEntryProto.decodeText(reader));
  811. break;
  812. case "update_binding":
  813. message.update_binding.push(onnx.StringStringEntryProto.decodeText(reader));
  814. break;
  815. default:
  816. reader.field(tag, message);
  817. break;
  818. }
  819. }
  820. return message;
  821. }
  822. static decodeJson(obj) {
  823. const message = new onnx.TrainingInfoProto();
  824. if ('initialization' in obj) {
  825. message.initialization = onnx.GraphProto.decodeJson(obj.initialization);
  826. }
  827. if ('algorithm' in obj) {
  828. message.algorithm = onnx.GraphProto.decodeJson(obj.algorithm);
  829. }
  830. if ('initializationBinding' in obj) {
  831. message.initialization_binding = obj.initializationBinding.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  832. }
  833. if ('updateBinding' in obj) {
  834. message.update_binding = obj.updateBinding.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  835. }
  836. return message;
  837. }
  838. };
  839. onnx.TrainingInfoProto.prototype.initialization = null;
  840. onnx.TrainingInfoProto.prototype.algorithm = null;
  841. onnx.ModelProto = class ModelProto {
  842. constructor() {
  843. this.opset_import = [];
  844. this.metadata_props = [];
  845. this.training_info = [];
  846. this.functions = [];
  847. this.configuration = [];
  848. }
  849. static decode(reader, length) {
  850. const message = new onnx.ModelProto();
  851. const end = length === undefined ? reader.length : reader.position + length;
  852. while (reader.position < end) {
  853. const tag = reader.uint32();
  854. switch (tag >>> 3) {
  855. case 1:
  856. message.ir_version = reader.int64();
  857. break;
  858. case 8:
  859. message.opset_import.push(onnx.OperatorSetIdProto.decode(reader, reader.uint32()));
  860. break;
  861. case 2:
  862. message.producer_name = reader.string();
  863. break;
  864. case 3:
  865. message.producer_version = reader.string();
  866. break;
  867. case 4:
  868. message.domain = reader.string();
  869. break;
  870. case 5:
  871. message.model_version = reader.int64();
  872. break;
  873. case 6:
  874. message.doc_string = reader.string();
  875. break;
  876. case 7:
  877. message.graph = onnx.GraphProto.decode(reader, reader.uint32());
  878. break;
  879. case 14:
  880. message.metadata_props.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  881. break;
  882. case 20:
  883. message.training_info.push(onnx.TrainingInfoProto.decode(reader, reader.uint32()));
  884. break;
  885. case 25:
  886. message.functions.push(onnx.FunctionProto.decode(reader, reader.uint32()));
  887. break;
  888. case 26:
  889. message.configuration.push(onnx.DeviceConfigurationProto.decode(reader, reader.uint32()));
  890. break;
  891. default:
  892. reader.skipType(tag & 7);
  893. break;
  894. }
  895. }
  896. return message;
  897. }
  898. static decodeText(reader) {
  899. const message = new onnx.ModelProto();
  900. reader.start();
  901. while (!reader.end()) {
  902. const tag = reader.tag();
  903. switch (tag) {
  904. case "ir_version":
  905. message.ir_version = reader.int64();
  906. break;
  907. case "opset_import":
  908. message.opset_import.push(onnx.OperatorSetIdProto.decodeText(reader));
  909. break;
  910. case "producer_name":
  911. message.producer_name = reader.string();
  912. break;
  913. case "producer_version":
  914. message.producer_version = reader.string();
  915. break;
  916. case "domain":
  917. message.domain = reader.string();
  918. break;
  919. case "model_version":
  920. message.model_version = reader.int64();
  921. break;
  922. case "doc_string":
  923. message.doc_string = reader.string();
  924. break;
  925. case "graph":
  926. message.graph = onnx.GraphProto.decodeText(reader);
  927. break;
  928. case "metadata_props":
  929. message.metadata_props.push(onnx.StringStringEntryProto.decodeText(reader));
  930. break;
  931. case "training_info":
  932. message.training_info.push(onnx.TrainingInfoProto.decodeText(reader));
  933. break;
  934. case "functions":
  935. message.functions.push(onnx.FunctionProto.decodeText(reader));
  936. break;
  937. case "configuration":
  938. message.configuration.push(onnx.DeviceConfigurationProto.decodeText(reader));
  939. break;
  940. default:
  941. reader.field(tag, message);
  942. break;
  943. }
  944. }
  945. return message;
  946. }
  947. static decodeJson(obj) {
  948. const message = new onnx.ModelProto();
  949. if ('irVersion' in obj) {
  950. message.ir_version = BigInt(obj.irVersion);
  951. }
  952. if ('opsetImport' in obj) {
  953. message.opset_import = obj.opsetImport.map((obj) => onnx.OperatorSetIdProto.decodeJson(obj));
  954. }
  955. if ('producerName' in obj) {
  956. message.producer_name = obj.producerName;
  957. }
  958. if ('producerVersion' in obj) {
  959. message.producer_version = obj.producerVersion;
  960. }
  961. if ('domain' in obj) {
  962. message.domain = obj.domain;
  963. }
  964. if ('modelVersion' in obj) {
  965. message.model_version = BigInt(obj.modelVersion);
  966. }
  967. if ('docString' in obj) {
  968. message.doc_string = obj.docString;
  969. }
  970. if ('graph' in obj) {
  971. message.graph = onnx.GraphProto.decodeJson(obj.graph);
  972. }
  973. if ('metadataProps' in obj) {
  974. message.metadata_props = obj.metadataProps.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  975. }
  976. if ('trainingInfo' in obj) {
  977. message.training_info = obj.trainingInfo.map((obj) => onnx.TrainingInfoProto.decodeJson(obj));
  978. }
  979. if ('functions' in obj) {
  980. message.functions = obj.functions.map((obj) => onnx.FunctionProto.decodeJson(obj));
  981. }
  982. if ('configuration' in obj) {
  983. message.configuration = obj.configuration.map((obj) => onnx.DeviceConfigurationProto.decodeJson(obj));
  984. }
  985. return message;
  986. }
  987. };
  988. onnx.ModelProto.prototype.ir_version = 0n;
  989. onnx.ModelProto.prototype.producer_name = "";
  990. onnx.ModelProto.prototype.producer_version = "";
  991. onnx.ModelProto.prototype.domain = "";
  992. onnx.ModelProto.prototype.model_version = 0n;
  993. onnx.ModelProto.prototype.doc_string = "";
  994. onnx.ModelProto.prototype.graph = null;
  995. onnx.DeviceConfigurationProto = class DeviceConfigurationProto {
  996. constructor() {
  997. this.device = [];
  998. }
  999. static decode(reader, length) {
  1000. const message = new onnx.DeviceConfigurationProto();
  1001. const end = length === undefined ? reader.length : reader.position + length;
  1002. while (reader.position < end) {
  1003. const tag = reader.uint32();
  1004. switch (tag >>> 3) {
  1005. case 1:
  1006. message.name = reader.string();
  1007. break;
  1008. case 2:
  1009. message.num_devices = reader.int32();
  1010. break;
  1011. case 3:
  1012. message.device.push(reader.string());
  1013. break;
  1014. default:
  1015. reader.skipType(tag & 7);
  1016. break;
  1017. }
  1018. }
  1019. return message;
  1020. }
  1021. static decodeText(reader) {
  1022. const message = new onnx.DeviceConfigurationProto();
  1023. reader.start();
  1024. while (!reader.end()) {
  1025. const tag = reader.tag();
  1026. switch (tag) {
  1027. case "name":
  1028. message.name = reader.string();
  1029. break;
  1030. case "num_devices":
  1031. message.num_devices = reader.int32();
  1032. break;
  1033. case "device":
  1034. reader.array(message.device, () => reader.string());
  1035. break;
  1036. default:
  1037. reader.field(tag, message);
  1038. break;
  1039. }
  1040. }
  1041. return message;
  1042. }
  1043. static decodeJson(obj) {
  1044. const message = new onnx.DeviceConfigurationProto();
  1045. if ('name' in obj) {
  1046. message.name = obj.name;
  1047. }
  1048. if ('numDevices' in obj) {
  1049. message.num_devices = Number(obj.numDevices);
  1050. }
  1051. if ('device' in obj) {
  1052. message.device = obj.device;
  1053. }
  1054. return message;
  1055. }
  1056. };
  1057. onnx.DeviceConfigurationProto.prototype.name = "";
  1058. onnx.DeviceConfigurationProto.prototype.num_devices = 0;
  1059. onnx.StringStringEntryProto = class StringStringEntryProto {
  1060. static decode(reader, length) {
  1061. const message = new onnx.StringStringEntryProto();
  1062. const end = length === undefined ? reader.length : reader.position + length;
  1063. while (reader.position < end) {
  1064. const tag = reader.uint32();
  1065. switch (tag >>> 3) {
  1066. case 1:
  1067. message.key = reader.string();
  1068. break;
  1069. case 2:
  1070. message.value = reader.string();
  1071. break;
  1072. default:
  1073. reader.skipType(tag & 7);
  1074. break;
  1075. }
  1076. }
  1077. return message;
  1078. }
  1079. static decodeText(reader) {
  1080. const message = new onnx.StringStringEntryProto();
  1081. reader.start();
  1082. while (!reader.end()) {
  1083. const tag = reader.tag();
  1084. switch (tag) {
  1085. case "key":
  1086. message.key = reader.string();
  1087. break;
  1088. case "value":
  1089. message.value = reader.string();
  1090. break;
  1091. default:
  1092. reader.field(tag, message);
  1093. break;
  1094. }
  1095. }
  1096. return message;
  1097. }
  1098. static decodeJson(obj) {
  1099. const message = new onnx.StringStringEntryProto();
  1100. if ('key' in obj) {
  1101. message.key = obj.key;
  1102. }
  1103. if ('value' in obj) {
  1104. message.value = obj.value;
  1105. }
  1106. return message;
  1107. }
  1108. };
  1109. onnx.StringStringEntryProto.prototype.key = "";
  1110. onnx.StringStringEntryProto.prototype.value = "";
  1111. onnx.TensorAnnotation = class TensorAnnotation {
  1112. constructor() {
  1113. this.quant_parameter_tensor_names = [];
  1114. }
  1115. static decode(reader, length) {
  1116. const message = new onnx.TensorAnnotation();
  1117. const end = length === undefined ? reader.length : reader.position + length;
  1118. while (reader.position < end) {
  1119. const tag = reader.uint32();
  1120. switch (tag >>> 3) {
  1121. case 1:
  1122. message.tensor_name = reader.string();
  1123. break;
  1124. case 2:
  1125. message.quant_parameter_tensor_names.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  1126. break;
  1127. default:
  1128. reader.skipType(tag & 7);
  1129. break;
  1130. }
  1131. }
  1132. return message;
  1133. }
  1134. static decodeText(reader) {
  1135. const message = new onnx.TensorAnnotation();
  1136. reader.start();
  1137. while (!reader.end()) {
  1138. const tag = reader.tag();
  1139. switch (tag) {
  1140. case "tensor_name":
  1141. message.tensor_name = reader.string();
  1142. break;
  1143. case "quant_parameter_tensor_names":
  1144. message.quant_parameter_tensor_names.push(onnx.StringStringEntryProto.decodeText(reader));
  1145. break;
  1146. default:
  1147. reader.field(tag, message);
  1148. break;
  1149. }
  1150. }
  1151. return message;
  1152. }
  1153. static decodeJson(obj) {
  1154. const message = new onnx.TensorAnnotation();
  1155. if ('tensorName' in obj) {
  1156. message.tensor_name = obj.tensorName;
  1157. }
  1158. if ('quantParameterTensorNames' in obj) {
  1159. message.quant_parameter_tensor_names = obj.quantParameterTensorNames.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  1160. }
  1161. return message;
  1162. }
  1163. };
  1164. onnx.TensorAnnotation.prototype.tensor_name = "";
  1165. onnx.GraphProto = class GraphProto {
  1166. constructor() {
  1167. this.node = [];
  1168. this.initializer = [];
  1169. this.sparse_initializer = [];
  1170. this.input = [];
  1171. this.output = [];
  1172. this.value_info = [];
  1173. this.quantization_annotation = [];
  1174. this.metadata_props = [];
  1175. }
  1176. static decode(reader, length) {
  1177. const message = new onnx.GraphProto();
  1178. const end = length === undefined ? reader.length : reader.position + length;
  1179. while (reader.position < end) {
  1180. const tag = reader.uint32();
  1181. switch (tag >>> 3) {
  1182. case 1:
  1183. message.node.push(onnx.NodeProto.decode(reader, reader.uint32()));
  1184. break;
  1185. case 2:
  1186. message.name = reader.string();
  1187. break;
  1188. case 5:
  1189. message.initializer.push(onnx.TensorProto.decode(reader, reader.uint32()));
  1190. break;
  1191. case 15:
  1192. message.sparse_initializer.push(onnx.SparseTensorProto.decode(reader, reader.uint32()));
  1193. break;
  1194. case 10:
  1195. message.doc_string = reader.string();
  1196. break;
  1197. case 11:
  1198. message.input.push(onnx.ValueInfoProto.decode(reader, reader.uint32()));
  1199. break;
  1200. case 12:
  1201. message.output.push(onnx.ValueInfoProto.decode(reader, reader.uint32()));
  1202. break;
  1203. case 13:
  1204. message.value_info.push(onnx.ValueInfoProto.decode(reader, reader.uint32()));
  1205. break;
  1206. case 14:
  1207. message.quantization_annotation.push(onnx.TensorAnnotation.decode(reader, reader.uint32()));
  1208. break;
  1209. case 16:
  1210. message.metadata_props.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  1211. break;
  1212. default:
  1213. reader.skipType(tag & 7);
  1214. break;
  1215. }
  1216. }
  1217. return message;
  1218. }
  1219. static decodeText(reader) {
  1220. const message = new onnx.GraphProto();
  1221. reader.start();
  1222. while (!reader.end()) {
  1223. const tag = reader.tag();
  1224. switch (tag) {
  1225. case "node":
  1226. message.node.push(onnx.NodeProto.decodeText(reader));
  1227. break;
  1228. case "name":
  1229. message.name = reader.string();
  1230. break;
  1231. case "initializer":
  1232. message.initializer.push(onnx.TensorProto.decodeText(reader));
  1233. break;
  1234. case "sparse_initializer":
  1235. message.sparse_initializer.push(onnx.SparseTensorProto.decodeText(reader));
  1236. break;
  1237. case "doc_string":
  1238. message.doc_string = reader.string();
  1239. break;
  1240. case "input":
  1241. message.input.push(onnx.ValueInfoProto.decodeText(reader));
  1242. break;
  1243. case "output":
  1244. message.output.push(onnx.ValueInfoProto.decodeText(reader));
  1245. break;
  1246. case "value_info":
  1247. message.value_info.push(onnx.ValueInfoProto.decodeText(reader));
  1248. break;
  1249. case "quantization_annotation":
  1250. message.quantization_annotation.push(onnx.TensorAnnotation.decodeText(reader));
  1251. break;
  1252. case "metadata_props":
  1253. message.metadata_props.push(onnx.StringStringEntryProto.decodeText(reader));
  1254. break;
  1255. default:
  1256. reader.field(tag, message);
  1257. break;
  1258. }
  1259. }
  1260. return message;
  1261. }
  1262. static decodeJson(obj) {
  1263. const message = new onnx.GraphProto();
  1264. if ('node' in obj) {
  1265. message.node = obj.node.map((obj) => onnx.NodeProto.decodeJson(obj));
  1266. }
  1267. if ('name' in obj) {
  1268. message.name = obj.name;
  1269. }
  1270. if ('initializer' in obj) {
  1271. message.initializer = obj.initializer.map((obj) => onnx.TensorProto.decodeJson(obj));
  1272. }
  1273. if ('sparseInitializer' in obj) {
  1274. message.sparse_initializer = obj.sparseInitializer.map((obj) => onnx.SparseTensorProto.decodeJson(obj));
  1275. }
  1276. if ('docString' in obj) {
  1277. message.doc_string = obj.docString;
  1278. }
  1279. if ('input' in obj) {
  1280. message.input = obj.input.map((obj) => onnx.ValueInfoProto.decodeJson(obj));
  1281. }
  1282. if ('output' in obj) {
  1283. message.output = obj.output.map((obj) => onnx.ValueInfoProto.decodeJson(obj));
  1284. }
  1285. if ('valueInfo' in obj) {
  1286. message.value_info = obj.valueInfo.map((obj) => onnx.ValueInfoProto.decodeJson(obj));
  1287. }
  1288. if ('quantizationAnnotation' in obj) {
  1289. message.quantization_annotation = obj.quantizationAnnotation.map((obj) => onnx.TensorAnnotation.decodeJson(obj));
  1290. }
  1291. if ('metadataProps' in obj) {
  1292. message.metadata_props = obj.metadataProps.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  1293. }
  1294. return message;
  1295. }
  1296. };
  1297. onnx.GraphProto.prototype.name = "";
  1298. onnx.GraphProto.prototype.doc_string = "";
  1299. onnx.TensorProto = class TensorProto {
  1300. constructor() {
  1301. this.dims = [];
  1302. this.float_data = [];
  1303. this.int32_data = [];
  1304. this.string_data = [];
  1305. this.int64_data = [];
  1306. this.external_data = [];
  1307. this.double_data = [];
  1308. this.uint64_data = [];
  1309. this.metadata_props = [];
  1310. }
  1311. static decode(reader, length) {
  1312. const message = new onnx.TensorProto();
  1313. const end = length === undefined ? reader.length : reader.position + length;
  1314. while (reader.position < end) {
  1315. const tag = reader.uint32();
  1316. switch (tag >>> 3) {
  1317. case 1:
  1318. message.dims = reader.array(message.dims, () => reader.int64(), tag);
  1319. break;
  1320. case 2:
  1321. message.data_type = reader.int32();
  1322. break;
  1323. case 3:
  1324. message.segment = onnx.TensorProto.Segment.decode(reader, reader.uint32());
  1325. break;
  1326. case 4:
  1327. message.float_data = reader.floats(message.float_data, tag);
  1328. break;
  1329. case 5:
  1330. message.int32_data = reader.array(message.int32_data, () => reader.int32(), tag);
  1331. break;
  1332. case 6:
  1333. message.string_data.push(reader.bytes());
  1334. break;
  1335. case 7:
  1336. message.int64_data = reader.array(message.int64_data, () => reader.int64(), tag);
  1337. break;
  1338. case 8:
  1339. message.name = reader.string();
  1340. break;
  1341. case 12:
  1342. message.doc_string = reader.string();
  1343. break;
  1344. case 9:
  1345. message.raw_data = reader.bytes();
  1346. break;
  1347. case 13:
  1348. message.external_data.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  1349. break;
  1350. case 14:
  1351. message.data_location = reader.int32();
  1352. break;
  1353. case 10:
  1354. message.double_data = reader.doubles(message.double_data, tag);
  1355. break;
  1356. case 11:
  1357. message.uint64_data = reader.array(message.uint64_data, () => reader.uint64(), tag);
  1358. break;
  1359. case 16:
  1360. message.metadata_props.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  1361. break;
  1362. default:
  1363. reader.skipType(tag & 7);
  1364. break;
  1365. }
  1366. }
  1367. return message;
  1368. }
  1369. static decodeText(reader) {
  1370. const message = new onnx.TensorProto();
  1371. reader.start();
  1372. while (!reader.end()) {
  1373. const tag = reader.tag();
  1374. switch (tag) {
  1375. case "dims":
  1376. reader.array(message.dims, () => reader.int64());
  1377. break;
  1378. case "data_type":
  1379. message.data_type = reader.int32();
  1380. break;
  1381. case "segment":
  1382. message.segment = onnx.TensorProto.Segment.decodeText(reader);
  1383. break;
  1384. case "float_data":
  1385. reader.array(message.float_data, () => reader.float());
  1386. break;
  1387. case "int32_data":
  1388. reader.array(message.int32_data, () => reader.int32());
  1389. break;
  1390. case "string_data":
  1391. reader.array(message.string_data, () => reader.bytes());
  1392. break;
  1393. case "int64_data":
  1394. reader.array(message.int64_data, () => reader.int64());
  1395. break;
  1396. case "name":
  1397. message.name = reader.string();
  1398. break;
  1399. case "doc_string":
  1400. message.doc_string = reader.string();
  1401. break;
  1402. case "raw_data":
  1403. message.raw_data = reader.bytes();
  1404. break;
  1405. case "external_data":
  1406. message.external_data.push(onnx.StringStringEntryProto.decodeText(reader));
  1407. break;
  1408. case "data_location":
  1409. message.data_location = reader.enum(onnx.TensorProto.DataLocation);
  1410. break;
  1411. case "double_data":
  1412. reader.array(message.double_data, () => reader.double());
  1413. break;
  1414. case "uint64_data":
  1415. reader.array(message.uint64_data, () => reader.uint64());
  1416. break;
  1417. case "metadata_props":
  1418. message.metadata_props.push(onnx.StringStringEntryProto.decodeText(reader));
  1419. break;
  1420. default:
  1421. reader.field(tag, message);
  1422. break;
  1423. }
  1424. }
  1425. return message;
  1426. }
  1427. static decodeJson(obj) {
  1428. const message = new onnx.TensorProto();
  1429. if ('dims' in obj) {
  1430. message.dims = obj.dims.map((obj) => BigInt(obj));
  1431. }
  1432. if ('dataType' in obj) {
  1433. message.data_type = Number(obj.dataType);
  1434. }
  1435. if ('segment' in obj) {
  1436. message.segment = onnx.TensorProto.Segment.decodeJson(obj.segment);
  1437. }
  1438. if ('floatData' in obj) {
  1439. message.float_data = obj.floatData.map((obj) => Number(obj));
  1440. }
  1441. if ('int32Data' in obj) {
  1442. message.int32_data = obj.int32Data.map((obj) => Number(obj));
  1443. }
  1444. if ('stringData' in obj) {
  1445. message.string_data = obj.stringData.map((obj) => typeof obj === 'string' ? Uint8Array.from(atob(obj), (c) => c.charCodeAt(0)) : Uint8Array.from(obj));
  1446. }
  1447. if ('int64Data' in obj) {
  1448. message.int64_data = obj.int64Data.map((obj) => BigInt(obj));
  1449. }
  1450. if ('name' in obj) {
  1451. message.name = obj.name;
  1452. }
  1453. if ('docString' in obj) {
  1454. message.doc_string = obj.docString;
  1455. }
  1456. if ('rawData' in obj) {
  1457. message.raw_data = typeof obj.rawData === 'string' ? Uint8Array.from(atob(obj.rawData), (c) => c.charCodeAt(0)) : Uint8Array.from(obj.rawData);
  1458. }
  1459. if ('externalData' in obj) {
  1460. message.external_data = obj.externalData.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  1461. }
  1462. if ('dataLocation' in obj) {
  1463. message.data_location = typeof obj.dataLocation === 'string' ? onnx.TensorProto.DataLocation[obj.dataLocation] : obj.dataLocation;
  1464. }
  1465. if ('doubleData' in obj) {
  1466. message.double_data = obj.doubleData.map((obj) => Number(obj));
  1467. }
  1468. if ('uint64Data' in obj) {
  1469. message.uint64_data = obj.uint64Data.map((obj) => BigInt(obj));
  1470. }
  1471. if ('metadataProps' in obj) {
  1472. message.metadata_props = obj.metadataProps.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  1473. }
  1474. return message;
  1475. }
  1476. };
  1477. onnx.TensorProto.prototype.data_type = 0;
  1478. onnx.TensorProto.prototype.segment = null;
  1479. onnx.TensorProto.prototype.name = "";
  1480. onnx.TensorProto.prototype.doc_string = "";
  1481. onnx.TensorProto.prototype.raw_data = new Uint8Array([]);
  1482. onnx.TensorProto.prototype.data_location = 0;
  1483. onnx.TensorProto.DataType = {
  1484. "UNDEFINED": 0,
  1485. "FLOAT": 1,
  1486. "UINT8": 2,
  1487. "INT8": 3,
  1488. "UINT16": 4,
  1489. "INT16": 5,
  1490. "INT32": 6,
  1491. "INT64": 7,
  1492. "STRING": 8,
  1493. "BOOL": 9,
  1494. "FLOAT16": 10,
  1495. "DOUBLE": 11,
  1496. "UINT32": 12,
  1497. "UINT64": 13,
  1498. "COMPLEX64": 14,
  1499. "COMPLEX128": 15,
  1500. "BFLOAT16": 16,
  1501. "FLOAT8E4M3FN": 17,
  1502. "FLOAT8E4M3FNUZ": 18,
  1503. "FLOAT8E5M2": 19,
  1504. "FLOAT8E5M2FNUZ": 20,
  1505. "UINT4": 21,
  1506. "INT4": 22,
  1507. "FLOAT4E2M1": 23,
  1508. "FLOAT8E8M0": 24,
  1509. "UINT2": 25,
  1510. "INT2": 26
  1511. };
  1512. onnx.TensorProto.Segment = class Segment {
  1513. static decode(reader, length) {
  1514. const message = new onnx.TensorProto.Segment();
  1515. const end = length === undefined ? reader.length : reader.position + length;
  1516. while (reader.position < end) {
  1517. const tag = reader.uint32();
  1518. switch (tag >>> 3) {
  1519. case 1:
  1520. message.begin = reader.int64();
  1521. break;
  1522. case 2:
  1523. message.end = reader.int64();
  1524. break;
  1525. default:
  1526. reader.skipType(tag & 7);
  1527. break;
  1528. }
  1529. }
  1530. return message;
  1531. }
  1532. static decodeText(reader) {
  1533. const message = new onnx.TensorProto.Segment();
  1534. reader.start();
  1535. while (!reader.end()) {
  1536. const tag = reader.tag();
  1537. switch (tag) {
  1538. case "begin":
  1539. message.begin = reader.int64();
  1540. break;
  1541. case "end":
  1542. message.end = reader.int64();
  1543. break;
  1544. default:
  1545. reader.field(tag, message);
  1546. break;
  1547. }
  1548. }
  1549. return message;
  1550. }
  1551. static decodeJson(obj) {
  1552. const message = new onnx.TensorProto.Segment();
  1553. if ('begin' in obj) {
  1554. message.begin = BigInt(obj.begin);
  1555. }
  1556. if ('end' in obj) {
  1557. message.end = BigInt(obj.end);
  1558. }
  1559. return message;
  1560. }
  1561. };
  1562. onnx.TensorProto.Segment.prototype.begin = 0n;
  1563. onnx.TensorProto.Segment.prototype.end = 0n;
  1564. onnx.TensorProto.DataLocation = {
  1565. "DEFAULT": 0,
  1566. "EXTERNAL": 1
  1567. };
  1568. onnx.SparseTensorProto = class SparseTensorProto {
  1569. constructor() {
  1570. this.dims = [];
  1571. }
  1572. static decode(reader, length) {
  1573. const message = new onnx.SparseTensorProto();
  1574. const end = length === undefined ? reader.length : reader.position + length;
  1575. while (reader.position < end) {
  1576. const tag = reader.uint32();
  1577. switch (tag >>> 3) {
  1578. case 1:
  1579. message.values = onnx.TensorProto.decode(reader, reader.uint32());
  1580. break;
  1581. case 2:
  1582. message.indices = onnx.TensorProto.decode(reader, reader.uint32());
  1583. break;
  1584. case 3:
  1585. message.dims = reader.array(message.dims, () => reader.int64(), tag);
  1586. break;
  1587. default:
  1588. reader.skipType(tag & 7);
  1589. break;
  1590. }
  1591. }
  1592. return message;
  1593. }
  1594. static decodeText(reader) {
  1595. const message = new onnx.SparseTensorProto();
  1596. reader.start();
  1597. while (!reader.end()) {
  1598. const tag = reader.tag();
  1599. switch (tag) {
  1600. case "values":
  1601. message.values = onnx.TensorProto.decodeText(reader);
  1602. break;
  1603. case "indices":
  1604. message.indices = onnx.TensorProto.decodeText(reader);
  1605. break;
  1606. case "dims":
  1607. reader.array(message.dims, () => reader.int64());
  1608. break;
  1609. default:
  1610. reader.field(tag, message);
  1611. break;
  1612. }
  1613. }
  1614. return message;
  1615. }
  1616. static decodeJson(obj) {
  1617. const message = new onnx.SparseTensorProto();
  1618. if ('values' in obj) {
  1619. message.values = onnx.TensorProto.decodeJson(obj.values);
  1620. }
  1621. if ('indices' in obj) {
  1622. message.indices = onnx.TensorProto.decodeJson(obj.indices);
  1623. }
  1624. if ('dims' in obj) {
  1625. message.dims = obj.dims.map((obj) => BigInt(obj));
  1626. }
  1627. return message;
  1628. }
  1629. };
  1630. onnx.SparseTensorProto.prototype.values = null;
  1631. onnx.SparseTensorProto.prototype.indices = null;
  1632. onnx.TensorShapeProto = class TensorShapeProto {
  1633. constructor() {
  1634. this.dim = [];
  1635. }
  1636. static decode(reader, length) {
  1637. const message = new onnx.TensorShapeProto();
  1638. const end = length === undefined ? reader.length : reader.position + length;
  1639. while (reader.position < end) {
  1640. const tag = reader.uint32();
  1641. switch (tag >>> 3) {
  1642. case 1:
  1643. message.dim.push(onnx.TensorShapeProto.Dimension.decode(reader, reader.uint32()));
  1644. break;
  1645. default:
  1646. reader.skipType(tag & 7);
  1647. break;
  1648. }
  1649. }
  1650. return message;
  1651. }
  1652. static decodeText(reader) {
  1653. const message = new onnx.TensorShapeProto();
  1654. reader.start();
  1655. while (!reader.end()) {
  1656. const tag = reader.tag();
  1657. switch (tag) {
  1658. case "dim":
  1659. message.dim.push(onnx.TensorShapeProto.Dimension.decodeText(reader));
  1660. break;
  1661. default:
  1662. reader.field(tag, message);
  1663. break;
  1664. }
  1665. }
  1666. return message;
  1667. }
  1668. static decodeJson(obj) {
  1669. const message = new onnx.TensorShapeProto();
  1670. if ('dim' in obj) {
  1671. message.dim = obj.dim.map((obj) => onnx.TensorShapeProto.Dimension.decodeJson(obj));
  1672. }
  1673. return message;
  1674. }
  1675. };
  1676. onnx.TensorShapeProto.Dimension = class Dimension {
  1677. get value() {
  1678. onnx.TensorShapeProto.Dimension.valueSet = onnx.TensorShapeProto.Dimension.valueSet || new Set(["dim_value", "dim_param"]);
  1679. return Object.keys(this).find((key) => onnx.TensorShapeProto.Dimension.valueSet.has(key) && this[key] !== null);
  1680. }
  1681. static decode(reader, length) {
  1682. const message = new onnx.TensorShapeProto.Dimension();
  1683. const end = length === undefined ? reader.length : reader.position + length;
  1684. while (reader.position < end) {
  1685. const tag = reader.uint32();
  1686. switch (tag >>> 3) {
  1687. case 1:
  1688. message.dim_value = reader.int64();
  1689. break;
  1690. case 2:
  1691. message.dim_param = reader.string();
  1692. break;
  1693. case 3:
  1694. message.denotation = reader.string();
  1695. break;
  1696. default:
  1697. reader.skipType(tag & 7);
  1698. break;
  1699. }
  1700. }
  1701. return message;
  1702. }
  1703. static decodeText(reader) {
  1704. const message = new onnx.TensorShapeProto.Dimension();
  1705. reader.start();
  1706. while (!reader.end()) {
  1707. const tag = reader.tag();
  1708. switch (tag) {
  1709. case "dim_value":
  1710. message.dim_value = reader.int64();
  1711. break;
  1712. case "dim_param":
  1713. message.dim_param = reader.string();
  1714. break;
  1715. case "denotation":
  1716. message.denotation = reader.string();
  1717. break;
  1718. default:
  1719. reader.field(tag, message);
  1720. break;
  1721. }
  1722. }
  1723. return message;
  1724. }
  1725. static decodeJson(obj) {
  1726. const message = new onnx.TensorShapeProto.Dimension();
  1727. if ('dimValue' in obj) {
  1728. message.dim_value = BigInt(obj.dimValue);
  1729. }
  1730. if ('dimParam' in obj) {
  1731. message.dim_param = obj.dimParam;
  1732. }
  1733. if ('denotation' in obj) {
  1734. message.denotation = obj.denotation;
  1735. }
  1736. return message;
  1737. }
  1738. };
  1739. onnx.TensorShapeProto.Dimension.prototype.denotation = "";
  1740. onnx.TypeProto = class TypeProto {
  1741. get value() {
  1742. onnx.TypeProto.valueSet = onnx.TypeProto.valueSet || new Set(["tensor_type", "sequence_type", "map_type", "optional_type", "sparse_tensor_type", "opaque_type"]);
  1743. return Object.keys(this).find((key) => onnx.TypeProto.valueSet.has(key) && this[key] !== null);
  1744. }
  1745. static decode(reader, length) {
  1746. const message = new onnx.TypeProto();
  1747. const end = length === undefined ? reader.length : reader.position + length;
  1748. while (reader.position < end) {
  1749. const tag = reader.uint32();
  1750. switch (tag >>> 3) {
  1751. case 1:
  1752. message.tensor_type = onnx.TypeProto.Tensor.decode(reader, reader.uint32());
  1753. break;
  1754. case 4:
  1755. message.sequence_type = onnx.TypeProto.Sequence.decode(reader, reader.uint32());
  1756. break;
  1757. case 5:
  1758. message.map_type = onnx.TypeProto.Map.decode(reader, reader.uint32());
  1759. break;
  1760. case 9:
  1761. message.optional_type = onnx.TypeProto.Optional.decode(reader, reader.uint32());
  1762. break;
  1763. case 8:
  1764. message.sparse_tensor_type = onnx.TypeProto.SparseTensor.decode(reader, reader.uint32());
  1765. break;
  1766. case 7:
  1767. message.opaque_type = onnx.TypeProto.Opaque.decode(reader, reader.uint32());
  1768. break;
  1769. case 6:
  1770. message.denotation = reader.string();
  1771. break;
  1772. default:
  1773. reader.skipType(tag & 7);
  1774. break;
  1775. }
  1776. }
  1777. return message;
  1778. }
  1779. static decodeText(reader) {
  1780. const message = new onnx.TypeProto();
  1781. reader.start();
  1782. while (!reader.end()) {
  1783. const tag = reader.tag();
  1784. switch (tag) {
  1785. case "tensor_type":
  1786. message.tensor_type = onnx.TypeProto.Tensor.decodeText(reader);
  1787. break;
  1788. case "sequence_type":
  1789. message.sequence_type = onnx.TypeProto.Sequence.decodeText(reader);
  1790. break;
  1791. case "map_type":
  1792. message.map_type = onnx.TypeProto.Map.decodeText(reader);
  1793. break;
  1794. case "optional_type":
  1795. message.optional_type = onnx.TypeProto.Optional.decodeText(reader);
  1796. break;
  1797. case "sparse_tensor_type":
  1798. message.sparse_tensor_type = onnx.TypeProto.SparseTensor.decodeText(reader);
  1799. break;
  1800. case "opaque_type":
  1801. message.opaque_type = onnx.TypeProto.Opaque.decodeText(reader);
  1802. break;
  1803. case "denotation":
  1804. message.denotation = reader.string();
  1805. break;
  1806. default:
  1807. reader.field(tag, message);
  1808. break;
  1809. }
  1810. }
  1811. return message;
  1812. }
  1813. static decodeJson(obj) {
  1814. const message = new onnx.TypeProto();
  1815. if ('tensorType' in obj) {
  1816. message.tensor_type = onnx.TypeProto.Tensor.decodeJson(obj.tensorType);
  1817. }
  1818. if ('sequenceType' in obj) {
  1819. message.sequence_type = onnx.TypeProto.Sequence.decodeJson(obj.sequenceType);
  1820. }
  1821. if ('mapType' in obj) {
  1822. message.map_type = onnx.TypeProto.Map.decodeJson(obj.mapType);
  1823. }
  1824. if ('optionalType' in obj) {
  1825. message.optional_type = onnx.TypeProto.Optional.decodeJson(obj.optionalType);
  1826. }
  1827. if ('sparseTensorType' in obj) {
  1828. message.sparse_tensor_type = onnx.TypeProto.SparseTensor.decodeJson(obj.sparseTensorType);
  1829. }
  1830. if ('opaqueType' in obj) {
  1831. message.opaque_type = onnx.TypeProto.Opaque.decodeJson(obj.opaqueType);
  1832. }
  1833. if ('denotation' in obj) {
  1834. message.denotation = obj.denotation;
  1835. }
  1836. return message;
  1837. }
  1838. };
  1839. onnx.TypeProto.prototype.denotation = "";
  1840. onnx.TypeProto.Tensor = class Tensor {
  1841. static decode(reader, length) {
  1842. const message = new onnx.TypeProto.Tensor();
  1843. const end = length === undefined ? reader.length : reader.position + length;
  1844. while (reader.position < end) {
  1845. const tag = reader.uint32();
  1846. switch (tag >>> 3) {
  1847. case 1:
  1848. message.elem_type = reader.int32();
  1849. break;
  1850. case 2:
  1851. message.shape = onnx.TensorShapeProto.decode(reader, reader.uint32());
  1852. break;
  1853. default:
  1854. reader.skipType(tag & 7);
  1855. break;
  1856. }
  1857. }
  1858. return message;
  1859. }
  1860. static decodeText(reader) {
  1861. const message = new onnx.TypeProto.Tensor();
  1862. reader.start();
  1863. while (!reader.end()) {
  1864. const tag = reader.tag();
  1865. switch (tag) {
  1866. case "elem_type":
  1867. message.elem_type = reader.int32();
  1868. break;
  1869. case "shape":
  1870. message.shape = onnx.TensorShapeProto.decodeText(reader);
  1871. break;
  1872. default:
  1873. reader.field(tag, message);
  1874. break;
  1875. }
  1876. }
  1877. return message;
  1878. }
  1879. static decodeJson(obj) {
  1880. const message = new onnx.TypeProto.Tensor();
  1881. if ('elemType' in obj) {
  1882. message.elem_type = Number(obj.elemType);
  1883. }
  1884. if ('shape' in obj) {
  1885. message.shape = onnx.TensorShapeProto.decodeJson(obj.shape);
  1886. }
  1887. return message;
  1888. }
  1889. };
  1890. onnx.TypeProto.Tensor.prototype.elem_type = 0;
  1891. onnx.TypeProto.Tensor.prototype.shape = null;
  1892. onnx.TypeProto.Sequence = class Sequence {
  1893. static decode(reader, length) {
  1894. const message = new onnx.TypeProto.Sequence();
  1895. const end = length === undefined ? reader.length : reader.position + length;
  1896. while (reader.position < end) {
  1897. const tag = reader.uint32();
  1898. switch (tag >>> 3) {
  1899. case 1:
  1900. message.elem_type = onnx.TypeProto.decode(reader, reader.uint32());
  1901. break;
  1902. default:
  1903. reader.skipType(tag & 7);
  1904. break;
  1905. }
  1906. }
  1907. return message;
  1908. }
  1909. static decodeText(reader) {
  1910. const message = new onnx.TypeProto.Sequence();
  1911. reader.start();
  1912. while (!reader.end()) {
  1913. const tag = reader.tag();
  1914. switch (tag) {
  1915. case "elem_type":
  1916. message.elem_type = onnx.TypeProto.decodeText(reader);
  1917. break;
  1918. default:
  1919. reader.field(tag, message);
  1920. break;
  1921. }
  1922. }
  1923. return message;
  1924. }
  1925. static decodeJson(obj) {
  1926. const message = new onnx.TypeProto.Sequence();
  1927. if ('elemType' in obj) {
  1928. message.elem_type = onnx.TypeProto.decodeJson(obj.elemType);
  1929. }
  1930. return message;
  1931. }
  1932. };
  1933. onnx.TypeProto.Sequence.prototype.elem_type = null;
  1934. onnx.TypeProto.Map = class Map {
  1935. static decode(reader, length) {
  1936. const message = new onnx.TypeProto.Map();
  1937. const end = length === undefined ? reader.length : reader.position + length;
  1938. while (reader.position < end) {
  1939. const tag = reader.uint32();
  1940. switch (tag >>> 3) {
  1941. case 1:
  1942. message.key_type = reader.int32();
  1943. break;
  1944. case 2:
  1945. message.value_type = onnx.TypeProto.decode(reader, reader.uint32());
  1946. break;
  1947. default:
  1948. reader.skipType(tag & 7);
  1949. break;
  1950. }
  1951. }
  1952. return message;
  1953. }
  1954. static decodeText(reader) {
  1955. const message = new onnx.TypeProto.Map();
  1956. reader.start();
  1957. while (!reader.end()) {
  1958. const tag = reader.tag();
  1959. switch (tag) {
  1960. case "key_type":
  1961. message.key_type = reader.int32();
  1962. break;
  1963. case "value_type":
  1964. message.value_type = onnx.TypeProto.decodeText(reader);
  1965. break;
  1966. default:
  1967. reader.field(tag, message);
  1968. break;
  1969. }
  1970. }
  1971. return message;
  1972. }
  1973. static decodeJson(obj) {
  1974. const message = new onnx.TypeProto.Map();
  1975. if ('keyType' in obj) {
  1976. message.key_type = Number(obj.keyType);
  1977. }
  1978. if ('valueType' in obj) {
  1979. message.value_type = onnx.TypeProto.decodeJson(obj.valueType);
  1980. }
  1981. return message;
  1982. }
  1983. };
  1984. onnx.TypeProto.Map.prototype.key_type = 0;
  1985. onnx.TypeProto.Map.prototype.value_type = null;
  1986. onnx.TypeProto.Optional = class Optional {
  1987. static decode(reader, length) {
  1988. const message = new onnx.TypeProto.Optional();
  1989. const end = length === undefined ? reader.length : reader.position + length;
  1990. while (reader.position < end) {
  1991. const tag = reader.uint32();
  1992. switch (tag >>> 3) {
  1993. case 1:
  1994. message.elem_type = onnx.TypeProto.decode(reader, reader.uint32());
  1995. break;
  1996. default:
  1997. reader.skipType(tag & 7);
  1998. break;
  1999. }
  2000. }
  2001. return message;
  2002. }
  2003. static decodeText(reader) {
  2004. const message = new onnx.TypeProto.Optional();
  2005. reader.start();
  2006. while (!reader.end()) {
  2007. const tag = reader.tag();
  2008. switch (tag) {
  2009. case "elem_type":
  2010. message.elem_type = onnx.TypeProto.decodeText(reader);
  2011. break;
  2012. default:
  2013. reader.field(tag, message);
  2014. break;
  2015. }
  2016. }
  2017. return message;
  2018. }
  2019. static decodeJson(obj) {
  2020. const message = new onnx.TypeProto.Optional();
  2021. if ('elemType' in obj) {
  2022. message.elem_type = onnx.TypeProto.decodeJson(obj.elemType);
  2023. }
  2024. return message;
  2025. }
  2026. };
  2027. onnx.TypeProto.Optional.prototype.elem_type = null;
  2028. onnx.TypeProto.SparseTensor = class SparseTensor {
  2029. static decode(reader, length) {
  2030. const message = new onnx.TypeProto.SparseTensor();
  2031. const end = length === undefined ? reader.length : reader.position + length;
  2032. while (reader.position < end) {
  2033. const tag = reader.uint32();
  2034. switch (tag >>> 3) {
  2035. case 1:
  2036. message.elem_type = reader.int32();
  2037. break;
  2038. case 2:
  2039. message.shape = onnx.TensorShapeProto.decode(reader, reader.uint32());
  2040. break;
  2041. default:
  2042. reader.skipType(tag & 7);
  2043. break;
  2044. }
  2045. }
  2046. return message;
  2047. }
  2048. static decodeText(reader) {
  2049. const message = new onnx.TypeProto.SparseTensor();
  2050. reader.start();
  2051. while (!reader.end()) {
  2052. const tag = reader.tag();
  2053. switch (tag) {
  2054. case "elem_type":
  2055. message.elem_type = reader.int32();
  2056. break;
  2057. case "shape":
  2058. message.shape = onnx.TensorShapeProto.decodeText(reader);
  2059. break;
  2060. default:
  2061. reader.field(tag, message);
  2062. break;
  2063. }
  2064. }
  2065. return message;
  2066. }
  2067. static decodeJson(obj) {
  2068. const message = new onnx.TypeProto.SparseTensor();
  2069. if ('elemType' in obj) {
  2070. message.elem_type = Number(obj.elemType);
  2071. }
  2072. if ('shape' in obj) {
  2073. message.shape = onnx.TensorShapeProto.decodeJson(obj.shape);
  2074. }
  2075. return message;
  2076. }
  2077. };
  2078. onnx.TypeProto.SparseTensor.prototype.elem_type = 0;
  2079. onnx.TypeProto.SparseTensor.prototype.shape = null;
  2080. onnx.TypeProto.Opaque = class Opaque {
  2081. static decode(reader, length) {
  2082. const message = new onnx.TypeProto.Opaque();
  2083. const end = length === undefined ? reader.length : reader.position + length;
  2084. while (reader.position < end) {
  2085. const tag = reader.uint32();
  2086. switch (tag >>> 3) {
  2087. case 1:
  2088. message.domain = reader.string();
  2089. break;
  2090. case 2:
  2091. message.name = reader.string();
  2092. break;
  2093. default:
  2094. reader.skipType(tag & 7);
  2095. break;
  2096. }
  2097. }
  2098. return message;
  2099. }
  2100. static decodeText(reader) {
  2101. const message = new onnx.TypeProto.Opaque();
  2102. reader.start();
  2103. while (!reader.end()) {
  2104. const tag = reader.tag();
  2105. switch (tag) {
  2106. case "domain":
  2107. message.domain = reader.string();
  2108. break;
  2109. case "name":
  2110. message.name = reader.string();
  2111. break;
  2112. default:
  2113. reader.field(tag, message);
  2114. break;
  2115. }
  2116. }
  2117. return message;
  2118. }
  2119. static decodeJson(obj) {
  2120. const message = new onnx.TypeProto.Opaque();
  2121. if ('domain' in obj) {
  2122. message.domain = obj.domain;
  2123. }
  2124. if ('name' in obj) {
  2125. message.name = obj.name;
  2126. }
  2127. return message;
  2128. }
  2129. };
  2130. onnx.TypeProto.Opaque.prototype.domain = "";
  2131. onnx.TypeProto.Opaque.prototype.name = "";
  2132. onnx.OperatorSetIdProto = class OperatorSetIdProto {
  2133. static decode(reader, length) {
  2134. const message = new onnx.OperatorSetIdProto();
  2135. const end = length === undefined ? reader.length : reader.position + length;
  2136. while (reader.position < end) {
  2137. const tag = reader.uint32();
  2138. switch (tag >>> 3) {
  2139. case 1:
  2140. message.domain = reader.string();
  2141. break;
  2142. case 2:
  2143. message.version = reader.int64();
  2144. break;
  2145. default:
  2146. reader.skipType(tag & 7);
  2147. break;
  2148. }
  2149. }
  2150. return message;
  2151. }
  2152. static decodeText(reader) {
  2153. const message = new onnx.OperatorSetIdProto();
  2154. reader.start();
  2155. while (!reader.end()) {
  2156. const tag = reader.tag();
  2157. switch (tag) {
  2158. case "domain":
  2159. message.domain = reader.string();
  2160. break;
  2161. case "version":
  2162. message.version = reader.int64();
  2163. break;
  2164. default:
  2165. reader.field(tag, message);
  2166. break;
  2167. }
  2168. }
  2169. return message;
  2170. }
  2171. static decodeJson(obj) {
  2172. const message = new onnx.OperatorSetIdProto();
  2173. if ('domain' in obj) {
  2174. message.domain = obj.domain;
  2175. }
  2176. if ('version' in obj) {
  2177. message.version = BigInt(obj.version);
  2178. }
  2179. return message;
  2180. }
  2181. };
  2182. onnx.OperatorSetIdProto.prototype.domain = "";
  2183. onnx.OperatorSetIdProto.prototype.version = 0n;
  2184. onnx.OperatorStatus = {
  2185. "EXPERIMENTAL": 0,
  2186. "STABLE": 1
  2187. };
  2188. onnx.FunctionProto = class FunctionProto {
  2189. constructor() {
  2190. this.input = [];
  2191. this.output = [];
  2192. this.attribute = [];
  2193. this.attribute_proto = [];
  2194. this.node = [];
  2195. this.opset_import = [];
  2196. this.value_info = [];
  2197. this.metadata_props = [];
  2198. }
  2199. static decode(reader, length) {
  2200. const message = new onnx.FunctionProto();
  2201. const end = length === undefined ? reader.length : reader.position + length;
  2202. while (reader.position < end) {
  2203. const tag = reader.uint32();
  2204. switch (tag >>> 3) {
  2205. case 1:
  2206. message.name = reader.string();
  2207. break;
  2208. case 4:
  2209. message.input.push(reader.string());
  2210. break;
  2211. case 5:
  2212. message.output.push(reader.string());
  2213. break;
  2214. case 6:
  2215. message.attribute.push(reader.string());
  2216. break;
  2217. case 11:
  2218. message.attribute_proto.push(onnx.AttributeProto.decode(reader, reader.uint32()));
  2219. break;
  2220. case 7:
  2221. message.node.push(onnx.NodeProto.decode(reader, reader.uint32()));
  2222. break;
  2223. case 8:
  2224. message.doc_string = reader.string();
  2225. break;
  2226. case 9:
  2227. message.opset_import.push(onnx.OperatorSetIdProto.decode(reader, reader.uint32()));
  2228. break;
  2229. case 10:
  2230. message.domain = reader.string();
  2231. break;
  2232. case 13:
  2233. message.overload = reader.string();
  2234. break;
  2235. case 12:
  2236. message.value_info.push(onnx.ValueInfoProto.decode(reader, reader.uint32()));
  2237. break;
  2238. case 14:
  2239. message.metadata_props.push(onnx.StringStringEntryProto.decode(reader, reader.uint32()));
  2240. break;
  2241. default:
  2242. reader.skipType(tag & 7);
  2243. break;
  2244. }
  2245. }
  2246. return message;
  2247. }
  2248. static decodeText(reader) {
  2249. const message = new onnx.FunctionProto();
  2250. reader.start();
  2251. while (!reader.end()) {
  2252. const tag = reader.tag();
  2253. switch (tag) {
  2254. case "name":
  2255. message.name = reader.string();
  2256. break;
  2257. case "input":
  2258. reader.array(message.input, () => reader.string());
  2259. break;
  2260. case "output":
  2261. reader.array(message.output, () => reader.string());
  2262. break;
  2263. case "attribute":
  2264. reader.array(message.attribute, () => reader.string());
  2265. break;
  2266. case "attribute_proto":
  2267. message.attribute_proto.push(onnx.AttributeProto.decodeText(reader));
  2268. break;
  2269. case "node":
  2270. message.node.push(onnx.NodeProto.decodeText(reader));
  2271. break;
  2272. case "doc_string":
  2273. message.doc_string = reader.string();
  2274. break;
  2275. case "opset_import":
  2276. message.opset_import.push(onnx.OperatorSetIdProto.decodeText(reader));
  2277. break;
  2278. case "domain":
  2279. message.domain = reader.string();
  2280. break;
  2281. case "overload":
  2282. message.overload = reader.string();
  2283. break;
  2284. case "value_info":
  2285. message.value_info.push(onnx.ValueInfoProto.decodeText(reader));
  2286. break;
  2287. case "metadata_props":
  2288. message.metadata_props.push(onnx.StringStringEntryProto.decodeText(reader));
  2289. break;
  2290. default:
  2291. reader.field(tag, message);
  2292. break;
  2293. }
  2294. }
  2295. return message;
  2296. }
  2297. static decodeJson(obj) {
  2298. const message = new onnx.FunctionProto();
  2299. if ('name' in obj) {
  2300. message.name = obj.name;
  2301. }
  2302. if ('input' in obj) {
  2303. message.input = obj.input;
  2304. }
  2305. if ('output' in obj) {
  2306. message.output = obj.output;
  2307. }
  2308. if ('attribute' in obj) {
  2309. message.attribute = obj.attribute;
  2310. }
  2311. if ('attributeProto' in obj) {
  2312. message.attribute_proto = obj.attributeProto.map((obj) => onnx.AttributeProto.decodeJson(obj));
  2313. }
  2314. if ('node' in obj) {
  2315. message.node = obj.node.map((obj) => onnx.NodeProto.decodeJson(obj));
  2316. }
  2317. if ('docString' in obj) {
  2318. message.doc_string = obj.docString;
  2319. }
  2320. if ('opsetImport' in obj) {
  2321. message.opset_import = obj.opsetImport.map((obj) => onnx.OperatorSetIdProto.decodeJson(obj));
  2322. }
  2323. if ('domain' in obj) {
  2324. message.domain = obj.domain;
  2325. }
  2326. if ('overload' in obj) {
  2327. message.overload = obj.overload;
  2328. }
  2329. if ('valueInfo' in obj) {
  2330. message.value_info = obj.valueInfo.map((obj) => onnx.ValueInfoProto.decodeJson(obj));
  2331. }
  2332. if ('metadataProps' in obj) {
  2333. message.metadata_props = obj.metadataProps.map((obj) => onnx.StringStringEntryProto.decodeJson(obj));
  2334. }
  2335. return message;
  2336. }
  2337. };
  2338. onnx.FunctionProto.prototype.name = "";
  2339. onnx.FunctionProto.prototype.doc_string = "";
  2340. onnx.FunctionProto.prototype.domain = "";
  2341. onnx.FunctionProto.prototype.overload = "";
  2342. onnx.OperatorProto = class OperatorProto {
  2343. static decode(reader, length) {
  2344. const message = new onnx.OperatorProto();
  2345. const end = length === undefined ? reader.length : reader.position + length;
  2346. while (reader.position < end) {
  2347. const tag = reader.uint32();
  2348. switch (tag >>> 3) {
  2349. case 1:
  2350. message.op_type = reader.string();
  2351. break;
  2352. case 2:
  2353. message.since_version = reader.int64();
  2354. break;
  2355. case 3:
  2356. message.status = reader.int32();
  2357. break;
  2358. case 10:
  2359. message.doc_string = reader.string();
  2360. break;
  2361. default:
  2362. reader.skipType(tag & 7);
  2363. break;
  2364. }
  2365. }
  2366. return message;
  2367. }
  2368. static decodeText(reader) {
  2369. const message = new onnx.OperatorProto();
  2370. reader.start();
  2371. while (!reader.end()) {
  2372. const tag = reader.tag();
  2373. switch (tag) {
  2374. case "op_type":
  2375. message.op_type = reader.string();
  2376. break;
  2377. case "since_version":
  2378. message.since_version = reader.int64();
  2379. break;
  2380. case "status":
  2381. message.status = reader.enum(onnx.OperatorStatus);
  2382. break;
  2383. case "doc_string":
  2384. message.doc_string = reader.string();
  2385. break;
  2386. default:
  2387. reader.field(tag, message);
  2388. break;
  2389. }
  2390. }
  2391. return message;
  2392. }
  2393. static decodeJson(obj) {
  2394. const message = new onnx.OperatorProto();
  2395. if ('opType' in obj) {
  2396. message.op_type = obj.opType;
  2397. }
  2398. if ('sinceVersion' in obj) {
  2399. message.since_version = BigInt(obj.sinceVersion);
  2400. }
  2401. if ('status' in obj) {
  2402. message.status = typeof obj.status === 'string' ? onnx.OperatorStatus[obj.status] : obj.status;
  2403. }
  2404. if ('docString' in obj) {
  2405. message.doc_string = obj.docString;
  2406. }
  2407. return message;
  2408. }
  2409. };
  2410. onnx.OperatorProto.prototype.op_type = "";
  2411. onnx.OperatorProto.prototype.since_version = 0n;
  2412. onnx.OperatorProto.prototype.status = 0;
  2413. onnx.OperatorProto.prototype.doc_string = "";
  2414. onnx.OperatorSetProto = class OperatorSetProto {
  2415. constructor() {
  2416. this.operator = [];
  2417. this.functions = [];
  2418. }
  2419. static decode(reader, length) {
  2420. const message = new onnx.OperatorSetProto();
  2421. const end = length === undefined ? reader.length : reader.position + length;
  2422. while (reader.position < end) {
  2423. const tag = reader.uint32();
  2424. switch (tag >>> 3) {
  2425. case 1:
  2426. message.magic = reader.string();
  2427. break;
  2428. case 2:
  2429. message.ir_version = reader.int64();
  2430. break;
  2431. case 3:
  2432. message.ir_version_prerelease = reader.string();
  2433. break;
  2434. case 7:
  2435. message.ir_build_metadata = reader.string();
  2436. break;
  2437. case 4:
  2438. message.domain = reader.string();
  2439. break;
  2440. case 5:
  2441. message.opset_version = reader.int64();
  2442. break;
  2443. case 6:
  2444. message.doc_string = reader.string();
  2445. break;
  2446. case 8:
  2447. message.operator.push(onnx.OperatorProto.decode(reader, reader.uint32()));
  2448. break;
  2449. case 9:
  2450. message.functions.push(onnx.FunctionProto.decode(reader, reader.uint32()));
  2451. break;
  2452. default:
  2453. reader.skipType(tag & 7);
  2454. break;
  2455. }
  2456. }
  2457. return message;
  2458. }
  2459. static decodeText(reader) {
  2460. const message = new onnx.OperatorSetProto();
  2461. reader.start();
  2462. while (!reader.end()) {
  2463. const tag = reader.tag();
  2464. switch (tag) {
  2465. case "magic":
  2466. message.magic = reader.string();
  2467. break;
  2468. case "ir_version":
  2469. message.ir_version = reader.int64();
  2470. break;
  2471. case "ir_version_prerelease":
  2472. message.ir_version_prerelease = reader.string();
  2473. break;
  2474. case "ir_build_metadata":
  2475. message.ir_build_metadata = reader.string();
  2476. break;
  2477. case "domain":
  2478. message.domain = reader.string();
  2479. break;
  2480. case "opset_version":
  2481. message.opset_version = reader.int64();
  2482. break;
  2483. case "doc_string":
  2484. message.doc_string = reader.string();
  2485. break;
  2486. case "operator":
  2487. message.operator.push(onnx.OperatorProto.decodeText(reader));
  2488. break;
  2489. case "functions":
  2490. message.functions.push(onnx.FunctionProto.decodeText(reader));
  2491. break;
  2492. default:
  2493. reader.field(tag, message);
  2494. break;
  2495. }
  2496. }
  2497. return message;
  2498. }
  2499. static decodeJson(obj) {
  2500. const message = new onnx.OperatorSetProto();
  2501. if ('magic' in obj) {
  2502. message.magic = obj.magic;
  2503. }
  2504. if ('irVersion' in obj) {
  2505. message.ir_version = BigInt(obj.irVersion);
  2506. }
  2507. if ('irVersionPrerelease' in obj) {
  2508. message.ir_version_prerelease = obj.irVersionPrerelease;
  2509. }
  2510. if ('irBuildMetadata' in obj) {
  2511. message.ir_build_metadata = obj.irBuildMetadata;
  2512. }
  2513. if ('domain' in obj) {
  2514. message.domain = obj.domain;
  2515. }
  2516. if ('opsetVersion' in obj) {
  2517. message.opset_version = BigInt(obj.opsetVersion);
  2518. }
  2519. if ('docString' in obj) {
  2520. message.doc_string = obj.docString;
  2521. }
  2522. if ('operator' in obj) {
  2523. message.operator = obj.operator.map((obj) => onnx.OperatorProto.decodeJson(obj));
  2524. }
  2525. if ('functions' in obj) {
  2526. message.functions = obj.functions.map((obj) => onnx.FunctionProto.decodeJson(obj));
  2527. }
  2528. return message;
  2529. }
  2530. };
  2531. onnx.OperatorSetProto.prototype.magic = "";
  2532. onnx.OperatorSetProto.prototype.ir_version = 0n;
  2533. onnx.OperatorSetProto.prototype.ir_version_prerelease = "";
  2534. onnx.OperatorSetProto.prototype.ir_build_metadata = "";
  2535. onnx.OperatorSetProto.prototype.domain = "";
  2536. onnx.OperatorSetProto.prototype.opset_version = 0n;
  2537. onnx.OperatorSetProto.prototype.doc_string = "";