1[ 2{ 3 "suite_name" : "test_arm_convolve_s16", 4 "op_type" : "conv", 5 "input_data_type": "int16_t", 6 "weights_data_type": "int8_t", 7 "bias_data_type": "int64_t", 8 "shift_and_mult_data_type": "int32_t", 9 "interpreter": "tensorflow", 10 "tflite_generator": "keras", 11 "groups": 1, 12 "tests" : [ 13 {"name" : "int16xint8", 14 "in_ch" : 55, 15 "out_ch" : 4, 16 "input_w" : 10, 17 "input_h" : 8, 18 "filter_x" : 9, 19 "filter_y": 4, 20 "padding": "VALID" 21 }, 22 {"name" : "int16xint8_spill", 23 "in_ch" : 55, 24 "out_ch" : 9, 25 "input_w" : 10, 26 "input_h" : 8, 27 "filter_x" : 9, 28 "filter_y": 4, 29 "padding": "VALID", 30 "input_min": 32667, 31 "input_max": 32767, 32 "out_activation_min": 32667 33 }, 34 {"name" : "int16xint8_spill2", 35 "in_ch" : 12, 36 "out_ch" : 9, 37 "input_w" : 10, 38 "input_h" : 8, 39 "filter_x" : 9, 40 "filter_y": 4, 41 "padding": "VALID", 42 "out_activation_min": 32667, 43 "input_min": 32667, 44 "input_max": 32767, 45 "weights_min": 100 46 }, 47 {"name" : "requantize_s64", 48 "in_ch" : 8, 49 "out_ch" : 8, 50 "input_w" : 4, 51 "input_h" : 4, 52 "filter_x" : 2, 53 "filter_y": 2, 54 "stride_x": 2, 55 "padding": "VALID", 56 "generate_bias": true, 57 "bias_min": -768, 58 "bias_max": 2147484647 59 }, 60 {"name" : "int16xint8_dilation_1", 61 "in_ch" : 2, 62 "out_ch" : 2, 63 "input_w" : 32, 64 "input_h" : 32, 65 "filter_x" : 2, 66 "filter_y": 2, 67 "padding": "VALID", 68 "dilation_x": 2, 69 "dilation_y": 2, 70 "bias_min": -768, 71 "bias_max": 2147484647 72 }, 73 {"name" : "int16xint8_dilation_2", 74 "in_ch" : 3, 75 "out_ch" : 4, 76 "input_w" : 7, 77 "input_h" : 8, 78 "filter_x" : 2, 79 "filter_y": 4, 80 "batch_size": 2, 81 "padding": "SAME", 82 "dilation_x": 2, 83 "dilation_y": 2, 84 "out_activation_min": -13335 85 }, 86 {"name" : "int16xint8_dilation_3", 87 "in_ch" : 3, 88 "out_ch" : 4, 89 "input_w" : 7, 90 "input_h" : 8, 91 "filter_x" : 2, 92 "filter_y": 4, 93 "padding": "SAME", 94 "dilation_x": 2, 95 "out_activation_min": -23335 96 }, 97 {"name" : "int16xint8xint32_1", 98 "in_ch" : 55, 99 "out_ch" : 4, 100 "input_w" : 10, 101 "input_h" : 8, 102 "filter_x" : 9, 103 "filter_y": 4, 104 "padding": "VALID", 105 "generate_bias": false, 106 "bias_data_type": "int32_t" 107 }, 108 {"name" : "int16xint8xint32_2", 109 "in_ch" : 55, 110 "out_ch" : 9, 111 "input_w" : 10, 112 "input_h" : 8, 113 "filter_x" : 9, 114 "filter_y": 4, 115 "padding": "VALID", 116 "generate_bias": false, 117 "bias_data_type": "int32_t" 118 }, 119 {"name" : "int16xint8xint32_3", 120 "in_ch" : 8, 121 "out_ch" : 8, 122 "input_w" : 4, 123 "input_h" : 4, 124 "filter_x" : 2, 125 "filter_y": 2, 126 "padding": "SAME", 127 "bias_data_type": "int32_t", 128 "bias_min": -768, 129 "bias_max": 2147484647 130 }, 131 {"name" : "int16xint8xint32_4", 132 "in_ch" : 2, 133 "out_ch" : 2, 134 "input_w" : 32, 135 "input_h" : 32, 136 "filter_x" : 2, 137 "filter_y": 2, 138 "padding": "VALID", 139 "bias_data_type": "int32_t", 140 "bias_min": -768, 141 "dilation_x": 2, 142 "dilation_y": 2 143 }, 144 {"name" : "int16xint8xint32_5", 145 "in_ch" : 3, 146 "out_ch" : 4, 147 "input_w" : 7, 148 "input_h" : 8, 149 "filter_x" : 2, 150 "filter_y": 4, 151 "padding": "SAME", 152 "bias_data_type": "int32_t", 153 "dilation_x": 2, 154 "dilation_y": 2, 155 "out_activation_min": -13335, 156 "out_activation_max": 32767 157 }, 158 {"name" : "int16xint8xint32_6", 159 "in_ch" : 3, 160 "out_ch" : 4, 161 "input_w" : 7, 162 "input_h" : 8, 163 "filter_x" : 2, 164 "filter_y": 4, 165 "padding": "SAME", 166 "bias_data_type": "int32_t", 167 "dilation_x": 2 168 } 169 ] 170}, 171{ 172 "suite_name" : "test_arm_lstm_unidirectional_s16", 173 "op_type" : "lstm", 174 "input_data_type": "int16_t", 175 "weights_data_type": "int8_t", 176 "bias_data_type": "int64_t", 177 "interpreter": "tflite_micro", 178 "tflite_generator": "json", 179 "tests" : [ 180 {"name" : "lstm_1_s16", 181 "time_major" : true, 182 "batch_size" : 1, 183 "time_steps" : 10, 184 "input_size" : 22, 185 "hidden_size" : 11, 186 "json_template": "lstm_s16_tm.json" 187 }, 188 {"name" : "lstm_2_s16", 189 "time_major" : false, 190 "batch_size" : 1, 191 "time_steps" : 9, 192 "input_size" : 6, 193 "hidden_size" : 7, 194 "json_template": "lstm_s16.json" 195 }, 196 {"name" : "lstm_one_time_step_s16", 197 "time_major" : false, 198 "batch_size" : 3, 199 "time_steps" : 1, 200 "input_size" : 22, 201 "hidden_size" : 3, 202 "json_template": "lstm_s16.json" 203 } 204 ] 205}, 206{ 207 "suite_name" : "test_arm_lstm_unidirectional_s8", 208 "op_type" : "lstm", 209 "input_data_type": "int8_t", 210 "weights_data_type": "int8_t", 211 "bias_data_type": "int32_t", 212 "interpreter": "tensorflow", 213 "tflite_generator": "keras", 214 "tests" : [ 215 {"name" : "lstm_1", 216 "time_major" : true, 217 "batch_size" : 1, 218 "time_steps" : 10, 219 "input_size" : 22, 220 "hidden_size" : 11 221 }, 222 {"name" : "lstm_2", 223 "time_major" : false, 224 "batch_size" : 1, 225 "time_steps" : 9, 226 "input_size" : 6, 227 "hidden_size" : 7 228 }, 229 {"name" : "lstm_one_time_step", 230 "time_major" : false, 231 "batch_size" : 3, 232 "time_steps" : 1, 233 "input_size" : 22, 234 "hidden_size" : 3 235 } 236 ] 237}, 238{ 239 "suite_name" : "test_arm_fully_connected_s4", 240 "op_type" : "fully_connected", 241 "input_data_type": "int8_t", 242 "weights_data_type": "int8_t", 243 "bias_data_type": "int32_t", 244 "interpreter": "tensorflow", 245 "tflite_generator": "json", 246 "w_type": "INT4", 247 "w_scale": 0.005, 248 "w_zp": 0, 249 "bias_scale": 0.00002, 250 "bias_zp": 0, 251 "output_scale": 0.1, 252 "input_scale": 0.1, 253 "tests" : [ 254 {"name" : "fully_connected_int4", 255 "in_ch" : 82, 256 "out_ch" : 21, 257 "bias_min": -128, 258 "bias_max": 127, 259 "input_zp": 3, 260 "output_zp": -3 261 }, 262 {"name" : "fully_connected_int4_2", 263 "in_ch" : 84, 264 "out_ch" : 23, 265 "bias_min": -128, 266 "bias_max": 127, 267 "input_zp": -4, 268 "output_zp": 16 269 }, 270 {"name" : "fully_connected_int4_3", 271 "in_ch" : 86, 272 "out_ch" : 25, 273 "bias_min": -128, 274 "bias_max": 127, 275 "input_zp": 1, 276 "output_zp": 0 277 }, 278 {"name" : "fully_connected_int4_4", 279 "in_ch" : 85, 280 "out_ch" : 19, 281 "generate_bias": false, 282 "input_zp": -2, 283 "output_zp": 0 284 }, 285 {"name" : "fully_connected_int4_5", 286 "in_ch" : 89, 287 "out_ch" : 22, 288 "input_zp": 120, 289 "output_zp": 100 290 }, 291 {"name" : "fully_connected_int4_6", 292 "in_ch" : 89, 293 "out_ch" : 22, 294 "generate_bias": false, 295 "input_zp": -127, 296 "output_zp": 128 297 } 298 299 ] 300} 301] 302