armnn-metadata.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. [
  2. {
  3. "name": "ActivationLayer",
  4. "category": "Activation",
  5. "attributes": [
  6. { "name": "activationFunction", "type": "ActivationFunction" },
  7. { "name": "a", "type": "float32" },
  8. { "name": "b", "type": "float32" }
  9. ]
  10. },
  11. {
  12. "name": "AdditionLayer",
  13. "inputs": [
  14. { "name": "A" },
  15. { "name": "B" }
  16. ],
  17. "outputs": [
  18. { "name": "C" }
  19. ]
  20. },
  21. {
  22. "name": "BatchNormalizationLayer",
  23. "category": "Normalization",
  24. "attributes": [
  25. { "name": "eps", "type": "float32" },
  26. { "name": "dataLayout", "type": "DataLayout" }
  27. ],
  28. "inputs": [
  29. { "name": "input" },
  30. { "name": "mean" },
  31. { "name": "variance" },
  32. { "name": "beta" },
  33. { "name": "gamma" }
  34. ]
  35. },
  36. {
  37. "name": "BatchToSpaceNdLayer",
  38. "category": "Layer",
  39. "attributes": [
  40. { "name": "blockShape", "type": "string" },
  41. { "name": "crops", "type": "string" },
  42. { "name": "dataLayout", "type": "DataLayout" }
  43. ]
  44. },
  45. {
  46. "name": "ConcatLayer",
  47. "category": "Tensor",
  48. "attributes": [
  49. { "name": "concatAxis", "type": "uint32" },
  50. { "name": "numViews", "type": "uint32" },
  51. { "name": "numDimensions", "type": "uint32" }
  52. ]
  53. },
  54. {
  55. "name": "ConstantLayer",
  56. "category": "Constant",
  57. "inputs": [
  58. { "name": "input" }
  59. ]
  60. },
  61. {
  62. "name": "Convolution2dLayer",
  63. "category": "Layer",
  64. "attributes": [
  65. { "name": "padTop", "type": "uint32" },
  66. { "name": "padRight", "type": "uint32" },
  67. { "name": "padBottom", "type": "uint32" },
  68. { "name": "padLeft", "type": "uint32" },
  69. { "name": "strideX", "type": "uint32" },
  70. { "name": "strideY", "type": "uint32" },
  71. { "name": "dilationX", "type": "uint32" },
  72. { "name": "dilationY", "type": "uint32" },
  73. { "name": "dataLayout", "type": "DataLayout" }
  74. ],
  75. "inputs": [
  76. { "name": "input" },
  77. { "name": "weights" },
  78. { "name": "biases" }
  79. ]
  80. },
  81. {
  82. "name": "DepthwiseConvolution2dLayer",
  83. "category": "Layer",
  84. "attributes": [
  85. { "name": "padTop", "type": "uint32" },
  86. { "name": "padRight", "type": "uint32" },
  87. { "name": "padBottom", "type": "uint32" },
  88. { "name": "padLeft", "type": "uint32" },
  89. { "name": "strideX", "type": "uint32" },
  90. { "name": "strideY", "type": "uint32" },
  91. { "name": "dilationX", "type": "uint32" },
  92. { "name": "dilationY", "type": "uint32" },
  93. { "name": "dataLayout", "type": "DataLayout" }
  94. ],
  95. "inputs": [
  96. { "name": "input" },
  97. { "name": "weights" },
  98. { "name": "biases" }
  99. ]
  100. },
  101. {
  102. "name": "DequantizeLayer",
  103. "category": "Quantization"
  104. },
  105. {
  106. "name": "DetectionPostProcessLayer",
  107. "attributes": [
  108. { "name": "maxDetections", "type": "uint32" },
  109. { "name": "maxClassesPerDetection", "type": "uint32" },
  110. { "name": "detectionsPerClass", "type": "uint32" },
  111. { "name": "nmsScoreThreshold", "type": "float32" },
  112. { "name": "numIouThreshold", "type": "float32" },
  113. { "name": "numClasses", "type": "uint32" },
  114. { "name": "useRegularNms", "type": "boolean" },
  115. { "name": "scaleX", "type": "float32" },
  116. { "name": "scaleY", "type": "float32" },
  117. { "name": "scaleW", "type": "float32" },
  118. { "name": "scaleH", "type": "float32" }
  119. ]
  120. },
  121. {
  122. "name": "DivisionLayer",
  123. "category": "Layer"
  124. },
  125. {
  126. "name": "EqualLayer",
  127. "category": "Layer"
  128. },
  129. {
  130. "name": "FloorLayer",
  131. "category": "Layer"
  132. },
  133. {
  134. "name": "FullyConnectedLayer",
  135. "category": "Layer",
  136. "attributes": [
  137. { "name": "transposeWeightsMatrix", "type": "boolean" }
  138. ],
  139. "inputs": [
  140. { "name": "input" },
  141. { "name": "weights" },
  142. { "name": "biases" }
  143. ]
  144. },
  145. {
  146. "name": "GatherLayer",
  147. "category": "Tensor"
  148. },
  149. {
  150. "name": "GreaterLayer",
  151. "category": "Layer"
  152. },
  153. {
  154. "name": "InputLayer"
  155. },
  156. {
  157. "name": "L2NormalizationLayer",
  158. "category": "Normalization",
  159. "attributes": [
  160. { "name": "eps", "type": "float32" },
  161. { "name": "dataLayout", "type": "DataLayout" }
  162. ]
  163. },
  164. {
  165. "name": "LstmLayer",
  166. "category": "Layer",
  167. "attributes": [
  168. { "name": "activationFunc", "type": "uint32" },
  169. { "name": "clippingThresCell", "type": "float32" },
  170. { "name": "clippingThresProj", "type": "float32" },
  171. { "name": "cifgEnabled", "type": "boolean" },
  172. { "name": "peepholeEnabled", "type": "boolean" },
  173. { "name": "projectionEnabled", "type": "boolean" },
  174. { "name": "layerNormEnabled", "type": "boolean" }
  175. ],
  176. "inputs": [
  177. { "name": "input" },
  178. { "name": "inputToForgetWeights1" },
  179. { "name": "inputToCellWeights1" },
  180. { "name": "inputToOutputWeights1" },
  181. { "name": "recurrentToForgetWeights1" },
  182. { "name": "recurrentToCellWeights1" },
  183. { "name": "recurrentToOutputWeights1" },
  184. { "name": "forgetGateBias1" },
  185. { "name": "cellBias1" },
  186. { "name": "outputGateBias1" },
  187. { "name": "inputToInputWeights1" },
  188. { "name": "recurrentToInputWeights1" },
  189. { "name": "cellToInputWeights1" },
  190. { "name": "inputGateBias1" },
  191. { "name": "projectionWeights1" },
  192. { "name": "projectionBias1" },
  193. { "name": "cellToForgetWeights1" },
  194. { "name": "cellToOutputWeights1" },
  195. { "name": "inputLayerNormWeights1" },
  196. { "name": "forgetLayerNormWeights1" },
  197. { "name": "cellLayerNormWeights1" },
  198. { "name": "outputLayerNormWeights1" }
  199. ]
  200. },
  201. {
  202. "name": "MaximumLayer",
  203. "category": "Layer"
  204. },
  205. {
  206. "name": "MeanLayer",
  207. "attributes": [
  208. { "name": "axis", "type": "uint32" },
  209. { "name": "keepDims", "type": "boolean" }
  210. ]
  211. },
  212. {
  213. "name": "MergeLayer",
  214. "category": "Layer"
  215. },
  216. {
  217. "name": "MergerLayer",
  218. "category": "Tensor"
  219. },
  220. {
  221. "name": "MinimumLayer",
  222. "category": "Layer"
  223. },
  224. {
  225. "name": "MultiplicationLayer",
  226. "inputs": [
  227. { "name": "A" },
  228. { "name": "B" }
  229. ],
  230. "outputs": [
  231. { "name": "C" }
  232. ]
  233. },
  234. {
  235. "name": "NormalizationLayer",
  236. "category": "Normalization",
  237. "attributes": [
  238. { "name": "normChannelType", "type": "NormalizationAlgorithmChannel" },
  239. { "name": "normMethodType", "type": "NormalizationAlgorithmMethod" },
  240. { "name": "normSize", "type": "uint32" },
  241. { "name": "alpha", "type": "float32" },
  242. { "name": "beta", "type": "float32" },
  243. { "name": "dataLayout", "type": "DataLayout" }
  244. ]
  245. },
  246. {
  247. "name": "OutputLayer",
  248. "category": "Tensor"
  249. },
  250. {
  251. "name": "PadLayer",
  252. "category": "Layer",
  253. "attributes": [
  254. { "name": "padList", "type": "uint32" },
  255. { "name": "padValue", "type": "float32" }
  256. ]
  257. },
  258. {
  259. "name": "PermuteLayer",
  260. "category": "Shape",
  261. "attributes": [
  262. { "name": "dimMappings", "type": "string" }
  263. ]
  264. },
  265. {
  266. "name": "Pooling2dLayer",
  267. "category": "Pool",
  268. "attributes": [
  269. { "name": "poolType", "type": "PoolingAlgorithm" },
  270. { "name": "padTop", "type": "uint32" },
  271. { "name": "padRight", "type": "uint32" },
  272. { "name": "padBottom", "type": "uint32" },
  273. { "name": "padLeft", "type": "uint32" },
  274. { "name": "poolWidth", "type": "uint32" },
  275. { "name": "poolHeight", "type": "uint32" },
  276. { "name": "strideX", "type": "uint32" },
  277. { "name": "strideY", "type": "uint32" },
  278. { "name": "outputShapeRounding", "type": "OutputShapeRounding" },
  279. { "name": "paddingMethod", "type": "PaddingMethod" },
  280. { "name": "dataLayout", "type": "DataLayout" }
  281. ]
  282. },
  283. {
  284. "name": "PreluLayer",
  285. "category": "Layer"
  286. },
  287. {
  288. "name": "QuantizedLstmLayer",
  289. "category": "Layer",
  290. "inputs": [
  291. { "name": "input" },
  292. { "name": "inputToInputWeights1" },
  293. { "name": "inputToForgetWeights1" },
  294. { "name": "inputToCellWeights1" },
  295. { "name": "inputToOutputWeights1" },
  296. { "name": "recurrentToInputWeights1" },
  297. { "name": "recurrentToForgetWeights1" },
  298. { "name": "recurrentToCellWeights1" },
  299. { "name": "recurrentToOutputWeights1" },
  300. { "name": "inputGateBias1" },
  301. { "name": "forgetGateBias1" },
  302. { "name": "cellBias1" },
  303. { "name": "outputGateBias1" }
  304. ]
  305. },
  306. {
  307. "name": "QuantizeLayer",
  308. "category": "Quantization"
  309. },
  310. {
  311. "name": "ReshapeLayer",
  312. "category": "Shape",
  313. "attributes": [
  314. { "name": "targetShape", "type": "uint32[]" }
  315. ]
  316. },
  317. {
  318. "name": "ResizeBilinearLayer",
  319. "category": "Layer",
  320. "attributes": [
  321. { "name": "targetWidth", "type": "uint32" },
  322. { "name": "targetHeight", "type": "uint32" },
  323. { "name": "dataLayout", "type": "DataLayout" }
  324. ]
  325. },
  326. {
  327. "name": "ResizeLayer",
  328. "category": "Layer",
  329. "attributes": [
  330. { "name": "targetWidth", "type": "uint32" },
  331. { "name": "targetHeight", "type": "uint32" },
  332. { "name": "method", "type": "ResizeMethod" },
  333. { "name": "dataLayout", "type": "DataLayout" }
  334. ]
  335. },
  336. {
  337. "name": "RsqrtLayer",
  338. "category": "Layer"
  339. },
  340. {
  341. "name": "SoftmaxLayer",
  342. "category": "Activation",
  343. "attributes": [
  344. { "name": "beta", "type": "float32" }
  345. ]
  346. },
  347. {
  348. "name": "SpaceToBatchNdLayer",
  349. "category": "Layer",
  350. "attributes": [
  351. { "name": "blockShape", "type": "string" },
  352. { "name": "padList", "type": "string" },
  353. { "name": "dataLayout", "type": "DataLayout" }
  354. ]
  355. },
  356. {
  357. "name": "SpaceToDepthLayer",
  358. "category": "Layer",
  359. "attributes": [
  360. { "name": "blockSize", "type": "uint32" },
  361. { "name": "dataLayout", "type": "DataLayout" }
  362. ]
  363. },
  364. {
  365. "name": "SplitterLayer",
  366. "category": "Tensor",
  367. "attributes": [
  368. { "name": "concatAxis", "type": "uint32" },
  369. { "name": "numViews", "type": "uint32" },
  370. { "name": "numDimensions", "type": "uint32" }
  371. ]
  372. },
  373. {
  374. "name": "StackLayer",
  375. "category": "Layer",
  376. "attributes": [
  377. { "name": "axis", "type": "uint32" },
  378. { "name": "numInputs", "type": "uint32" },
  379. { "name": "inputShape", "type": "uint32" }
  380. ]
  381. },
  382. {
  383. "name": "StridedSliceLayer",
  384. "category": "Tensor",
  385. "attributes": [
  386. { "name": "begin", "type": "int32" },
  387. { "name": "end", "type": "int32" },
  388. { "name": "stride", "type": "int32" },
  389. { "name": "beginMask", "type": "int32" },
  390. { "name": "endMask", "type": "int32" },
  391. { "name": "shrinkAxisMask", "type": "int32" },
  392. { "name": "ellipsisMask", "type": "int32" },
  393. { "name": "newAxisMask", "type": "int32" },
  394. { "name": "dataLayout", "type": "DataLayout" }
  395. ]
  396. },
  397. {
  398. "name": "SubtractionLayer"
  399. },
  400. {
  401. "name": "SwitchLayer",
  402. "category": "Layer"
  403. },
  404. {
  405. "name": "TransposeConvolution2dLayer",
  406. "category": "Layer",
  407. "attributes": [
  408. { "name": "padTop", "type": "uint32" },
  409. { "name": "padRight", "type": "uint32" },
  410. { "name": "padBottom", "type": "uint32" },
  411. { "name": "padLeft", "type": "uint32" },
  412. { "name": "strideX", "type": "uint32" },
  413. { "name": "strideY", "type": "uint32" },
  414. { "name": "dataLayout", "type": "DataLayout" }
  415. ],
  416. "inputs": [
  417. { "name": "input" },
  418. { "name": "weights" },
  419. { "name": "biases" }
  420. ]
  421. }
  422. ]