caffe2-proto.js 55 KB

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