ncnn-metadata.json 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. [
  2. {
  3. "name": "AbsVal",
  4. "operator": 0
  5. },
  6. {
  7. "name": "ArgMax",
  8. "operator": 1
  9. },
  10. {
  11. "name": "BatchNorm",
  12. "operator": 2,
  13. "category": "Normalization",
  14. "attributes": [
  15. { "name": "channels", "type": "int32", "default": 0 },
  16. { "name": "eps", "type": "float32", "default": 0 }
  17. ]
  18. },
  19. {
  20. "name": "Bias",
  21. "operator": 3,
  22. "category": "Layer",
  23. "attributes": [
  24. { "name": "bias_data_size", "default": 0, "visible": false }
  25. ]
  26. },
  27. {
  28. "name": "BinaryOp",
  29. "operator": 40,
  30. "attributes": [
  31. { "name": "op_type", "type": "BinaryOpType", "default": 0 },
  32. { "name": "with_scalar", "type": "int32", "default": 0 },
  33. { "name": "b", "type": "float32", "default": 0 }
  34. ]
  35. },
  36. {
  37. "name": "BNLL",
  38. "operator": 4
  39. },
  40. {
  41. "name": "Cast",
  42. "operator": 64
  43. },
  44. {
  45. "name": "Clip",
  46. "operator": 54,
  47. "attributes": [
  48. { "name": "min", "type": "float32" },
  49. { "name": "max", "type": "float32" }
  50. ]
  51. },
  52. {
  53. "name": "Concat",
  54. "operator": 5,
  55. "category": "Tensor",
  56. "attributes": [
  57. { "name": "axis", "type": "int32", "default": 0 }
  58. ],
  59. "inputs": [
  60. { "name": "input", "option": "variadic" }
  61. ],
  62. "outputs": [
  63. { "name": "output" }
  64. ]
  65. },
  66. {
  67. "name": "Convolution",
  68. "operator": 6,
  69. "category": "Layer",
  70. "attributes": [
  71. { "name": "num_output", "type": "int32", "default": 0 },
  72. { "name": "kernel_w", "type": "int32", "default": 0 },
  73. { "name": "dilation_w", "type": "int32", "default": 1 },
  74. { "name": "stride_w", "type": "int32", "default": 1 },
  75. { "name": "pad_w", "type": "int32", "default": 0 },
  76. { "name": "bias_term", "default": 0, "visible": false },
  77. { "name": "weight_data_size", "type": "int32", "default": 0, "visible": false },
  78. { "name": "group", "type": "int32", "default": 0 },
  79. { "name": "int8_scale_term", "default": 0 },
  80. { "name": "activation_type", "default": 0 },
  81. { "name": "activation_params", "default": [] },
  82. { "name": "kernel_h", "type": "int32", "default": 0 },
  83. { "name": "dilation_h", "type": "int32", "default": 1 },
  84. { "name": "stride_h", "type": "int32", "default": 1 },
  85. { "name": "pad_h", "type": "int32", "default": 0 }
  86. ]
  87. },
  88. {
  89. "name": "ConvolutionDepthWise",
  90. "operator": 42,
  91. "category": "Layer",
  92. "attributes": [
  93. { "name": "num_output", "default": 0 },
  94. { "name": "kernel_w", "default": 0 },
  95. { "name": "dilation_w", "default": 1 },
  96. { "name": "stride_w", "default": 1 },
  97. { "name": "pad_w", "default": 0 },
  98. { "name": "bias_term", "default": 0, "visible": false },
  99. { "name": "weight_data_size", "default": 0, "visible": false },
  100. { "name": "group", "default": 0 },
  101. { "name": "int8_scale_term", "default": 0 },
  102. { "name": "activation_type", "default": 0 },
  103. { "name": "activation_params", "default": [] },
  104. { "name": "kernel_h", "default": 0 },
  105. { "name": "dilation_h", "default": 1 },
  106. { "name": "stride_h", "default": 1 },
  107. { "name": "pad_h", "default": 0 }
  108. ]
  109. },
  110. {
  111. "name": "Crop",
  112. "operator": 7,
  113. "category": "Data",
  114. "attributes": [
  115. { "name": "woffset", "default": 0 },
  116. { "name": "hoffset", "default": 0 },
  117. { "name": "coffset", "default": 0 },
  118. { "name": "outw", "default": 0 },
  119. { "name": "outh", "default": 0 },
  120. { "name": "outc", "default": 0 },
  121. { "name": "woffset2", "default": 0 },
  122. { "name": "hoffset2", "default": 0 },
  123. { "name": "coffset2", "default": 0 },
  124. { "name": "starts", "default": [] },
  125. { "name": "ends", "default": [] },
  126. { "name": "axes", "default": [] }
  127. ]
  128. },
  129. {
  130. "name": "Deconvolution",
  131. "operator": 8,
  132. "category": "Layer",
  133. "attributes": [
  134. { "name": "num_output", "default": 0 },
  135. { "name": "kernel_w", "default": 0 },
  136. { "name": "dilation_w", "default": 1 },
  137. { "name": "stride_w", "default": 1 },
  138. { "name": "pad_w", "default": 0 },
  139. { "name": "bias_term", "default": 0, "visible": false },
  140. { "name": "weight_data_size", "default": 0, "visible": false },
  141. { "name": "group", "default": 0 },
  142. { "name": "int8_scale_term", "default": 0 },
  143. { "name": "activation_type", "default": 0 },
  144. { "name": "activation_params", "default": [] },
  145. { "name": "kernel_h", "default": 0 },
  146. { "name": "dilation_h", "default": 1 },
  147. { "name": "stride_h", "default": 1 },
  148. { "name": "pad_h", "default": 0 }
  149. ]
  150. },
  151. {
  152. "name": "DeconvolutionDepthWise",
  153. "operator": 51,
  154. "category": "Layer",
  155. "attributes": [
  156. { "name": "num_output", "default": 0 },
  157. { "name": "kernel_w", "default": 0 },
  158. { "name": "dilation_w", "default": 1 },
  159. { "name": "stride_w", "default": 1 },
  160. { "name": "pad_w", "default": 0 },
  161. { "name": "bias_term", "default": 0, "visible": false },
  162. { "name": "weight_data_size", "default": 0, "visible": false },
  163. { "name": "group", "default": 0 },
  164. { "name": "int8_scale_term", "default": 0 },
  165. { "name": "activation_type", "default": 0 },
  166. { "name": "activation_params", "default": [] },
  167. { "name": "kernel_h", "default": 0 },
  168. { "name": "dilation_h", "default": 1 },
  169. { "name": "stride_h", "default": 1 },
  170. { "name": "pad_h", "default": 0 }
  171. ]
  172. },
  173. {
  174. "name": "DeepCopy",
  175. "operator": 70
  176. },
  177. {
  178. "name": "Dequantize",
  179. "operator": 58
  180. },
  181. {
  182. "name": "DetectionOutput",
  183. "operator": 49,
  184. "attributes": [
  185. { "name": "num_class", "default": 0 },
  186. { "name": "nms_threshold", "default": 0.05 },
  187. { "name": "nms_top_k", "default": 300 },
  188. { "name": "keep_top_k", "default": 100 },
  189. { "name": "confidence_threshold", "default": 0.5 },
  190. { "name": "varainces0", "default": 0.1 },
  191. { "name": "varainces1", "default": 0.1 },
  192. { "name": "varainces2", "default": 0.2 },
  193. { "name": "varainces3", "default": 0.2 }
  194. ]
  195. },
  196. {
  197. "name": "Dropout",
  198. "operator": 9,
  199. "category": "Dropout",
  200. "attributes": [
  201. { "name": "scale", "type": "float32", "default": 1 }
  202. ]
  203. },
  204. {
  205. "name": "Eltwise",
  206. "operator": 10,
  207. "attributes": [
  208. { "name": "op_type", "type": "EltwiseType", "default": 0 },
  209. { "name": "coeffs", "default": [] }
  210. ],
  211. "inputs": [
  212. { "name": "inputs", "option": "variadic" }
  213. ]
  214. },
  215. {
  216. "name": "ELU",
  217. "operator": 11
  218. },
  219. {
  220. "name": "Embed",
  221. "operator": 12,
  222. "category": "Transform",
  223. "attributes": [
  224. { "name": "num_output", "default": 0 },
  225. { "name": "input_dim", "default": 0 },
  226. { "name": "bias_term", "default": 0 },
  227. { "name": "weight_data_size", "default": 0 }
  228. ]
  229. },
  230. {
  231. "name": "Exp",
  232. "operator": 13
  233. },
  234. {
  235. "name": "Exp",
  236. "operator": 17
  237. },
  238. {
  239. "name": "ExpandDims",
  240. "operator": 45
  241. },
  242. {
  243. "name": "Flatten",
  244. "operator": 14,
  245. "category": "Shape"
  246. },
  247. {
  248. "name": "Gemm",
  249. "operator": 74,
  250. "category": "Layer"
  251. },
  252. {
  253. "name": "GroupNorm",
  254. "operator": 75,
  255. "category": "Normalization",
  256. "attributes": [
  257. { "name": "group", "default": 1 },
  258. { "name": "channels", "default": 0 },
  259. { "name": "eps", "type": "float32", "default": 0.001 },
  260. { "name": "affine", "default": 0 }
  261. ]
  262. },
  263. {
  264. "name": "GRU",
  265. "operator": 78,
  266. "category": "Layer",
  267. "attributes": [
  268. { "name": "num_output", "default": 0 },
  269. { "name": "weight_data_size", "default": 0, "visible": false },
  270. { "name": "direction", "default": 1 }
  271. ]
  272. },
  273. {
  274. "name": "HardSigmoid",
  275. "operator": 65,
  276. "category": "Activation",
  277. "attributes": [
  278. { "name": "alpha", "type": "float32", "default": 0.2 },
  279. { "name": "beta", "type": "float32", "default": 0.5 }
  280. ]
  281. },
  282. {
  283. "name": "HardSwish",
  284. "operator": 67,
  285. "category": "Activation",
  286. "attributes": [
  287. { "name": "alpha", "type": "float32", "default": 0.2 },
  288. { "name": "beta", "type": "float32", "default": 0.5 }
  289. ]
  290. },
  291. {
  292. "name": "InnerProduct",
  293. "operator": 15,
  294. "category": "Layer",
  295. "attributes": [
  296. { "name": "num_output", "type": "int32", "default": 0 },
  297. { "name": "bias_term", "default": 0, "visible": false },
  298. { "name": "weight_data_size", "default": 0, "visible": false },
  299. { "name": "" },
  300. { "name": "" },
  301. { "name": "" },
  302. { "name": "" },
  303. { "name": "" },
  304. { "name": "int8_scale_term", "default": 0 },
  305. { "name": "activation_type", "default": 0 },
  306. { "name": "activation_params", "default": 0 }
  307. ]
  308. },
  309. {
  310. "name": "Input",
  311. "operator": 16
  312. },
  313. {
  314. "name": "InstanceNorm",
  315. "operator": 53,
  316. "category": "Normalization",
  317. "attributes": [
  318. { "name": "channels", "default": 0 },
  319. { "name": "eps", "type": "float32", "default": 0.001 },
  320. { "name": "affine", "default": 1 }
  321. ]
  322. },
  323. {
  324. "name": "Interp",
  325. "operator": 50,
  326. "attributes": [
  327. { "name": "resize_type", "type": "InterpResizeType", "default": 0 },
  328. { "name": "height_scale", "type": "float32", "default": 1 },
  329. { "name": "width_scale", "type": "float32", "default": 1 },
  330. { "name": "output_height", "default": 0 },
  331. { "name": "output_width", "default": 0 },
  332. { "name": "dynamic_target_size", "default": 0 },
  333. { "name": "align_corner", "default": 0 }
  334. ]
  335. },
  336. {
  337. "name": "LayerNorm",
  338. "operator": 76,
  339. "category": "Normalization",
  340. "attributes": [
  341. { "name": "channels", "default": 0 },
  342. { "name": "eps", "type": "float32", "default": 0.001 }
  343. ]
  344. },
  345. {
  346. "name": "LRN",
  347. "operator": 18,
  348. "category": "Normalization",
  349. "attributes": [
  350. { "name": "region_type", "default": 0 },
  351. { "name": "local_size", "default": 5 },
  352. { "name": "alpha", "default": 1 },
  353. { "name": "beta", "default": 0.75 },
  354. { "name": "bias", "default": 1 }
  355. ]
  356. },
  357. {
  358. "name": "LSTM",
  359. "operator": 39,
  360. "category": "Layer",
  361. "attributes": [
  362. { "name": "num_output", "default": 0 },
  363. { "name": "weight_data_size", "default": 0, "visible": false },
  364. { "name": "direction", "default": 1 }
  365. ]
  366. },
  367. {
  368. "name": "MemoryData",
  369. "operator": 19,
  370. "attributes": [
  371. { "name": "w", "default": 0 },
  372. { "name": "h", "default": 0 },
  373. { "name": "c", "default": 0 }
  374. ]
  375. },
  376. {
  377. "name": "Mish",
  378. "operator": 71,
  379. "category": "Activation"
  380. },
  381. {
  382. "name": "MVN",
  383. "operator": 20
  384. },
  385. {
  386. "name": "Noop",
  387. "operator": 68
  388. },
  389. {
  390. "name": "Normalize",
  391. "operator": 46,
  392. "category": "Normalization",
  393. "attributes": [
  394. { "name": "across_spatial", "default": 0 },
  395. { "name": "channel_shared", "default": 0 },
  396. { "name": "eps", "type": "float32", "default": 0.0001 },
  397. { "name": "scale_data_size", "default": 0, "visible": false },
  398. { "name": "across_channel", "default": 0 },
  399. { "name": "" },
  400. { "name": "" },
  401. { "name": "" },
  402. { "name": "" },
  403. { "name": "eps_mode", "default": 0 }
  404. ]
  405. },
  406. {
  407. "name": "Packing",
  408. "operator": 62
  409. },
  410. {
  411. "name": "Padding",
  412. "operator": 43,
  413. "category": "Layer",
  414. "attributes": [
  415. { "name": "top", "default": 0 },
  416. { "name": "bottom", "default": 0 },
  417. { "name": "left", "default": 0 },
  418. { "name": "right", "default": 0 },
  419. { "name": "type", "default": 0 },
  420. { "name": "value", "type": "float32", "default": 0 },
  421. { "name": "per_channel_pad_data_size", "default": 0, "visible": false },
  422. { "name": "front", "default": 0 },
  423. { "name": "behind", "default": 0 }
  424. ]
  425. },
  426. {
  427. "name": "Permute",
  428. "operator": 47,
  429. "category": "Shape",
  430. "attributes": [
  431. { "name": "order_type", "type": "PermuteOrderType", "default": 0 }
  432. ]
  433. },
  434. {
  435. "name": "PixelShuffle",
  436. "operator": 69,
  437. "attributes": [
  438. { "name": "upscale_factor", "default": 1 },
  439. { "name": "mode", "default": 0 }
  440. ]
  441. },
  442. {
  443. "name": "Pooling",
  444. "operator": 21,
  445. "category": "Pool",
  446. "attributes": [
  447. { "name": "pooling_type", "type": "PoolingType", "default": 0 },
  448. { "name": "kernel_w", "default": 0 },
  449. { "name": "stride_w", "default": 1 },
  450. { "name": "pad_left", "default": 0 },
  451. { "name": "global_pooling", "default": 0 },
  452. { "name": "pad_mode", "default": 0 },
  453. { "name": "avgpool_count_include_pad", "default": 0 },
  454. { "name": "adaptive_pooling", "default": 0 },
  455. { "name": "out_w", "default": 0 },
  456. { "name": "" },
  457. { "name": "" },
  458. { "name": "kernel_h", "default": 0 },
  459. { "name": "stride_h", "default": 1 },
  460. { "name": "pad_top", "default": 0 },
  461. { "name": "pad_right", "default": 0 },
  462. { "name": "pad_bottom", "default": 0 },
  463. { "name": "" },
  464. { "name": "" },
  465. { "name": "out_h", "default": 0 }
  466. ]
  467. },
  468. {
  469. "name": "Power",
  470. "operator": 22
  471. },
  472. {
  473. "name": "PReLU",
  474. "operator": 23,
  475. "category": "Activation",
  476. "attributes": [
  477. { "name": "num_slope", "type": "int32", "default": 0, "visible": false }
  478. ]
  479. },
  480. {
  481. "name": "PriorBox",
  482. "operator": 48,
  483. "attributes": [
  484. { "name": "min_sizes", "default": [] },
  485. { "name": "max_sizes", "default": [] },
  486. { "name": "aspect_ratios", "default": [] },
  487. { "name": "varainces0", "type": "float32", "default": 0 },
  488. { "name": "varainces1", "type": "float32", "default": 0 },
  489. { "name": "varainces2", "type": "float32", "default": 0 },
  490. { "name": "varainces3", "type": "float32", "default": 0 },
  491. { "name": "flip", "default": 1 },
  492. { "name": "clip", "default": 0 },
  493. { "name": "image_width", "default": 0 },
  494. { "name": "image_height", "default": 0 },
  495. { "name": "step_width", "default": -233 },
  496. { "name": "step_height", "default": -233 },
  497. { "name": "offset", "default": 0 }
  498. ]
  499. },
  500. {
  501. "name": "Proposal",
  502. "operator": 24
  503. },
  504. {
  505. "name": "PSROIPooling",
  506. "operator": 60
  507. },
  508. {
  509. "name": "Quantize",
  510. "operator": 57
  511. },
  512. {
  513. "name": "Reducation",
  514. "operator": 25
  515. },
  516. {
  517. "name": "ReLU",
  518. "operator": 26,
  519. "category": "Activation",
  520. "attributes": [
  521. { "name": "slope", "type": "float32", "default": 0 }
  522. ]
  523. },
  524. {
  525. "name": "ReLU6",
  526. "category": "Activation"
  527. },
  528. {
  529. "name": "Reorg",
  530. "operator": 55,
  531. "attributes": [
  532. { "name": "stride", "default": 1 },
  533. { "name": "mode", "default": 0 }
  534. ]
  535. },
  536. {
  537. "name": "Requantize",
  538. "operator": 63
  539. },
  540. {
  541. "name": "Reshape",
  542. "operator": 27,
  543. "category": "Shape",
  544. "attributes": [
  545. { "name": "w", "default": -233 },
  546. { "name": "h", "default": -233 },
  547. { "name": "c", "default": -233 },
  548. { "name": "permute", "default": 0 }
  549. ]
  550. },
  551. {
  552. "name": "RNN",
  553. "operator": 38,
  554. "category": "Layer",
  555. "attributes": [
  556. { "name": "num_output", "default": 0 },
  557. { "name": "weight_data_size", "default": 0, "visible": false },
  558. { "name": "direction", "default": 1 }
  559. ]
  560. },
  561. {
  562. "name": "ROIAlign",
  563. "operator": 61
  564. },
  565. {
  566. "name": "ROIPooling",
  567. "operator": 28
  568. },
  569. {
  570. "name": "Scale",
  571. "operator": 29,
  572. "category": "Layer",
  573. "attributes": [
  574. { "name": "scale_data_size", "default": 0, "visible": false },
  575. { "name": "bias_term", "default": 0, "visible": false }
  576. ]
  577. },
  578. {
  579. "name": "SELU",
  580. "operator": 66,
  581. "category": "Activation",
  582. "attributes": [
  583. { "name": "alpha", "type": "float32", "default": 1.67326324 },
  584. { "name": "lambda", "type": "float32", "default": 1.050700987 }
  585. ]
  586. },
  587. {
  588. "name": "ShuffleChannel",
  589. "operator": 52,
  590. "attributes": [
  591. { "name": "group", "default": 1 },
  592. { "name": "reverse", "default": 0 }
  593. ]
  594. },
  595. {
  596. "name": "Sigmoid",
  597. "operator": 30,
  598. "category": "Activation"
  599. },
  600. {
  601. "name": "Slice",
  602. "operator": 31,
  603. "category": "Tensor",
  604. "attributes": [
  605. { "name": "slices", "default": [] },
  606. { "name": "axis", "default": 0 }
  607. ]
  608. },
  609. {
  610. "name": "Softmax",
  611. "operator": 32,
  612. "category": "Activation",
  613. "attributes": [
  614. { "name": "axis", "type": "int32", "default": 0 },
  615. { "name": "fixbug0", "type": "int32", "default": 0 }
  616. ]
  617. },
  618. {
  619. "name": "Softplus",
  620. "operator": 77,
  621. "category": "Activation"
  622. },
  623. {
  624. "name": "Split",
  625. "operator": 33,
  626. "category": "Tensor",
  627. "inputs": [
  628. { "name": "input" }
  629. ],
  630. "outputs": [
  631. { "name": "output", "option": "variadic" }
  632. ]
  633. },
  634. {
  635. "name": "SPP",
  636. "operator": 34,
  637. "category": "Activation"
  638. },
  639. {
  640. "name": "Squeeze",
  641. "operator": 44
  642. },
  643. {
  644. "name": "StatisticsPooling",
  645. "operator": 72,
  646. "category": "Pool"
  647. },
  648. {
  649. "name": "Swish",
  650. "operator": 73,
  651. "category": "Activation"
  652. },
  653. {
  654. "name": "TanH",
  655. "operator": 35,
  656. "category": "Activation"
  657. },
  658. {
  659. "name": "Threshold",
  660. "operator": 36
  661. },
  662. {
  663. "name": "Tile",
  664. "operator": 37
  665. },
  666. {
  667. "name": "UnaryOp",
  668. "operator": 41,
  669. "attributes": [
  670. { "name": "op_type", "type": "int32", "default": 0 }
  671. ]
  672. },
  673. {
  674. "name": "YoloDetectionOutput",
  675. "operator": 56,
  676. "attributes": [
  677. { "name": "num_class", "type": "int32", "default": 20 },
  678. { "name": "num_box", "type": "int32", "default": 5 },
  679. { "name": "confidence_threshold", "type": "float32", "default": 0.01 },
  680. { "name": "nms_threshold", "type": "float32", "default": 0.45 },
  681. { "name": "biases" }
  682. ],
  683. "inputs": [
  684. { "name": "input", "option": "variadic" }
  685. ]
  686. },
  687. {
  688. "name": "Yolov3DetectionOutput",
  689. "operator": 59,
  690. "attributes": [
  691. { "name": "num_class", "type": "int32", "default": 20 },
  692. { "name": "num_box", "type": "int32", "default": 5 },
  693. { "name": "confidence_threshold", "type": "float32", "default": 0.01 },
  694. { "name": "nms_threshold", "type": "float32", "default": 0.45 },
  695. { "name": "biases", "type": "float32[]" },
  696. { "name": "mask", "type": "float32[]" },
  697. { "name": "anchors_scale", "type": "float32[]" }
  698. ],
  699. "inputs": [
  700. { "name": "input", "option": "variadic" }
  701. ]
  702. }
  703. ]