tflite-metadata.json 29 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  1. [
  2. {
  3. "name": "Add",
  4. "attributes": [
  5. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  6. { "name": "pot_scale_int16", "type": "boolean", "default": true }
  7. ],
  8. "inputs": [
  9. { "name": "A", "type": "T" },
  10. { "name": "B", "type": "T" }
  11. ],
  12. "outputs": [
  13. { "name": "C", "type": "T" }
  14. ]
  15. },
  16. {
  17. "name": "ArgMax",
  18. "attributes": [
  19. { "name": "output_type", "type": "TensorType", "default": "FLOAT32" }
  20. ],
  21. "inputs": [
  22. { "name": "input", "type": "T" },
  23. { "name": "dimension", "type": "T" }
  24. ],
  25. "outputs": [
  26. { "name": "output", "type": "T" }
  27. ]
  28. },
  29. {
  30. "name": "ArgMin",
  31. "attributes": [
  32. { "name": "output_type", "type": "TensorType", "default": "FLOAT32" }
  33. ]
  34. },
  35. {
  36. "name": "AveragePool2D",
  37. "category": "Pool",
  38. "attributes": [
  39. { "name": "padding", "type": "Padding", "default": "SAME" },
  40. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  41. { "name": "stride_w", "type": "int32" },
  42. { "name": "stride_h", "type": "int32" },
  43. { "name": "filter_width", "type": "int32" },
  44. { "name": "filter_height", "type": "int32" }
  45. ],
  46. "inputs": [
  47. { "name": "input", "type": "T" }
  48. ],
  49. "outputs": [
  50. { "name": "output", "type": "T" }
  51. ]
  52. },
  53. {
  54. "name": "BatchMatMul",
  55. "attributes": [
  56. { "name": "adj_x", "type": "boolean", "default": false },
  57. { "name": "adj_y", "type": "boolean", "default": false },
  58. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false }
  59. ]
  60. },
  61. {
  62. "name": "BidirectionalSequenceLSTM",
  63. "category": "Layer",
  64. "attributes": [
  65. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  66. { "name": "cell_clip", "type": "float32", "default": 0 },
  67. { "name": "proj_clip", "type": "float32", "default": 0 },
  68. { "name": "merge_outputs", "type": "boolean", "default": false },
  69. { "name": "time_major", "type": "boolean", "default": true },
  70. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false }
  71. ]
  72. },
  73. {
  74. "name": "BidirectionalSequenceRNN",
  75. "attributes": [
  76. { "name": "time_major", "type": "boolean", "default": false },
  77. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  78. { "name": "merge_outputs", "type": "boolean", "default": false },
  79. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false }
  80. ]
  81. },
  82. {
  83. "name": "Bucketize",
  84. "attributes": [
  85. { "name": "boundaries", "type": "float32[]", "default": 0 }
  86. ]
  87. },
  88. {
  89. "name": "Call",
  90. "attributes": [
  91. { "name": "subgraph", "type": "uint32", "default": 0 }
  92. ]
  93. },
  94. {
  95. "name": "CallOnce",
  96. "attributes": [
  97. { "name": "init_subgraph_index", "type": "int32", "default": 0 }
  98. ]
  99. },
  100. {
  101. "name": "Cast",
  102. "attributes": [
  103. { "name": "in_data_type", "type": "TensorType", "default": "FLOAT32" },
  104. { "name": "out_data_type", "type": "TensorType", "default": "FLOAT32" }
  105. ],
  106. "inputs": [
  107. { "name": "input" }
  108. ],
  109. "outputs": [
  110. { "name": "output" }
  111. ]
  112. },
  113. {
  114. "name": "ConcatEmbeddings",
  115. "attributes": [
  116. { "name": "num_channels", "type": "int32", "default": 0 },
  117. { "name": "num_columns_per_channel", "type": "int32[]", "default": 0 },
  118. { "name": "embedding_dim_per_channel", "type": "int32[]", "default": 0 }
  119. ]
  120. },
  121. {
  122. "name": "Concatenation",
  123. "category": "Tensor",
  124. "attributes": [
  125. { "name": "axis", "type": "int32", "default": 0 },
  126. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" }
  127. ],
  128. "inputs": [
  129. { "name": "inputs", "list": true }
  130. ],
  131. "outputs": [
  132. { "name": "output" }
  133. ]
  134. },
  135. {
  136. "name": "Conv2D",
  137. "category": "Layer",
  138. "attributes": [
  139. { "name": "padding", "type": "Padding", "default": "SAME", "description": "`SAME`|`VALID`" },
  140. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE", "description": "`NONE`|`RELU`|`RELU6`" },
  141. { "name": "stride_w", "type": "int32", "default": 0, "description": "stride of the filter window" },
  142. { "name": "stride_h", "type": "int32", "default": 0, "description": "stride of the filter window" },
  143. { "name": "dilation_w_factor", "type": "int32", "default": 1 },
  144. { "name": "dilation_h_factor", "type": "int32", "default": 1 }
  145. ],
  146. "inputs": [
  147. { "name": "input", "description": "4D tensor" },
  148. { "name": "filter" },
  149. { "name": "bias", "description": "(optional)" }
  150. ],
  151. "outputs": [
  152. { "name": "output", "description": "result of 2D convolution of the input tensor" }
  153. ]
  154. },
  155. {
  156. "name": "Cumsum",
  157. "attributes": [
  158. { "name": "exclusive", "type": "boolean", "default": false },
  159. { "name": "reverse", "type": "boolean", "default": false }
  160. ]
  161. },
  162. {
  163. "name": "Densify",
  164. "inputs": [
  165. { "name": "input" }
  166. ],
  167. "outputs": [
  168. { "name": "output" }
  169. ]
  170. },
  171. {
  172. "name": "DepthToSpace",
  173. "attributes": [
  174. { "name": "block_size", "type": "int32", "default": 0 }
  175. ]
  176. },
  177. {
  178. "name": "DepthwiseConv2D",
  179. "category": "Layer",
  180. "attributes": [
  181. { "name": "padding", "type": "Padding", "default": "SAME" },
  182. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  183. { "name": "stride_w", "type": "int32", "default": 0 },
  184. { "name": "stride_h", "type": "int32", "default": 0 },
  185. { "name": "depth_multiplier", "type": "int32", "default": 0 },
  186. { "name": "dilation_w_factor", "type": "int32", "default": 1 },
  187. { "name": "dilation_h_factor", "type": "int32", "default": 1 }
  188. ],
  189. "inputs": [
  190. { "name": "input", "type": "T" },
  191. { "name": "weights", "type": "T" },
  192. { "name": "bias", "type": "T" }
  193. ],
  194. "outputs": [
  195. { "name": "output", "type": "T" }
  196. ]
  197. },
  198. {
  199. "name": "Dequantize",
  200. "inputs": [
  201. { "name": "input" }
  202. ],
  203. "outputs": [
  204. { "name": "output" }
  205. ]
  206. },
  207. {
  208. "name": "Div",
  209. "attributes": [
  210. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" }
  211. ],
  212. "inputs": [
  213. { "name": "A", "type": "T" },
  214. { "name": "B", "type": "T" }
  215. ],
  216. "outputs": [
  217. { "name": "C", "type": "T" }
  218. ]
  219. },
  220. {
  221. "name": "EmbeddingLookupSparse",
  222. "attributes": [
  223. { "name": "combiner", "type": "CombinerType", "default": "SUM" }
  224. ]
  225. },
  226. {
  227. "name": "Exp",
  228. "inputs": [
  229. { "name": "input" }
  230. ],
  231. "outputs": [
  232. { "name": "output" }
  233. ]
  234. },
  235. {
  236. "name": "ExpandDims",
  237. "inputs": [
  238. { "name": "input" },
  239. { "name": "axis_param" }
  240. ],
  241. "outputs": [
  242. { "name": "output" }
  243. ]
  244. },
  245. {
  246. "name": "ExtractFeatures",
  247. "inputs": [
  248. { "name": "ngrams" }
  249. ],
  250. "outputs": [
  251. { "name": "features" },
  252. { "name": "weights" }
  253. ]
  254. },
  255. {
  256. "name": "FakeQuant",
  257. "attributes": [
  258. { "name": "min", "type": "float32", "default": 0 },
  259. { "name": "max", "type": "float32", "default": 0 },
  260. { "name": "num_bits", "type": "int32", "default": 0 },
  261. { "name": "narrow_range", "type": "boolean", "default": false }
  262. ]
  263. },
  264. {
  265. "name": "Fill",
  266. "inputs": [
  267. { "name": "dims", "type": "T" },
  268. { "name": "value", "type": "T" }
  269. ],
  270. "outputs": [
  271. { "name": "output", "type": "T" }
  272. ]
  273. },
  274. {
  275. "name": "FullyConnected",
  276. "category": "Layer",
  277. "attributes": [
  278. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  279. { "name": "weights_format", "type": "FullyConnectedOptionsWeightsFormat", "default": "DEFAULT" },
  280. { "name": "keep_num_dims", "type": "boolean", "default": false },
  281. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false }
  282. ],
  283. "inputs": [
  284. { "name": "input", "type": "T" },
  285. { "name": "weights", "type": "T" },
  286. { "name": "bias", "type": "T" }
  287. ],
  288. "outputs": [
  289. { "name": "output", "type": "T" }
  290. ]
  291. },
  292. {
  293. "name": "Gather",
  294. "category": "Transform",
  295. "attributes": [
  296. { "name": "axis", "default": 0, "type": "int32" },
  297. { "name": "batch_dims", "type": "int32", "default": 0 }
  298. ],
  299. "inputs": [
  300. { "name": "input" },
  301. { "name": "positions" }
  302. ],
  303. "outputs": [
  304. { "name": "output" }
  305. ]
  306. },
  307. {
  308. "name": "Gelu",
  309. "category": "Activation",
  310. "attributes": [
  311. { "name": "approximate", "type": "boolean", "default": false }
  312. ]
  313. },
  314. {
  315. "name": "HardSwish",
  316. "category": "Activation",
  317. "inputs": [
  318. { "name": "input" }
  319. ],
  320. "outputs": [
  321. { "name": "output" }
  322. ]
  323. },
  324. {
  325. "name": "Hashtable",
  326. "attributes": [
  327. { "name": "table_id", "type": "int32", "default": 0 },
  328. { "name": "key_dtype", "type": "TensorType", "default": "FLOAT32" },
  329. { "name": "value_dtype", "type": "TensorType", "default": "FLOAT32" }
  330. ]
  331. },
  332. {
  333. "name": "HashtableLookup",
  334. "inputs": [
  335. { "name": "key" },
  336. { "name": "keys" },
  337. { "name": "values" }
  338. ],
  339. "outputs": [
  340. { "name": "value" },
  341. { "name": "hits" }
  342. ]
  343. },
  344. {
  345. "name": "If",
  346. "attributes": [
  347. { "name": "then_subgraph_index", "type": "int32", "default": 0 },
  348. { "name": "else_subgraph_index", "type": "int32", "default": 0 }
  349. ]
  350. },
  351. {
  352. "name": "LeakyRelu",
  353. "attributes": [
  354. { "name": "alpha", "type": "float32", "default": 0 }
  355. ]
  356. },
  357. {
  358. "name": "LocalResponseNormalization",
  359. "category": "Normalization",
  360. "attributes": [
  361. { "name": "radius", "type": "int32", "default": 0 },
  362. { "name": "bias", "type": "float32", "default": 0 },
  363. { "name": "alpha", "type": "float32", "default": 0 },
  364. { "name": "beta", "type": "float32", "default": 0 }
  365. ],
  366. "inputs": [
  367. { "name": "input" }
  368. ],
  369. "outputs": [
  370. { "name": "output" }
  371. ]
  372. },
  373. {
  374. "name": "LogicalOr",
  375. "inputs": [
  376. { "name": "A", "type": "T" },
  377. { "name": "B", "type": "T" }
  378. ],
  379. "outputs": [
  380. { "name": "C", "type": "T" }
  381. ]
  382. },
  383. {
  384. "name": "Logistic",
  385. "inputs": [
  386. { "name": "input" }
  387. ],
  388. "outputs": [
  389. { "name": "output" }
  390. ]
  391. },
  392. {
  393. "name": "LogSoftmax",
  394. "category": "Activation",
  395. "inputs": [
  396. { "name": "input", "type": "T" }
  397. ],
  398. "outputs": [
  399. { "name": "output", "type": "T" }
  400. ]
  401. },
  402. {
  403. "name": "LSHProjection",
  404. "attributes": [
  405. { "name": "type", "type": "LSHProjectionType", "default": "UNKNOWN" }
  406. ],
  407. "inputs": [
  408. { "name": "hash" },
  409. { "name": "input" },
  410. { "name": "weight" }
  411. ],
  412. "outputs": [
  413. { "name": "output" }
  414. ]
  415. },
  416. {
  417. "name": "LSTM",
  418. "category": "Layer",
  419. "attributes": [
  420. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  421. { "name": "cell_clip", "type": "float32", "default": 0 },
  422. { "name": "proj_clip", "type": "float32", "default": 0 },
  423. { "name": "kernel_type", "type": "LSTMKernelType", "default": "FULL" },
  424. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false }
  425. ],
  426. "inputs": [
  427. { "name": "input", "type": "T", "description": "Input tensor." },
  428. { "name": "input_input_weights", "type": "T", "option": "optional", "description": "Input to input weights tensor.", "visible": false },
  429. { "name": "input_forget_weights", "type": "T", "description": "Input to forget weights tensor.", "visible": false },
  430. { "name": "input_cell_weights", "type": "T", "description": "Input to cell weights tensor.", "visible": false },
  431. { "name": "input_output_weights", "type": "T", "description": "Input to output weights tensor.", "visible": false },
  432. { "name": "recurrent_input_weights", "type": "T", "option": "optional", "description": "Recurrent to input weights tensor.", "visible": false },
  433. { "name": "recurrent_forget_weights", "type": "T", "description": "Recurrent to forget weights tensor.", "visible": false },
  434. { "name": "recurrent_cell_weights", "type": "T", "description": "Recurrent to cell weights tensor.", "visible": false },
  435. { "name": "recurrent_output_weights", "type": "T", "description": "Recurrent to output weights tensor.", "visible": false },
  436. { "name": "cell_input_weights", "type": "T", "option": "optional", "description": "Cell to input weights tensor.", "visible": false },
  437. { "name": "cell_forget_weights", "type": "T", "option": "optional", "description": "Cell to forget weights tensor.", "visible": false },
  438. { "name": "cell_output_weights", "type": "T", "option": "optional", "description": "Cell to output weights tensor.", "visible": false },
  439. { "name": "input_gate_bias", "type": "T", "option": "optional", "description": "Input gate bias tensor.", "visible": false },
  440. { "name": "forget_gate_bias", "type": "T", "description": "Forget gate bias tensor.", "visible": false },
  441. { "name": "cell_gate_bias", "type": "T", "description": "Cell gate bias tensor.", "visible": false },
  442. { "name": "output_gate_bias", "type": "T", "description": "Output gate bias tensor.", "visible": false },
  443. { "name": "projection_weights", "type": "T", "option": "optional", "description": "Projection weights tensor.", "visible": false },
  444. { "name": "projection_bias", "type": "T", "option": "optional", "description": "Projection bias tensor.", "visible": false }
  445. ],
  446. "outputs": [
  447. { "name": "scratch", "type": "T" },
  448. { "name": "output_state", "type": "T" },
  449. { "name": "cell_state", "type": "T" },
  450. { "name": "output", "type": "T" }
  451. ]
  452. },
  453. {
  454. "name": "Maximum",
  455. "inputs": [
  456. { "name": "input1" },
  457. { "name": "input2" }
  458. ],
  459. "outputs": [
  460. { "name": "output" }
  461. ]
  462. },
  463. {
  464. "name": "MaxPool2D",
  465. "category": "Pool",
  466. "attributes": [
  467. { "name": "padding", "type": "Padding", "default": "SAME" },
  468. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  469. { "name": "stride_w", "type": "int32" },
  470. { "name": "stride_h", "type": "int32" },
  471. { "name": "filter_width", "type": "int32" },
  472. { "name": "filter_height", "type": "int32" }
  473. ],
  474. "inputs": [
  475. { "name": "input", "type": "T" }
  476. ],
  477. "outputs": [
  478. { "name": "output", "type": "T" }
  479. ]
  480. },
  481. {
  482. "name": "Mean",
  483. "attributes": [
  484. { "name": "keep_dims", "type": "boolean" }
  485. ],
  486. "inputs": [
  487. { "name": "input", "type": "T" },
  488. { "name": "axis", "type": "T" }
  489. ],
  490. "outputs": [
  491. { "name": "output", "type": "T" }
  492. ]
  493. },
  494. {
  495. "name": "Minimum",
  496. "inputs": [
  497. { "name": "input1" },
  498. { "name": "input2" }
  499. ],
  500. "outputs": [
  501. { "name": "output" }
  502. ]
  503. },
  504. {
  505. "name": "MirrorPad",
  506. "attributes": [
  507. { "name": "mode", "type": "MirrorPadMode", "default": "REFLECT" }
  508. ]
  509. },
  510. {
  511. "name": "Mul",
  512. "attributes": [
  513. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" }
  514. ],
  515. "inputs": [
  516. { "name": "A", "type": "T" },
  517. { "name": "B", "type": "T" }
  518. ],
  519. "outputs": [
  520. { "name": "C", "type": "T" }
  521. ]
  522. },
  523. {
  524. "name": "Normalize",
  525. "category": "Normalization",
  526. "inputs": [
  527. { "name": "input" }
  528. ],
  529. "outputs": [
  530. { "name": "output" }
  531. ]
  532. },
  533. {
  534. "name": "NotEqual",
  535. "inputs": [
  536. { "name": "A", "type": "T" },
  537. { "name": "B", "type": "T" }
  538. ],
  539. "outputs": [
  540. { "name": "C" }
  541. ]
  542. },
  543. {
  544. "name": "OneHot",
  545. "attributes": [
  546. { "name": "axis", "type": "int32", "default": 0 }
  547. ]
  548. },
  549. {
  550. "name": "Pack",
  551. "attributes": [
  552. { "name": "values_count", "type": "int32", "default": 0 },
  553. { "name": "axis", "type": "int32", "default": 0 }
  554. ]
  555. },
  556. {
  557. "name": "Pad",
  558. "category": "Tensor",
  559. "inputs": [
  560. { "name": "input" },
  561. { "name": "paddings" }
  562. ],
  563. "outputs": [
  564. { "name": "output" }
  565. ]
  566. },
  567. {
  568. "name": "Predict",
  569. "inputs": [
  570. { "name": "hashes" },
  571. { "name": "keys" },
  572. { "name": "labels" },
  573. { "name": "weights" }
  574. ],
  575. "outputs": [
  576. { "name": "label" },
  577. { "name": "weight" }
  578. ]
  579. },
  580. {
  581. "name": "Prelu",
  582. "category": "Activation",
  583. "inputs": [
  584. { "name": "input", "type": "T" },
  585. { "name": "slope", "type": "T" }
  586. ],
  587. "outputs": [
  588. { "name": "output", "type": "T" }
  589. ]
  590. },
  591. {
  592. "name": "Quantize",
  593. "inputs": [
  594. { "name": "input" }
  595. ],
  596. "outputs": [
  597. { "name": "output" }
  598. ]
  599. },
  600. {
  601. "name": "Range",
  602. "attributes": [
  603. { "name": "keep_dims", "type": "boolean" }
  604. ],
  605. "inputs": [
  606. { "name": "start", "type": "T" },
  607. { "name": "limit", "type": "T" },
  608. { "name": "delta", "type": "T" }
  609. ],
  610. "outputs": [
  611. { "name": "output", "type": "T" }
  612. ]
  613. },
  614. {
  615. "name": "ReduceMax",
  616. "attributes": [
  617. { "name": "keep_dims", "type": "boolean" }
  618. ],
  619. "inputs": [
  620. { "name": "input", "type": "T" },
  621. { "name": "axis", "type": "T" }
  622. ],
  623. "outputs": [
  624. { "name": "output", "type": "T" }
  625. ]
  626. },
  627. {
  628. "name": "ReduceMin",
  629. "attributes": [
  630. { "name": "keep_dims", "type": "boolean" }
  631. ],
  632. "inputs": [
  633. { "name": "input", "type": "T" },
  634. { "name": "axis", "type": "T" }
  635. ],
  636. "outputs": [
  637. { "name": "output", "type": "T" }
  638. ]
  639. },
  640. {
  641. "name": "Relu",
  642. "category": "Activation",
  643. "inputs": [
  644. { "name": "input", "type": "T" }
  645. ],
  646. "outputs": [
  647. { "name": "output", "type": "T" }
  648. ]
  649. },
  650. {
  651. "name": "Relu6",
  652. "category": "Activation",
  653. "inputs": [
  654. { "name": "input", "type": "T" }
  655. ],
  656. "outputs": [
  657. { "name": "output", "type": "T" }
  658. ]
  659. },
  660. {
  661. "name": "Reshape",
  662. "category": "Shape",
  663. "attributes": [
  664. { "name": "new_shape", "type": "int32[]", "default": 0 }
  665. ],
  666. "inputs": [
  667. { "name": "data", "type": "T" },
  668. { "name": "shape", "type": "T" }
  669. ],
  670. "outputs": [
  671. { "name": "reshaped", "type": "T" }
  672. ]
  673. },
  674. {
  675. "name": "ResizeBilinear",
  676. "attributes": [
  677. { "name": "align_corners", "default": false, "type": "boolean" },
  678. { "name": "new_height", "type": "int32", "default": 0 },
  679. { "name": "new_width", "type": "int32", "default": 0 },
  680. { "name": "half_pixel_centers", "type": "boolean", "default": false }
  681. ],
  682. "inputs": [
  683. { "name": "input" },
  684. { "name": "size" }
  685. ],
  686. "outputs": [
  687. { "name": "output" }
  688. ]
  689. },
  690. {
  691. "name": "ResizeNearestNeighbor",
  692. "attributes": [
  693. { "name": "align_corners", "type": "boolean", "default": false },
  694. { "name": "half_pixel_centers", "type": "boolean", "default": false }
  695. ]
  696. },
  697. {
  698. "name": "ReverseSequence",
  699. "attributes": [
  700. { "name": "seq_dim", "type": "int32", "default": 0 },
  701. { "name": "batch_dim", "type": "int32", "default": 0 }
  702. ]
  703. },
  704. {
  705. "name": "RNN",
  706. "category": "Layer",
  707. "attributes": [
  708. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  709. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false }
  710. ],
  711. "inputs": [
  712. { "name": "X", "type": "T" },
  713. { "name": "W", "type": "T" },
  714. { "name": "R", "type": "T" },
  715. { "name": "b", "type": "T" }
  716. ],
  717. "outputs": [
  718. { "name": "hidden", "type": "T" },
  719. { "name": "output", "type": "T" }
  720. ]
  721. },
  722. {
  723. "name": "Rsqrt",
  724. "inputs": [
  725. { "name": "input", "type": "T" }
  726. ],
  727. "outputs": [
  728. { "name": "output", "type": "T" }
  729. ]
  730. },
  731. {
  732. "name": "Shape",
  733. "attributes": [
  734. { "name": "out_type", "type": "TensorType", "default": "FLOAT32" }
  735. ]
  736. },
  737. {
  738. "name": "Sin",
  739. "inputs": [
  740. { "name": "input" }
  741. ],
  742. "outputs": [
  743. { "name": "output" }
  744. ]
  745. },
  746. {
  747. "name": "SkipGram",
  748. "inputs": [
  749. { "name": "inputs" }
  750. ],
  751. "outputs": [
  752. { "name": "ngrams" }
  753. ],
  754. "attributes": [
  755. { "name": "ngram_size", "type": "int32", "default": 0 },
  756. { "name": "max_skip_size", "type": "int32", "default": 0 },
  757. { "name": "include_all_ngrams", "type": "boolean", "default": false }
  758. ]
  759. },
  760. {
  761. "name": "Slice",
  762. "category": "Tensor",
  763. "inputs": [
  764. { "name": "input" },
  765. { "name": "begin" },
  766. { "name": "size" }
  767. ],
  768. "outputs": [
  769. { "name": "output" }
  770. ]
  771. },
  772. {
  773. "name": "Softmax",
  774. "category": "Activation",
  775. "inputs": [
  776. { "name": "input", "type": "T" }
  777. ],
  778. "outputs": [
  779. { "name": "output", "type": "T" }
  780. ],
  781. "attributes": [
  782. { "name": "beta", "type": "float32", "default": 0 }
  783. ]
  784. },
  785. {
  786. "name": "SpaceToDepth",
  787. "attributes": [
  788. { "name": "block_size", "type": "int32", "default": 0 }
  789. ]
  790. },
  791. {
  792. "name": "SparseToDense",
  793. "attributes": [
  794. { "name": "validate_indices", "type": "boolean", "default": false }
  795. ]
  796. },
  797. {
  798. "name": "Split",
  799. "category": "Tensor",
  800. "inputs": [
  801. { "name": "axis" },
  802. { "name": "input" }
  803. ],
  804. "outputs": [
  805. { "name": "output" }
  806. ],
  807. "attributes": [
  808. { "name": "num_splits", "type": "int32", "default": 0 }
  809. ]
  810. },
  811. {
  812. "name": "SplitV",
  813. "attributes": [
  814. { "name": "num_splits", "type": "int32", "default": 0 }
  815. ]
  816. },
  817. {
  818. "name": "Squeeze",
  819. "category": "Transform",
  820. "inputs": [
  821. { "name": "input" }
  822. ],
  823. "outputs": [
  824. { "name": "output" }
  825. ],
  826. "attributes": [
  827. { "name": "squeeze_dims", "type": "int32[]", "default": 0 }
  828. ]
  829. },
  830. {
  831. "name": "StridedSlice",
  832. "category": "Tensor",
  833. "inputs": [
  834. { "name": "input" },
  835. { "name": "begin" },
  836. { "name": "end" },
  837. { "name": "strides" }
  838. ],
  839. "outputs": [
  840. { "name": "output" }
  841. ],
  842. "attributes": [
  843. { "name": "begin_mask", "type": "int32", "default": 0 },
  844. { "name": "end_mask", "type": "int32", "default": 0 },
  845. { "name": "ellipsis_mask", "type": "int32", "default": 0 },
  846. { "name": "new_axis_mask", "type": "int32", "default": 0 },
  847. { "name": "shrink_axis_mask", "type": "int32", "default": 0 }
  848. ]
  849. },
  850. {
  851. "name": "Sub",
  852. "attributes": [
  853. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  854. { "name": "pot_scale_int16", "type": "boolean", "default": true }
  855. ],
  856. "inputs": [
  857. { "name": "A", "type": "T" },
  858. { "name": "B", "type": "T" }
  859. ],
  860. "outputs": [
  861. { "name": "C", "type": "T" }
  862. ]
  863. },
  864. {
  865. "name": "Sum",
  866. "attributes": [
  867. { "name": "keep_dims", "type": "boolean" }
  868. ],
  869. "inputs": [
  870. { "name": "input", "type": "T" },
  871. { "name": "axis", "type": "T" }
  872. ],
  873. "outputs": [
  874. { "name": "output", "type": "T" }
  875. ]
  876. },
  877. {
  878. "name": "SVDF",
  879. "category": "Layer",
  880. "attributes": [
  881. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  882. { "name": "rank", "type": "int32", "default": 0 },
  883. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false }
  884. ],
  885. "inputs": [
  886. { "name": "input", "type": "T" },
  887. { "name": "feature", "type": "T" },
  888. { "name": "time", "type": "T" },
  889. { "name": "bias", "type": "T" }
  890. ],
  891. "outputs": [
  892. { "name": "state", "type": "T" },
  893. { "name": "output", "type": "T" }
  894. ]
  895. },
  896. {
  897. "name": "Tanh",
  898. "category": "Activation",
  899. "inputs": [
  900. { "name": "input", "type": "T" }
  901. ],
  902. "outputs": [
  903. { "name": "output", "type": "T" }
  904. ]
  905. },
  906. {
  907. "name": "Tile",
  908. "inputs": [
  909. { "name": "input" },
  910. { "name": "multipliers" }
  911. ],
  912. "outputs": [
  913. { "name": "output" }
  914. ]
  915. },
  916. {
  917. "name": "Transpose",
  918. "category": "Transform",
  919. "inputs": [
  920. { "name": "input" },
  921. { "name": "perm" }
  922. ],
  923. "outputs": [
  924. { "name": "output" }
  925. ]
  926. },
  927. {
  928. "name": "TransposeConv",
  929. "category": "Layer",
  930. "attributes": [
  931. { "name": "padding", "type": "Padding", "default": "SAME" },
  932. { "name": "stride_w", "type": "int32", "default": 0 },
  933. { "name": "stride_h", "type": "int32", "default": 0 },
  934. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" }
  935. ],
  936. "inputs": [
  937. { "name": "output_shape" },
  938. { "name": "weights" },
  939. { "name": "input" },
  940. { "name": "bias", "optional": true }
  941. ],
  942. "outputs": [
  943. { "name": "output" }
  944. ]
  945. },
  946. {
  947. "name": "UnidirectionalSequenceLSTM",
  948. "category": "Layer",
  949. "attributes": [
  950. { "name": "fused_activation_function", "type": "ActivationFunctionType", "default": "NONE" },
  951. { "name": "cell_clip", "type": "float32", "default": 0 },
  952. { "name": "proj_clip", "type": "float32", "default": 0 },
  953. { "name": "time_major", "type": "boolean", "default": false },
  954. { "name": "asymmetric_quantize_inputs", "type": "boolean", "default": false },
  955. { "name": "diagonal_recurrent_tensors", "type": "boolean", "default": false }
  956. ],
  957. "inputs": [
  958. { "name": "input", "type": "T", "description": "Input tensor." },
  959. { "name": "input_input_weights", "type": "T", "option": "optional", "description": "Input to input weights tensor.", "visible": false },
  960. { "name": "input_forget_weights", "type": "T", "description": "Input to forget weights tensor.", "visible": false },
  961. { "name": "input_cell_weights", "type": "T", "description": "Input to cell weights tensor.", "visible": false },
  962. { "name": "input_output_weights", "type": "T", "description": "Input to output weights tensor.", "visible": false },
  963. { "name": "recurrent_input_weights", "type": "T", "option": "optional", "description": "Recurrent to input weights tensor.", "visible": false },
  964. { "name": "recurrent_forget_weights", "type": "T", "description": "Recurrent to forget weights tensor.", "visible": false },
  965. { "name": "recurrent_cell_weights", "type": "T", "description": "Recurrent to cell weights tensor.", "visible": false },
  966. { "name": "recurrent_output_weights", "type": "T", "description": "Recurrent to output weights tensor.", "visible": false },
  967. { "name": "cell_input_weights", "type": "T", "option": "optional", "description": "Cell to input weights tensor.", "visible": false },
  968. { "name": "cell_forget_weights", "type": "T", "option": "optional", "description": "Cell to forget weights tensor.", "visible": false },
  969. { "name": "cell_output_weights", "type": "T", "option": "optional", "description": "Cell to output weights tensor.", "visible": false },
  970. { "name": "input_gate_bias", "type": "T", "option": "optional", "description": "Input gate bias tensor.", "visible": false },
  971. { "name": "forget_gate_bias", "type": "T", "description": "Forget gate bias tensor.", "visible": false },
  972. { "name": "cell_gate_bias", "type": "T", "description": "Cell gate bias tensor.", "visible": false },
  973. { "name": "output_gate_bias", "type": "T", "description": "Output gate bias tensor.", "visible": false },
  974. { "name": "projection_weights", "type": "T", "option": "optional", "description": "Projection weights tensor.", "visible": false },
  975. { "name": "projection_bias", "type": "T", "option": "optional", "description": "Projection bias tensor.", "visible": false },
  976. { "name": "output_state_in", "type": "T", "option": "optional", "visible": false },
  977. { "name": "cell_state_in", "type": "T", "option": "optional", "visible": false },
  978. { "name": "activation", "type": "T", "option": "optional", "visible": false },
  979. { "name": "cell_clip", "type": "T", "option": "optional", "visible": false },
  980. { "name": "proj_clip", "type": "T", "option": "optional", "visible": false },
  981. { "name": "time_major", "type": "T", "option": "optional", "visible": false },
  982. { "name": "input_layer_norm_weights", "type": "T", "option": "optional", "visible": false },
  983. { "name": "forget_layer_norm_weights", "type": "T", "option": "optional", "visible": false },
  984. { "name": "cell_layer_norm_weights", "type": "T", "option": "optional", "visible": false },
  985. { "name": "output_layer_norm_weights", "type": "T", "option": "optional", "visible": false }
  986. ]
  987. },
  988. {
  989. "name": "Unique",
  990. "attributes": [
  991. { "name": "idx_out_type", "type": "TensorType", "default": "INT32" }
  992. ]
  993. },
  994. {
  995. "name": "Unpack",
  996. "attributes": [
  997. { "name": "num", "type": "int32", "default": 0 },
  998. { "name": "axis", "type": "int32", "default": 0 }
  999. ]
  1000. },
  1001. {
  1002. "name": "UnsortedSegmentProd",
  1003. "attributes": [
  1004. { "name": "num_segments", "type": "int32", "default": 0 }
  1005. ]
  1006. },
  1007. {
  1008. "name": "VarHandle",
  1009. "attributes": [
  1010. { "name": "container", "type": "string", "default": null },
  1011. { "name": "shared_name", "type": "string", "default": null }
  1012. ]
  1013. },
  1014. {
  1015. "name": "While",
  1016. "attributes": [
  1017. { "name": "cond_subgraph_index", "type": "int32", "default": 0 },
  1018. { "name": "body_subgraph_index", "type": "int32", "default": 0 }
  1019. ]
  1020. }
  1021. ]