caffe2-proto.js 58 KB

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