csi_nn.h 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075
  1. /*
  2. * Copyright (C) 2016-2022 T-Head Semiconductor Co., Ltd. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Licensed under the Apache License, Version 2.0 (the License); you may
  7. * not use this file except in compliance with the License.
  8. * You may obtain a copy of the License at
  9. *
  10. * www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  14. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. /* CSI-NN2 version 2.0.x */
  19. #ifndef INCLUDE_CSI_NN_H_
  20. #define INCLUDE_CSI_NN_H_
  21. #include <stdbool.h>
  22. #include <stdint.h>
  23. #include <stdlib.h>
  24. #include <string.h>
  25. #include "csinn_data_structure.h"
  26. #include "csinn_runtime.h"
  27. #include "shl_debug.h"
  28. #include "shl_memory.h"
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32. int csinn_conv2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  33. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  34. struct csinn_conv2d_params *params);
  35. int csinn_conv2d(struct csinn_tensor *input, struct csinn_tensor *output,
  36. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  37. struct csinn_conv2d_params *params);
  38. int csinn_depthwise_conv2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  39. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  40. struct csinn_conv2d_params *params);
  41. int csinn_depthwise_conv2d(struct csinn_tensor *input, struct csinn_tensor *output,
  42. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  43. struct csinn_conv2d_params *params);
  44. int csinn_group_conv2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  45. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  46. struct csinn_conv2d_params *params);
  47. int csinn_group_conv2d(struct csinn_tensor *input, struct csinn_tensor *output,
  48. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  49. struct csinn_conv2d_params *params);
  50. int csinn_conv2d_relu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  51. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  52. struct csinn_conv2d_params *params);
  53. int csinn_conv2d_relu(struct csinn_tensor *input, struct csinn_tensor *output,
  54. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  55. struct csinn_conv2d_params *params);
  56. int csinn_depthwise_conv2d_relu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  57. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  58. struct csinn_conv2d_params *params);
  59. int csinn_depthwise_conv2d_relu(struct csinn_tensor *input, struct csinn_tensor *output,
  60. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  61. struct csinn_conv2d_params *params);
  62. int csinn_conv2d_relu6_init(struct csinn_tensor *input, struct csinn_tensor *output,
  63. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  64. struct csinn_conv2d_params *params);
  65. int csinn_conv2d_relu6(struct csinn_tensor *input, struct csinn_tensor *output,
  66. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  67. struct csinn_conv2d_params *params);
  68. int csinn_deconv2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  69. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  70. struct csinn_conv2d_params *params);
  71. int csinn_deconv2d(struct csinn_tensor *input, struct csinn_tensor *output,
  72. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  73. struct csinn_conv2d_params *params);
  74. int csinn_conv3d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  75. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  76. struct csinn_conv3d_params *params);
  77. int csinn_conv3d(struct csinn_tensor *input, struct csinn_tensor *output,
  78. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  79. struct csinn_conv3d_params *params);
  80. int csinn_deconv3d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  81. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  82. struct csinn_conv3d_params *params);
  83. int csinn_deconv3d(struct csinn_tensor *input, struct csinn_tensor *output,
  84. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  85. struct csinn_conv3d_params *params);
  86. int csinn_fsmn_init(struct csinn_tensor *frame, struct csinn_tensor *l_filter,
  87. struct csinn_tensor *r_filter, struct csinn_tensor *frame_sequence,
  88. struct csinn_tensor *frame_counter, struct csinn_tensor *output,
  89. struct csinn_fsmn_params *params);
  90. int csinn_fsmn(struct csinn_tensor *frame, struct csinn_tensor *l_filter,
  91. struct csinn_tensor *r_filter, struct csinn_tensor *frame_sequence,
  92. struct csinn_tensor *frame_counter, struct csinn_tensor *output,
  93. struct csinn_fsmn_params *params);
  94. int csinn_fullyconnected_init(struct csinn_tensor *input, struct csinn_tensor *output,
  95. struct csinn_tensor *weights, struct csinn_tensor *bias,
  96. struct csinn_fc_params *params);
  97. int csinn_fullyconnected(struct csinn_tensor *input, struct csinn_tensor *output,
  98. struct csinn_tensor *weights, struct csinn_tensor *bias,
  99. struct csinn_fc_params *params);
  100. int csinn_fullyconnected_relu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  101. struct csinn_tensor *weights, struct csinn_tensor *bias,
  102. struct csinn_fc_params *params);
  103. int csinn_fullyconnected_relu(struct csinn_tensor *input, struct csinn_tensor *output,
  104. struct csinn_tensor *weights, struct csinn_tensor *bias,
  105. struct csinn_fc_params *params);
  106. int csinn_maxpool2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  107. struct csinn_pool_params *params);
  108. int csinn_maxpool2d(struct csinn_tensor *input, struct csinn_tensor *output,
  109. struct csinn_pool_params *params);
  110. int csinn_maxpool3d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  111. struct csinn_pool_params *params);
  112. int csinn_maxpool3d(struct csinn_tensor *input, struct csinn_tensor *output,
  113. struct csinn_pool_params *params);
  114. int csinn_global_maxpool2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  115. struct csinn_pool_params *params);
  116. int csinn_global_maxpool2d(struct csinn_tensor *input, struct csinn_tensor *output,
  117. struct csinn_pool_params *params);
  118. int csinn_avgpool2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  119. struct csinn_pool_params *params);
  120. int csinn_avgpool2d(struct csinn_tensor *input, struct csinn_tensor *output,
  121. struct csinn_pool_params *params);
  122. int csinn_avgpool3d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  123. struct csinn_pool_params *params);
  124. int csinn_avgpool3d(struct csinn_tensor *input, struct csinn_tensor *output,
  125. struct csinn_pool_params *params);
  126. int csinn_global_avgpool2d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  127. struct csinn_pool_params *params);
  128. int csinn_global_avgpool2d(struct csinn_tensor *input, struct csinn_tensor *output,
  129. struct csinn_pool_params *params);
  130. int csinn_l2pool_init(struct csinn_tensor *input, struct csinn_tensor *output,
  131. struct csinn_pool_params *params);
  132. int csinn_l2pool(struct csinn_tensor *input, struct csinn_tensor *output,
  133. struct csinn_pool_params *params);
  134. int csinn_pool_with_argmax_init(struct csinn_tensor *input, struct csinn_tensor *output,
  135. struct csinn_pool_params *params);
  136. int csinn_pool_with_argmax(struct csinn_tensor *input, struct csinn_tensor *output,
  137. struct csinn_pool_params *params);
  138. int csinn_maxpool2d_locat_init(struct csinn_tensor *input, struct csinn_tensor *output,
  139. struct csinn_pool_params *params);
  140. int csinn_maxpool2d_locat(struct csinn_tensor *input, struct csinn_tensor *output,
  141. struct csinn_pool_params *params);
  142. int csinn_unpooling_init(struct csinn_tensor *input, struct csinn_tensor *mask,
  143. struct csinn_tensor *output, struct csinn_unpooling_params *params);
  144. int csinn_unpooling(struct csinn_tensor *input, struct csinn_tensor *mask,
  145. struct csinn_tensor *output, struct csinn_unpooling_params *params);
  146. int csinn_roi_align_init(struct csinn_tensor *data, struct csinn_tensor *rois,
  147. struct csinn_tensor *output, struct csinn_roi_align_params *params);
  148. int csinn_roi_align(struct csinn_tensor *data, struct csinn_tensor *rois,
  149. struct csinn_tensor *output, struct csinn_roi_align_params *params);
  150. int csinn_negative_init(struct csinn_tensor *input, struct csinn_tensor *output,
  151. struct csinn_siso_params *params);
  152. int csinn_negative(struct csinn_tensor *input, struct csinn_tensor *output,
  153. struct csinn_siso_params *params);
  154. int csinn_floor_init(struct csinn_tensor *input, struct csinn_tensor *output,
  155. struct csinn_siso_params *params);
  156. int csinn_floor(struct csinn_tensor *input, struct csinn_tensor *output,
  157. struct csinn_siso_params *params);
  158. int csinn_ceil_init(struct csinn_tensor *input, struct csinn_tensor *output,
  159. struct csinn_siso_params *params);
  160. int csinn_ceil(struct csinn_tensor *input, struct csinn_tensor *output,
  161. struct csinn_siso_params *params);
  162. int csinn_sign_init(struct csinn_tensor *input, struct csinn_tensor *output,
  163. struct csinn_siso_params *params);
  164. int csinn_sign(struct csinn_tensor *input, struct csinn_tensor *output,
  165. struct csinn_siso_params *params);
  166. int csinn_trunc_init(struct csinn_tensor *input, struct csinn_tensor *output,
  167. struct csinn_siso_params *params);
  168. int csinn_trunc(struct csinn_tensor *input, struct csinn_tensor *output,
  169. struct csinn_siso_params *params);
  170. int csinn_round_init(struct csinn_tensor *input, struct csinn_tensor *output,
  171. struct csinn_siso_params *params);
  172. int csinn_round(struct csinn_tensor *input, struct csinn_tensor *output,
  173. struct csinn_siso_params *params);
  174. int csinn_abs_init(struct csinn_tensor *input, struct csinn_tensor *output,
  175. struct csinn_siso_params *params);
  176. int csinn_abs(struct csinn_tensor *input, struct csinn_tensor *output,
  177. struct csinn_siso_params *params);
  178. int csinn_isnan_bool_init(struct csinn_tensor *input, struct csinn_tensor *output,
  179. struct csinn_siso_params *params);
  180. int csinn_isnan_bool(struct csinn_tensor *input, struct csinn_tensor *output,
  181. struct csinn_siso_params *params);
  182. int csinn_exp_init(struct csinn_tensor *input, struct csinn_tensor *output,
  183. struct csinn_siso_params *params);
  184. int csinn_exp(struct csinn_tensor *input, struct csinn_tensor *output,
  185. struct csinn_siso_params *params);
  186. int csinn_expm1_init(struct csinn_tensor *input, struct csinn_tensor *output,
  187. struct csinn_siso_params *params);
  188. int csinn_expm1(struct csinn_tensor *input, struct csinn_tensor *output,
  189. struct csinn_siso_params *params);
  190. int csinn_sin_init(struct csinn_tensor *input, struct csinn_tensor *output,
  191. struct csinn_siso_params *params);
  192. int csinn_sin(struct csinn_tensor *input, struct csinn_tensor *output,
  193. struct csinn_siso_params *params);
  194. int csinn_cos_init(struct csinn_tensor *input, struct csinn_tensor *output,
  195. struct csinn_siso_params *params);
  196. int csinn_cos(struct csinn_tensor *input, struct csinn_tensor *output,
  197. struct csinn_siso_params *params);
  198. int csinn_tanh_init(struct csinn_tensor *input, struct csinn_tensor *output,
  199. struct csinn_siso_params *params);
  200. int csinn_tanh(struct csinn_tensor *input, struct csinn_tensor *output,
  201. struct csinn_siso_params *params);
  202. int csinn_log_init(struct csinn_tensor *input, struct csinn_tensor *output,
  203. struct csinn_siso_params *params);
  204. int csinn_log(struct csinn_tensor *input, struct csinn_tensor *output,
  205. struct csinn_siso_params *params);
  206. int csinn_sqrt_init(struct csinn_tensor *input, struct csinn_tensor *output,
  207. struct csinn_siso_params *params);
  208. int csinn_sqrt(struct csinn_tensor *input, struct csinn_tensor *output,
  209. struct csinn_siso_params *params);
  210. int csinn_rsqrt_init(struct csinn_tensor *input, struct csinn_tensor *output,
  211. struct csinn_siso_params *params);
  212. int csinn_rsqrt(struct csinn_tensor *input, struct csinn_tensor *output,
  213. struct csinn_siso_params *params);
  214. int csinn_square_init(struct csinn_tensor *input, struct csinn_tensor *output,
  215. struct csinn_siso_params *params);
  216. int csinn_square(struct csinn_tensor *input, struct csinn_tensor *output,
  217. struct csinn_siso_params *params);
  218. int csinn_sigmoid_init(struct csinn_tensor *input, struct csinn_tensor *output,
  219. struct csinn_sigmoid_params *params);
  220. int csinn_sigmoid(struct csinn_tensor *input, struct csinn_tensor *output,
  221. struct csinn_sigmoid_params *params);
  222. int csinn_hard_sigmoid_init(struct csinn_tensor *input, struct csinn_tensor *output,
  223. struct csinn_sigmoid_params *params);
  224. int csinn_hard_sigmoid(struct csinn_tensor *input, struct csinn_tensor *output,
  225. struct csinn_sigmoid_params *params);
  226. int csinn_elu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  227. struct csinn_relu_params *params);
  228. int csinn_elu(struct csinn_tensor *input, struct csinn_tensor *output,
  229. struct csinn_relu_params *params);
  230. int csinn_relu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  231. struct csinn_relu_params *params);
  232. int csinn_relu(struct csinn_tensor *input, struct csinn_tensor *output,
  233. struct csinn_relu_params *params);
  234. int csinn_relu1_init(struct csinn_tensor *input, struct csinn_tensor *output,
  235. struct csinn_relu_params *params);
  236. int csinn_relu1(struct csinn_tensor *input, struct csinn_tensor *output,
  237. struct csinn_relu_params *params);
  238. int csinn_relu6_init(struct csinn_tensor *input, struct csinn_tensor *output,
  239. struct csinn_relu_params *params);
  240. int csinn_relu6(struct csinn_tensor *input, struct csinn_tensor *output,
  241. struct csinn_relu_params *params);
  242. int csinn_relun_init(struct csinn_tensor *input, struct csinn_tensor *output,
  243. struct csinn_relu_params *params);
  244. int csinn_relun(struct csinn_tensor *input, struct csinn_tensor *output,
  245. struct csinn_relu_params *params);
  246. int csinn_leaky_relu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  247. struct csinn_relu_params *params);
  248. int csinn_leaky_relu(struct csinn_tensor *input, struct csinn_tensor *output,
  249. struct csinn_relu_params *params);
  250. int csinn_softrelu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  251. struct csinn_relu_params *params);
  252. int csinn_softrelu(struct csinn_tensor *input, struct csinn_tensor *output,
  253. struct csinn_relu_params *params);
  254. int csinn_prelu_init(struct csinn_tensor *input, struct csinn_tensor *alpha,
  255. struct csinn_tensor *output, struct csinn_prelu_params *params);
  256. int csinn_prelu(struct csinn_tensor *input, struct csinn_tensor *alpha, struct csinn_tensor *output,
  257. struct csinn_prelu_params *params);
  258. int csinn_softplus_init(struct csinn_tensor *input, struct csinn_tensor *output,
  259. struct csinn_siso_params *params);
  260. int csinn_softplus(struct csinn_tensor *input, struct csinn_tensor *output,
  261. struct csinn_siso_params *params);
  262. int csinn_softmax_init(struct csinn_tensor *input, struct csinn_tensor *output,
  263. struct csinn_softmax_params *params);
  264. int csinn_softmax(struct csinn_tensor *input, struct csinn_tensor *output,
  265. struct csinn_softmax_params *params);
  266. int csinn_log_softmax_init(struct csinn_tensor *input, struct csinn_tensor *output,
  267. struct csinn_softmax_params *params);
  268. int csinn_log_softmax(struct csinn_tensor *input, struct csinn_tensor *output,
  269. struct csinn_softmax_params *params);
  270. int csinn_batch_normalization_init(struct csinn_tensor *input, struct csinn_tensor *mean,
  271. struct csinn_tensor *variance, struct csinn_tensor *gamma,
  272. struct csinn_tensor *beta, struct csinn_tensor *output,
  273. struct csinn_bn_params *params);
  274. int csinn_batch_normalization(struct csinn_tensor *input, struct csinn_tensor *mean,
  275. struct csinn_tensor *variance, struct csinn_tensor *gamma,
  276. struct csinn_tensor *beta, struct csinn_tensor *output,
  277. struct csinn_bn_params *params);
  278. int csinn_l2_normalization_init(struct csinn_tensor *input, struct csinn_tensor *output,
  279. struct csinn_l2n_params *params);
  280. int csinn_l2_normalization(struct csinn_tensor *input, struct csinn_tensor *output,
  281. struct csinn_l2n_params *params);
  282. int csinn_lrn_init(struct csinn_tensor *input, struct csinn_tensor *output,
  283. struct csinn_lrn_params *params);
  284. int csinn_lrn(struct csinn_tensor *input, struct csinn_tensor *output,
  285. struct csinn_lrn_params *params);
  286. int csinn_matmul_init(struct csinn_tensor *mat0, struct csinn_tensor *mat1,
  287. struct csinn_tensor *output, struct csinn_matmul_params *params);
  288. int csinn_matmul(struct csinn_tensor *mat0, struct csinn_tensor *mat1, struct csinn_tensor *output,
  289. struct csinn_matmul_params *params);
  290. int csinn_add_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  291. struct csinn_tensor *output, struct csinn_diso_params *params);
  292. int csinn_add(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  293. struct csinn_diso_params *params);
  294. int csinn_sub_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  295. struct csinn_tensor *output, struct csinn_diso_params *params);
  296. int csinn_sub(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  297. struct csinn_diso_params *params);
  298. int csinn_mul_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  299. struct csinn_tensor *output, struct csinn_diso_params *params);
  300. int csinn_mul(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  301. struct csinn_diso_params *params);
  302. int csinn_div_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  303. struct csinn_tensor *output, struct csinn_diso_params *params);
  304. int csinn_div(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  305. struct csinn_diso_params *params);
  306. int csinn_floor_divide_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  307. struct csinn_tensor *output, struct csinn_diso_params *params);
  308. int csinn_floor_divide(struct csinn_tensor *input0, struct csinn_tensor *input1,
  309. struct csinn_tensor *output, struct csinn_diso_params *params);
  310. int csinn_floor_mod_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  311. struct csinn_tensor *output, struct csinn_diso_params *params);
  312. int csinn_floor_mod(struct csinn_tensor *input0, struct csinn_tensor *input1,
  313. struct csinn_tensor *output, struct csinn_diso_params *params);
  314. int csinn_mod_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  315. struct csinn_tensor *output, struct csinn_diso_params *params);
  316. int csinn_mod(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  317. struct csinn_diso_params *params);
  318. int csinn_maximum_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  319. struct csinn_tensor *output, struct csinn_diso_params *params);
  320. int csinn_maximum(struct csinn_tensor *input0, struct csinn_tensor *input1,
  321. struct csinn_tensor *output, struct csinn_diso_params *params);
  322. int csinn_minimum_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  323. struct csinn_tensor *output, struct csinn_diso_params *params);
  324. int csinn_minimum(struct csinn_tensor *input0, struct csinn_tensor *input1,
  325. struct csinn_tensor *output, struct csinn_diso_params *params);
  326. int csinn_power_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  327. struct csinn_tensor *output, struct csinn_diso_params *params);
  328. int csinn_power(struct csinn_tensor *input0, struct csinn_tensor *input1,
  329. struct csinn_tensor *output, struct csinn_diso_params *params);
  330. int csinn_greater_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  331. struct csinn_tensor *output, struct csinn_diso_params *params);
  332. int csinn_greater(struct csinn_tensor *input0, struct csinn_tensor *input1,
  333. struct csinn_tensor *output, struct csinn_diso_params *params);
  334. int csinn_less_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  335. struct csinn_tensor *output, struct csinn_diso_params *params);
  336. int csinn_less(struct csinn_tensor *input0, struct csinn_tensor *input1,
  337. struct csinn_tensor *output, struct csinn_diso_params *params);
  338. int csinn_logical_and_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  339. struct csinn_tensor *output, struct csinn_diso_params *params);
  340. int csinn_logical_and(struct csinn_tensor *input0, struct csinn_tensor *input1,
  341. struct csinn_tensor *output, struct csinn_diso_params *params);
  342. int csinn_logical_or_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  343. struct csinn_tensor *output, struct csinn_diso_params *params);
  344. int csinn_logical_or(struct csinn_tensor *input0, struct csinn_tensor *input1,
  345. struct csinn_tensor *output, struct csinn_diso_params *params);
  346. int csinn_logical_not_init(struct csinn_tensor *input, struct csinn_tensor *output,
  347. struct csinn_siso_params *params);
  348. int csinn_logical_not(struct csinn_tensor *input, struct csinn_tensor *output,
  349. struct csinn_siso_params *params);
  350. int csinn_logical_xor_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  351. struct csinn_tensor *output, struct csinn_diso_params *params);
  352. int csinn_logical_xor(struct csinn_tensor *input0, struct csinn_tensor *input1,
  353. struct csinn_tensor *output, struct csinn_diso_params *params);
  354. int csinn_equal_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  355. struct csinn_tensor *output, struct csinn_diso_params *params);
  356. int csinn_equal(struct csinn_tensor *input0, struct csinn_tensor *input1,
  357. struct csinn_tensor *output, struct csinn_diso_params *params);
  358. int csinn_not_equal_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  359. struct csinn_tensor *output, struct csinn_diso_params *params);
  360. int csinn_not_equal(struct csinn_tensor *input0, struct csinn_tensor *input1,
  361. struct csinn_tensor *output, struct csinn_diso_params *params);
  362. int csinn_greater_equal_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  363. struct csinn_tensor *output, struct csinn_diso_params *params);
  364. int csinn_greater_equal(struct csinn_tensor *input0, struct csinn_tensor *input1,
  365. struct csinn_tensor *output, struct csinn_diso_params *params);
  366. int csinn_less_equal_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  367. struct csinn_tensor *output, struct csinn_diso_params *params);
  368. int csinn_less_equal(struct csinn_tensor *input0, struct csinn_tensor *input1,
  369. struct csinn_tensor *output, struct csinn_diso_params *params);
  370. int csinn_select_init(struct csinn_tensor *condition, struct csinn_tensor *input0,
  371. struct csinn_tensor *input1, struct csinn_tensor *output,
  372. struct csinn_select_params *params);
  373. int csinn_select(struct csinn_tensor *condition, struct csinn_tensor *input0,
  374. struct csinn_tensor *input1, struct csinn_tensor *output,
  375. struct csinn_select_params *params);
  376. int csinn_and_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  377. struct csinn_tensor *output, struct csinn_diso_params *params);
  378. int csinn_and(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  379. struct csinn_diso_params *params);
  380. int csinn_or_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  381. struct csinn_tensor *output, struct csinn_diso_params *params);
  382. int csinn_or(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  383. struct csinn_diso_params *params);
  384. int csinn_xor_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  385. struct csinn_tensor *output, struct csinn_diso_params *params);
  386. int csinn_xor(struct csinn_tensor *input0, struct csinn_tensor *input1, struct csinn_tensor *output,
  387. struct csinn_diso_params *params);
  388. int csinn_not_init(struct csinn_tensor *input, struct csinn_tensor *output,
  389. struct csinn_siso_params *params);
  390. int csinn_not(struct csinn_tensor *input, struct csinn_tensor *output,
  391. struct csinn_siso_params *params);
  392. int csinn_pad_init(struct csinn_tensor *input, struct csinn_tensor *output,
  393. struct csinn_pad_params *params);
  394. int csinn_pad(struct csinn_tensor *input, struct csinn_tensor *output,
  395. struct csinn_pad_params *params);
  396. int csinn_resize_init(struct csinn_tensor *input, struct csinn_tensor *output,
  397. struct csinn_resize_params *params);
  398. int csinn_resize(struct csinn_tensor *input, struct csinn_tensor *output,
  399. struct csinn_resize_params *params);
  400. int csinn_concat_init(struct csinn_tensor **input, struct csinn_tensor *output,
  401. struct csinn_concat_params *params);
  402. int csinn_concat(struct csinn_tensor **input, struct csinn_tensor *output,
  403. struct csinn_concat_params *params);
  404. int csinn_proposal_init(struct csinn_tensor *cls_prob, struct csinn_tensor *bbox_pred,
  405. struct csinn_tensor *im_info, struct csinn_tensor *output,
  406. struct csinn_proposal_params *params);
  407. int csinn_proposal(struct csinn_tensor *cls_prob, struct csinn_tensor *bbox_pred,
  408. struct csinn_tensor *im_info, struct csinn_tensor *output,
  409. struct csinn_proposal_params *params);
  410. int csinn_psroipooling_init(struct csinn_tensor *data, struct csinn_tensor *rois,
  411. struct csinn_tensor *output, struct csinn_psroipooling_params *params);
  412. int csinn_psroipooling(struct csinn_tensor *data, struct csinn_tensor *rois,
  413. struct csinn_tensor *output, struct csinn_psroipooling_params *params);
  414. int csinn_transpose_init(struct csinn_tensor *input, struct csinn_tensor *output,
  415. struct csinn_transpose_params *params);
  416. int csinn_transpose(struct csinn_tensor *input, struct csinn_tensor *output,
  417. struct csinn_transpose_params *params);
  418. int csinn_reshape_init(struct csinn_tensor *input, struct csinn_tensor *output,
  419. struct csinn_reshape_params *params);
  420. int csinn_reshape(struct csinn_tensor *input, struct csinn_tensor *output,
  421. struct csinn_reshape_params *params);
  422. int csinn_shape_init(struct csinn_tensor *input, struct csinn_tensor *output,
  423. struct csinn_shape_params *params);
  424. int csinn_shape(struct csinn_tensor *input, struct csinn_tensor *output,
  425. struct csinn_shape_params *params);
  426. int csinn_expand_dims_init(struct csinn_tensor *input, struct csinn_tensor *output,
  427. struct csinn_expand_dims_params *params);
  428. int csinn_expand_dims(struct csinn_tensor *input, struct csinn_tensor *output,
  429. struct csinn_expand_dims_params *params);
  430. int csinn_reverse_init(struct csinn_tensor *input, struct csinn_tensor *output,
  431. struct csinn_reverse_params *params);
  432. int csinn_reverse(struct csinn_tensor *input, struct csinn_tensor *output,
  433. struct csinn_reverse_params *params);
  434. int csinn_flatten_init(struct csinn_tensor *input, struct csinn_tensor *output,
  435. struct csinn_flatten_params *params);
  436. int csinn_flatten(struct csinn_tensor *input, struct csinn_tensor *output,
  437. struct csinn_flatten_params *params);
  438. int csinn_crop_init(struct csinn_tensor *input, struct csinn_tensor *output,
  439. struct csinn_crop_params *params);
  440. int csinn_crop(struct csinn_tensor *input, struct csinn_tensor *output,
  441. struct csinn_crop_params *params);
  442. int csinn_slice_init(struct csinn_tensor *input, struct csinn_tensor *output,
  443. struct csinn_slice_params *params);
  444. int csinn_slice(struct csinn_tensor *input, struct csinn_tensor *output,
  445. struct csinn_slice_params *params);
  446. int csinn_split_init(struct csinn_tensor *input, struct csinn_tensor **output,
  447. struct csinn_split_params *params);
  448. int csinn_split(struct csinn_tensor *input, struct csinn_tensor **output,
  449. struct csinn_split_params *params);
  450. int csinn_stack_init(struct csinn_tensor **inputs, struct csinn_tensor *output,
  451. struct csinn_stack_params *params);
  452. int csinn_stack(struct csinn_tensor **inputs, struct csinn_tensor *output,
  453. struct csinn_stack_params *params);
  454. int csinn_unstack_init(struct csinn_tensor *input, struct csinn_tensor **output,
  455. struct csinn_unstack_params *params);
  456. int csinn_unstack(struct csinn_tensor *input, struct csinn_tensor **output,
  457. struct csinn_unstack_params *params);
  458. int csinn_tile_init(struct csinn_tensor *inputs, struct csinn_tensor *output,
  459. struct csinn_tile_params *params);
  460. int csinn_tile(struct csinn_tensor *inputs, struct csinn_tensor *output,
  461. struct csinn_tile_params *params);
  462. int csinn_arange_init(struct csinn_tensor *output, struct csinn_arange_params *params);
  463. int csinn_arange(struct csinn_tensor *output, struct csinn_arange_params *params);
  464. int csinn_where_init(struct csinn_tensor *condition, struct csinn_tensor *x, struct csinn_tensor *y,
  465. struct csinn_tensor *output, struct csinn_where_params *params);
  466. int csinn_where(struct csinn_tensor *condition, struct csinn_tensor *x, struct csinn_tensor *y,
  467. struct csinn_tensor *output, struct csinn_where_params *params);
  468. int csinn_gather_init(struct csinn_tensor *input, struct csinn_tensor *indices,
  469. struct csinn_tensor *output, struct csinn_gather_params *params);
  470. int csinn_gather(struct csinn_tensor *input, struct csinn_tensor *indices,
  471. struct csinn_tensor *output, struct csinn_gather_params *params);
  472. int csinn_gather_nd_init(struct csinn_tensor *input, struct csinn_tensor *indices,
  473. struct csinn_tensor *output, struct csinn_gather_nd_params *params);
  474. int csinn_gather_nd(struct csinn_tensor *input, struct csinn_tensor *indices,
  475. struct csinn_tensor *output, struct csinn_gather_nd_params *params);
  476. int csinn_squeeze_init(struct csinn_tensor *input, struct csinn_tensor *output,
  477. struct csinn_squeeze_params *params);
  478. int csinn_squeeze(struct csinn_tensor *input, struct csinn_tensor *output,
  479. struct csinn_squeeze_params *params);
  480. int csinn_ndarray_size_init(struct csinn_tensor *input, struct csinn_tensor *output,
  481. struct csinn_ndarray_size_params *params);
  482. int csinn_ndarray_size(struct csinn_tensor *input, struct csinn_tensor *output,
  483. struct csinn_ndarray_size_params *params);
  484. int csinn_space_to_batch_init(struct csinn_tensor *input, struct csinn_tensor *output,
  485. struct csinn_space_to_batch_params *params);
  486. int csinn_space_to_batch(struct csinn_tensor *input, struct csinn_tensor *output,
  487. struct csinn_space_to_batch_params *params);
  488. int csinn_space_to_batch_nd_init(struct csinn_tensor *input, struct csinn_tensor *output,
  489. struct csinn_space_to_batch_nd_params *params);
  490. int csinn_space_to_batch_nd(struct csinn_tensor *input, struct csinn_tensor *output,
  491. struct csinn_space_to_batch_nd_params *params);
  492. int csinn_batch_to_space_init(struct csinn_tensor *input, struct csinn_tensor *output,
  493. struct csinn_batch_to_space_params *params);
  494. int csinn_batch_to_space(struct csinn_tensor *input, struct csinn_tensor *output,
  495. struct csinn_batch_to_space_params *params);
  496. int csinn_batch_to_space_nd_init(struct csinn_tensor *input, struct csinn_tensor *output,
  497. struct csinn_batch_to_space_nd_params *params);
  498. int csinn_batch_to_space_nd(struct csinn_tensor *input, struct csinn_tensor *output,
  499. struct csinn_batch_to_space_nd_params *params);
  500. int csinn_space_to_depth_init(struct csinn_tensor *input, struct csinn_tensor *output,
  501. struct csinn_space_to_depth_params *params);
  502. int csinn_space_to_depth(struct csinn_tensor *input, struct csinn_tensor *output,
  503. struct csinn_space_to_depth_params *params);
  504. int csinn_depth_to_space_init(struct csinn_tensor *input, struct csinn_tensor *output,
  505. struct csinn_depth_to_space_params *params);
  506. int csinn_depth_to_space(struct csinn_tensor *input, struct csinn_tensor *output,
  507. struct csinn_depth_to_space_params *params);
  508. int csinn_one_hot_init(struct csinn_tensor *input, struct csinn_tensor *output,
  509. struct csinn_one_hot_params *params);
  510. int csinn_one_hot(struct csinn_tensor *input, struct csinn_tensor *output,
  511. struct csinn_one_hot_params *params);
  512. int csinn_sequence_mask_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  513. struct csinn_tensor *output,
  514. struct csinn_sequence_mask_params *params);
  515. int csinn_sequence_mask(struct csinn_tensor *input0, struct csinn_tensor *input1,
  516. struct csinn_tensor *output, struct csinn_sequence_mask_params *params);
  517. int csinn_im2col_init(struct csinn_tensor *input, struct csinn_tensor *output,
  518. struct csinn_im2col_params *params);
  519. int csinn_im2col(struct csinn_tensor *input, struct csinn_tensor *output,
  520. struct csinn_im2col_params *params);
  521. int csinn_col2im_init(struct csinn_tensor *input, struct csinn_tensor *output,
  522. struct csinn_tensor *kernel, struct csinn_col2im_params *params);
  523. int csinn_col2im(struct csinn_tensor *input, struct csinn_tensor *output,
  524. struct csinn_tensor *kernel, struct csinn_col2im_params *params);
  525. int csinn_sum_init(struct csinn_tensor *input, struct csinn_tensor *output,
  526. struct csinn_reduce_params *params);
  527. int csinn_sum(struct csinn_tensor *input, struct csinn_tensor *output,
  528. struct csinn_reduce_params *params);
  529. int csinn_mean_init(struct csinn_tensor *input, struct csinn_tensor *output,
  530. struct csinn_reduce_params *params);
  531. int csinn_mean(struct csinn_tensor *input, struct csinn_tensor *output,
  532. struct csinn_reduce_params *params);
  533. int csinn_max_init(struct csinn_tensor *input, struct csinn_tensor *output,
  534. struct csinn_reduce_params *params);
  535. int csinn_max(struct csinn_tensor *input, struct csinn_tensor *output,
  536. struct csinn_reduce_params *params);
  537. int csinn_min_init(struct csinn_tensor *input, struct csinn_tensor *output,
  538. struct csinn_reduce_params *params);
  539. int csinn_min(struct csinn_tensor *input, struct csinn_tensor *output,
  540. struct csinn_reduce_params *params);
  541. int csinn_prod_init(struct csinn_tensor *input, struct csinn_tensor *output,
  542. struct csinn_reduce_params *params);
  543. int csinn_prod(struct csinn_tensor *input, struct csinn_tensor *output,
  544. struct csinn_reduce_params *params);
  545. int csinn_argmin_init(struct csinn_tensor *input, struct csinn_tensor *output,
  546. struct csinn_reduce_params *params);
  547. int csinn_argmin(struct csinn_tensor *input, struct csinn_tensor *output,
  548. struct csinn_reduce_params *params);
  549. int csinn_argmax_init(struct csinn_tensor *input, struct csinn_tensor *output,
  550. struct csinn_reduce_params *params);
  551. int csinn_argmax(struct csinn_tensor *input, struct csinn_tensor *output,
  552. struct csinn_reduce_params *params);
  553. int csinn_all_init(struct csinn_tensor *input, struct csinn_tensor *output,
  554. struct csinn_reduce_params *params);
  555. int csinn_all(struct csinn_tensor *input, struct csinn_tensor *output,
  556. struct csinn_reduce_params *params);
  557. int csinn_any_init(struct csinn_tensor *input, struct csinn_tensor *output,
  558. struct csinn_reduce_params *params);
  559. int csinn_any(struct csinn_tensor *input, struct csinn_tensor *output,
  560. struct csinn_reduce_params *params);
  561. int csinn_reorg_init(struct csinn_tensor *input, struct csinn_tensor *output,
  562. struct csinn_reorg_params *params);
  563. int csinn_reorg(struct csinn_tensor *input, struct csinn_tensor *output,
  564. struct csinn_reorg_params *params);
  565. int csinn_yuv_rgb_scale_init(struct csinn_tensor *input, struct csinn_tensor *output,
  566. struct csinn_siso_params *params);
  567. int csinn_yuv_rgb_scale(struct csinn_tensor *input, struct csinn_tensor *output,
  568. struct csinn_siso_params *params);
  569. int csinn_segment_max_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  570. struct csinn_tensor *output, struct csinn_segment_params *params);
  571. int csinn_segment_max(struct csinn_tensor *input0, struct csinn_tensor *input1,
  572. struct csinn_tensor *output, struct csinn_segment_params *params);
  573. int csinn_segment_min_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  574. struct csinn_tensor *output, struct csinn_segment_params *params);
  575. int csinn_segment_min(struct csinn_tensor *input0, struct csinn_tensor *input1,
  576. struct csinn_tensor *output, struct csinn_segment_params *params);
  577. int csinn_segment_sum_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  578. struct csinn_tensor *output, struct csinn_segment_params *params);
  579. int csinn_segment_sum(struct csinn_tensor *input0, struct csinn_tensor *input1,
  580. struct csinn_tensor *output, struct csinn_segment_params *params);
  581. int csinn_segment_mean_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  582. struct csinn_tensor *output, struct csinn_segment_params *params);
  583. int csinn_segment_mean(struct csinn_tensor *input0, struct csinn_tensor *input1,
  584. struct csinn_tensor *output, struct csinn_segment_params *params);
  585. int csinn_segment_prod_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  586. struct csinn_tensor *output, struct csinn_segment_params *params);
  587. int csinn_segment_prod(struct csinn_tensor *input0, struct csinn_tensor *input1,
  588. struct csinn_tensor *output, struct csinn_segment_params *params);
  589. int csinn_threshold_relu_init(struct csinn_tensor *input, struct csinn_tensor *output,
  590. struct csinn_relu_params *params);
  591. int csinn_threshold_relu(struct csinn_tensor *input, struct csinn_tensor *output,
  592. struct csinn_relu_params *params);
  593. int csinn_acos_init(struct csinn_tensor *input, struct csinn_tensor *output,
  594. struct csinn_siso_params *params);
  595. int csinn_acos(struct csinn_tensor *input, struct csinn_tensor *output,
  596. struct csinn_siso_params *params);
  597. int csinn_acosh_init(struct csinn_tensor *input, struct csinn_tensor *output,
  598. struct csinn_siso_params *params);
  599. int csinn_acosh(struct csinn_tensor *input, struct csinn_tensor *output,
  600. struct csinn_siso_params *params);
  601. int csinn_asin_init(struct csinn_tensor *input, struct csinn_tensor *output,
  602. struct csinn_siso_params *params);
  603. int csinn_asin(struct csinn_tensor *input, struct csinn_tensor *output,
  604. struct csinn_siso_params *params);
  605. int csinn_asinh_init(struct csinn_tensor *input, struct csinn_tensor *output,
  606. struct csinn_siso_params *params);
  607. int csinn_asinh(struct csinn_tensor *input, struct csinn_tensor *output,
  608. struct csinn_siso_params *params);
  609. int csinn_atan_init(struct csinn_tensor *input, struct csinn_tensor *output,
  610. struct csinn_siso_params *params);
  611. int csinn_atan(struct csinn_tensor *input, struct csinn_tensor *output,
  612. struct csinn_siso_params *params);
  613. int csinn_atanh_init(struct csinn_tensor *input, struct csinn_tensor *output,
  614. struct csinn_siso_params *params);
  615. int csinn_atanh(struct csinn_tensor *input, struct csinn_tensor *output,
  616. struct csinn_siso_params *params);
  617. int csinn_cosh_init(struct csinn_tensor *input, struct csinn_tensor *output,
  618. struct csinn_siso_params *params);
  619. int csinn_cosh(struct csinn_tensor *input, struct csinn_tensor *output,
  620. struct csinn_siso_params *params);
  621. int csinn_sinh_init(struct csinn_tensor *input, struct csinn_tensor *output,
  622. struct csinn_siso_params *params);
  623. int csinn_sinh(struct csinn_tensor *input, struct csinn_tensor *output,
  624. struct csinn_siso_params *params);
  625. int csinn_tan_init(struct csinn_tensor *input, struct csinn_tensor *output,
  626. struct csinn_siso_params *params);
  627. int csinn_tan(struct csinn_tensor *input, struct csinn_tensor *output,
  628. struct csinn_siso_params *params);
  629. int csinn_log1p_init(struct csinn_tensor *input, struct csinn_tensor *output,
  630. struct csinn_siso_params *params);
  631. int csinn_log1p(struct csinn_tensor *input, struct csinn_tensor *output,
  632. struct csinn_siso_params *params);
  633. int csinn_softsign_init(struct csinn_tensor *input, struct csinn_tensor *output,
  634. struct csinn_siso_params *params);
  635. int csinn_softsign(struct csinn_tensor *input, struct csinn_tensor *output,
  636. struct csinn_siso_params *params);
  637. int csinn_erf_init(struct csinn_tensor *input, struct csinn_tensor *output,
  638. struct csinn_siso_params *params);
  639. int csinn_erf(struct csinn_tensor *input, struct csinn_tensor *output,
  640. struct csinn_siso_params *params);
  641. int csinn_cumsum_init(struct csinn_tensor *input, struct csinn_tensor *output,
  642. struct csinn_cumsum_params *params);
  643. int csinn_cumsum(struct csinn_tensor *input, struct csinn_tensor *output,
  644. struct csinn_cumsum_params *params);
  645. int csinn_cumprod_init(struct csinn_tensor *input, struct csinn_tensor *output,
  646. struct csinn_cumprod_params *params);
  647. int csinn_cumprod(struct csinn_tensor *input, struct csinn_tensor *output,
  648. struct csinn_cumprod_params *params);
  649. int csinn_reduce_max_init(struct csinn_tensor *input, struct csinn_tensor *output,
  650. struct csinn_reduce_params *params);
  651. int csinn_reduce_max(struct csinn_tensor *input, struct csinn_tensor *output,
  652. struct csinn_reduce_params *params);
  653. int csinn_reduce_min_init(struct csinn_tensor *input, struct csinn_tensor *output,
  654. struct csinn_reduce_params *params);
  655. int csinn_reduce_min(struct csinn_tensor *input, struct csinn_tensor *output,
  656. struct csinn_reduce_params *params);
  657. int csinn_reduce_mean_init(struct csinn_tensor *input, struct csinn_tensor *output,
  658. struct csinn_reduce_params *params);
  659. int csinn_reduce_mean(struct csinn_tensor *input, struct csinn_tensor *output,
  660. struct csinn_reduce_params *params);
  661. int csinn_reduce_sum_init(struct csinn_tensor *input, struct csinn_tensor *output,
  662. struct csinn_reduce_params *params);
  663. int csinn_reduce_sum(struct csinn_tensor *input, struct csinn_tensor *output,
  664. struct csinn_reduce_params *params);
  665. int csinn_reduce_prod_init(struct csinn_tensor *input, struct csinn_tensor *output,
  666. struct csinn_reduce_params *params);
  667. int csinn_reduce_prod(struct csinn_tensor *input, struct csinn_tensor *output,
  668. struct csinn_reduce_params *params);
  669. int csinn_reduce_logsumexp_init(struct csinn_tensor *input, struct csinn_tensor *output,
  670. struct csinn_reduce_params *params);
  671. int csinn_reduce_logsumexp(struct csinn_tensor *input, struct csinn_tensor *output,
  672. struct csinn_reduce_params *params);
  673. int csinn_broadcast_to_init(struct csinn_tensor *input, struct csinn_tensor *output,
  674. struct csinn_broadcast_to_params *params);
  675. int csinn_broadcast_to(struct csinn_tensor *input, struct csinn_tensor *output,
  676. struct csinn_broadcast_to_params *params);
  677. int csinn_scatter_nd_init(struct csinn_tensor *input, struct csinn_tensor *indices,
  678. struct csinn_tensor *updates, struct csinn_tensor *output,
  679. struct csinn_scatter_nd_params *params);
  680. int csinn_scatter_nd(struct csinn_tensor *input, struct csinn_tensor *indices,
  681. struct csinn_tensor *updates, struct csinn_tensor *output,
  682. struct csinn_scatter_nd_params *params);
  683. int csinn_clip_init(struct csinn_tensor *input, struct csinn_tensor *output,
  684. struct csinn_clip_params *params);
  685. int csinn_clip(struct csinn_tensor *input, struct csinn_tensor *output,
  686. struct csinn_clip_params *params);
  687. int csinn_strided_slice_init(struct csinn_tensor *input, struct csinn_tensor *output,
  688. struct csinn_strided_slice_params *params);
  689. int csinn_strided_slice(struct csinn_tensor *input, struct csinn_tensor *output,
  690. struct csinn_strided_slice_params *params);
  691. int csinn_topk_init(struct csinn_tensor *input, struct csinn_tensor *output1,
  692. struct csinn_tensor *output2, struct csinn_topk_params *params);
  693. int csinn_topk(struct csinn_tensor *input, struct csinn_tensor *output1,
  694. struct csinn_tensor *output2, struct csinn_topk_params *params);
  695. int csinn_non_max_suppression_init(struct csinn_tensor *input0, struct csinn_tensor *input1,
  696. struct csinn_tensor *output,
  697. struct csinn_non_max_suppression_params *params);
  698. int csinn_non_max_suppression(struct csinn_tensor *input0, struct csinn_tensor *input1,
  699. struct csinn_tensor *output,
  700. struct csinn_non_max_suppression_params *params);
  701. int csinn_shuffle_channel_init(struct csinn_tensor *input, struct csinn_tensor *output,
  702. struct csinn_shuffle_channel_params *params);
  703. int csinn_shuffle_channel(struct csinn_tensor *input, struct csinn_tensor *output,
  704. struct csinn_shuffle_channel_params *params);
  705. int csinn_roipool_init(struct csinn_tensor *data, struct csinn_tensor *rois,
  706. struct csinn_tensor *output, struct csinn_roi_pool_params *params);
  707. int csinn_roipool(struct csinn_tensor *data, struct csinn_tensor *rois, struct csinn_tensor *output,
  708. struct csinn_roi_pool_params *params);
  709. int csinn_layer_norm_init(struct csinn_tensor *input, struct csinn_tensor *output,
  710. struct csinn_tensor *gamma, struct csinn_tensor *beta,
  711. struct csinn_layer_norm_params *params);
  712. int csinn_layer_norm(struct csinn_tensor *input, struct csinn_tensor *output,
  713. struct csinn_tensor *gamma, struct csinn_tensor *beta,
  714. struct csinn_layer_norm_params *params);
  715. int csinn_cache_matmul_init(struct csinn_tensor *input, struct csinn_tensor *output,
  716. struct csinn_tensor *weight, struct csinn_tensor *bias,
  717. struct csinn_cache_matmul_params *params);
  718. int csinn_cache_matmul(struct csinn_tensor *input, struct csinn_tensor *output,
  719. struct csinn_tensor *weight, struct csinn_tensor *bias,
  720. struct csinn_cache_matmul_params *params);
  721. int csinn_cache_conv1d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  722. struct csinn_tensor *weight, struct csinn_tensor *bias,
  723. struct csinn_cache_conv1d_params *params);
  724. int csinn_cache_conv1d(struct csinn_tensor *input, struct csinn_tensor *output,
  725. struct csinn_tensor *weight, struct csinn_tensor *bias,
  726. struct csinn_cache_conv1d_params *params);
  727. int csinn_conv1d_init(struct csinn_tensor *input, struct csinn_tensor *output,
  728. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  729. struct csinn_conv1d_params *params);
  730. int csinn_conv1d(struct csinn_tensor *input, struct csinn_tensor *output,
  731. struct csinn_tensor *kernel, struct csinn_tensor *bias,
  732. struct csinn_conv1d_params *params);
  733. int csinn_data_convert_init(struct csinn_tensor *input, struct csinn_tensor *output,
  734. struct csinn_siso_params *params);
  735. int csinn_data_convert(struct csinn_tensor *input, struct csinn_tensor *output,
  736. struct csinn_siso_params *params);
  737. #ifdef __cplusplus
  738. }
  739. #endif
  740. #endif // INCLUDE_CSI_NN_H_