Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 1 | // Copyright 2020 Google LLC |
| 2 | // |
| 3 | // This source code is licensed under the BSD-style license found in the |
| 4 | // LICENSE file in the root directory of this source tree. |
| 5 | |
| 6 | #include <math.h> |
| 7 | #include <stddef.h> |
| 8 | #include <stdint.h> |
| 9 | |
| 10 | #include <xnnpack/common.h> |
| 11 | #include <xnnpack/log.h> |
| 12 | #include <xnnpack/subgraph.h> |
| 13 | |
| 14 | |
Marat Dukhan | 210e35d | 2020-06-04 02:45:57 -0700 | [diff] [blame] | 15 | // This function is defined inline when logging is disabled |
| 16 | #if XNN_LOG_LEVEL > 0 |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 17 | const char* xnn_operator_type_to_string(enum xnn_operator_type type) { |
| 18 | switch (type) { |
| 19 | case xnn_operator_type_invalid: |
| 20 | return "Invalid"; |
Marat Dukhan | 5020b96 | 2020-06-08 13:30:10 -0700 | [diff] [blame] | 21 | case xnn_operator_type_abs_nc_f32: |
| 22 | return "Abs (NC, F32)"; |
Frank Barchard | 01898c0 | 2020-06-23 21:49:50 -0700 | [diff] [blame] | 23 | case xnn_operator_type_add_nd_f16: |
| 24 | return "Add (ND, F16)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 25 | case xnn_operator_type_add_nd_f32: |
| 26 | return "Add (ND, F32)"; |
Marat Dukhan | ff20948 | 2020-09-03 14:26:53 -0700 | [diff] [blame] | 27 | case xnn_operator_type_add_nd_qs8: |
| 28 | return "Add (ND, QS8)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 29 | case xnn_operator_type_argmax_pooling_nhwc_f32: |
| 30 | return "ArgMax Pooling (NHWC, F32)"; |
| 31 | case xnn_operator_type_average_pooling_nhwc_f32: |
| 32 | return "Average Pooling (NHWC, F32)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 33 | case xnn_operator_type_average_pooling_nhwc_qu8: |
| 34 | return "Average Pooling (NHWC, QU8)"; |
Marat Dukhan | 64e5251 | 2020-06-09 13:41:16 -0700 | [diff] [blame] | 35 | case xnn_operator_type_bankers_rounding_nc_f32: |
| 36 | return "Bankers Rounding (NC, F32)"; |
| 37 | case xnn_operator_type_ceiling_nc_f32: |
| 38 | return "Ceiling (NC, F32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 39 | case xnn_operator_type_channel_shuffle_nc_x32: |
| 40 | return "Channel Shuffle (NC, X32)"; |
| 41 | case xnn_operator_type_channel_shuffle_nc_x8: |
| 42 | return "Channel Shuffle (NC, X8)"; |
| 43 | case xnn_operator_type_clamp_nc_f32: |
| 44 | return "Clamp (NC, F32)"; |
| 45 | case xnn_operator_type_clamp_nc_u8: |
| 46 | return "Clamp (NC, U8)"; |
| 47 | case xnn_operator_type_constant_pad_nd_x32: |
| 48 | return "Constant Pad (ND, X32)"; |
Frank Barchard | 49b4dcc | 2020-06-26 14:07:19 -0700 | [diff] [blame] | 49 | case xnn_operator_type_convolution_nhwc_f16: |
| 50 | return "Convolution (NHWC, F16)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 51 | case xnn_operator_type_convolution_nhwc_f32: |
| 52 | return "Convolution (NHWC, F32)"; |
Marat Dukhan | 16f1e1a | 2020-08-04 16:38:22 -0700 | [diff] [blame] | 53 | case xnn_operator_type_convolution_nhwc_qs8: |
| 54 | return "Convolution (NHWC, QS8)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 55 | case xnn_operator_type_convolution_nhwc_qu8: |
| 56 | return "Convolution (NHWC, QU8)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 57 | case xnn_operator_type_convolution_nchw_f32: |
| 58 | return "Convolution (NCHW, F32)"; |
Marat Dukhan | 4e21b27 | 2020-06-04 18:45:01 -0700 | [diff] [blame] | 59 | case xnn_operator_type_copy_nc_x32: |
| 60 | return "Copy (NC, X32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 61 | case xnn_operator_type_deconvolution_nhwc_f32: |
| 62 | return "Deconvolution (NHWC, F32)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 63 | case xnn_operator_type_deconvolution_nhwc_qu8: |
| 64 | return "Deconvolution (NHWC, QU8)"; |
Artsiom Ablavatski | bbe8506 | 2020-11-05 14:07:37 -0800 | [diff] [blame] | 65 | case xnn_operator_type_depth_to_space_nchw2nhwc_x32: |
Marat Dukhan | bb781b6 | 2020-11-12 13:34:05 -0800 | [diff] [blame^] | 66 | return "Depth To Space (NCHW2NHWC, X32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 67 | case xnn_operator_type_divide_nd_f32: |
| 68 | return "Divide (ND, F32)"; |
Marat Dukhan | 64e5251 | 2020-06-09 13:41:16 -0700 | [diff] [blame] | 69 | case xnn_operator_type_floor_nc_f32: |
| 70 | return "Floor (NC, F32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 71 | case xnn_operator_type_fully_connected_nc_f32: |
| 72 | return "Fully Connected (NC, F32)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 73 | case xnn_operator_type_fully_connected_nc_qu8: |
| 74 | return "Fully Connected (NC, QU8)"; |
Frank Barchard | 7e2cbb0 | 2020-06-12 01:22:13 -0700 | [diff] [blame] | 75 | case xnn_operator_type_global_average_pooling_nwc_f16: |
| 76 | return "Global Average Pooling (NWC, F16)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 77 | case xnn_operator_type_global_average_pooling_nwc_f32: |
| 78 | return "Global Average Pooling (NWC, F32)"; |
Marat Dukhan | 9e0b539 | 2020-08-07 02:29:34 -0700 | [diff] [blame] | 79 | case xnn_operator_type_global_average_pooling_nwc_qs8: |
| 80 | return "Global Average Pooling (NWC, QS8)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 81 | case xnn_operator_type_global_average_pooling_nwc_qu8: |
| 82 | return "Global Average Pooling (NWC, QU8)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 83 | case xnn_operator_type_global_average_pooling_ncw_f32: |
| 84 | return "Global Average Pooling (NCW, F32)"; |
Frank Barchard | a96948e | 2020-09-11 15:34:18 -0700 | [diff] [blame] | 85 | case xnn_operator_type_hardswish_nc_f16: |
| 86 | return "HardSwish (NC, F16)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 87 | case xnn_operator_type_hardswish_nc_f32: |
| 88 | return "HardSwish (NC, F32)"; |
Marat Dukhan | 2881333 | 2020-06-10 18:05:38 -0700 | [diff] [blame] | 89 | case xnn_operator_type_leaky_relu_nc_f32: |
| 90 | return "Leaky ReLU (NC, F32)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 91 | case xnn_operator_type_leaky_relu_nc_qu8: |
| 92 | return "Leaky ReLU (NC, QU8)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 93 | case xnn_operator_type_max_pooling_nhwc_f32: |
| 94 | return "Max Pooling (NHWC, F32)"; |
| 95 | case xnn_operator_type_max_pooling_nhwc_u8: |
| 96 | return "Max Pooling (NHWC, U8)"; |
| 97 | case xnn_operator_type_maximum_nd_f32: |
| 98 | return "Maximum (ND, F32)"; |
| 99 | case xnn_operator_type_minimum_nd_f32: |
| 100 | return "Minimum (ND, F32)"; |
Frank Barchard | 0ea6a77 | 2020-09-09 15:26:31 -0700 | [diff] [blame] | 101 | case xnn_operator_type_multiply_nd_f16: |
| 102 | return "Multiply (ND, F16)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 103 | case xnn_operator_type_multiply_nd_f32: |
| 104 | return "Multiply (ND, F32)"; |
Marat Dukhan | 5020b96 | 2020-06-08 13:30:10 -0700 | [diff] [blame] | 105 | case xnn_operator_type_negate_nc_f32: |
| 106 | return "Negate (NC, F32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 107 | case xnn_operator_type_prelu_nc_f32: |
| 108 | return "PReLU (NC, F32)"; |
| 109 | case xnn_operator_type_resize_bilinear_nhwc_f32: |
| 110 | return "Resize Bilinear (NHWC, F32)"; |
Artsiom Ablavatski | 9791810 | 2020-10-27 15:52:59 -0700 | [diff] [blame] | 111 | case xnn_operator_type_resize_bilinear_nchw_f32: |
| 112 | return "Resize Bilinear (NCHW, F32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 113 | case xnn_operator_type_sigmoid_nc_f32: |
| 114 | return "Sigmoid (NC, F32)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 115 | case xnn_operator_type_sigmoid_nc_qu8: |
| 116 | return "Sigmoid (NC, QU8)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 117 | case xnn_operator_type_softmax_nc_f32: |
| 118 | return "Softmax (NC, F32)"; |
Marat Dukhan | 08b7a97 | 2020-07-14 18:17:29 -0700 | [diff] [blame] | 119 | case xnn_operator_type_softmax_nc_qu8: |
| 120 | return "Softmax (NC, QU8)"; |
Marat Dukhan | 5020b96 | 2020-06-08 13:30:10 -0700 | [diff] [blame] | 121 | case xnn_operator_type_square_nc_f32: |
| 122 | return "Square (NC, F32)"; |
Marat Dukhan | 6804bbd | 2020-06-30 19:26:11 -0700 | [diff] [blame] | 123 | case xnn_operator_type_square_root_nc_f32: |
| 124 | return "Square Root (NC, F32)"; |
Marat Dukhan | f739926 | 2020-06-05 10:58:44 -0700 | [diff] [blame] | 125 | case xnn_operator_type_squared_difference_nd_f32: |
| 126 | return "Squared Difference (NC, F32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 127 | case xnn_operator_type_subtract_nd_f32: |
| 128 | return "Subtract (ND, F32)"; |
Marat Dukhan | 64e5251 | 2020-06-09 13:41:16 -0700 | [diff] [blame] | 129 | case xnn_operator_type_truncation_nc_f32: |
| 130 | return "Truncation (NC, F32)"; |
Marat Dukhan | 3b59de2 | 2020-06-03 20:15:19 -0700 | [diff] [blame] | 131 | case xnn_operator_type_unpooling_nhwc_x32: |
| 132 | return "Unpooling (NHWC, X32)"; |
| 133 | } |
| 134 | XNN_UNREACHABLE; |
| 135 | return NULL; |
| 136 | } |
Marat Dukhan | 210e35d | 2020-06-04 02:45:57 -0700 | [diff] [blame] | 137 | #endif // XNN_LOG_LEVEL > 0 |