1 /* Copyright 2019 The TensorFlow Authors. All Rights Reserved. 2 3 Licensed under the Apache License, Version 2.0 (the "License"); 4 you may not use this file except in compliance with the License. 5 You may obtain a copy of the License at 6 7 http://www.apache.org/licenses/LICENSE-2.0 8 9 Unless required by applicable law or agreed to in writing, software 10 distributed under the License is distributed on an "AS IS" BASIS, 11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 See the License for the specific language governing permissions and 13 limitations under the License. 14 ==============================================================================*/ 15 #ifndef TENSORFLOW_LITE_KERNELS_BUILTIN_OP_KERNELS_H_ 16 #define TENSORFLOW_LITE_KERNELS_BUILTIN_OP_KERNELS_H_ 17 18 #include "tensorflow/lite/c/common.h" 19 20 namespace tflite { 21 namespace ops { 22 namespace builtin { 23 24 // Forward declaration of all builtin op kernel registration methods. These 25 // registrations are included with the standard `BuiltinOpResolver`. 26 // 27 // This header is particularly useful in cases where only a subset of ops are 28 // needed. In such cases, the client can selectively add only the registrations 29 // their model requires, using a custom `OpResolver` or `MutableOpResolver`. 30 // Selective registration in turn allows the linker to strip unused kernels. 31 32 TfLiteRegistration* Register_ABS(); 33 TfLiteRegistration* Register_ADD(); 34 TfLiteRegistration* Register_ADD_N(); 35 TfLiteRegistration* Register_ARG_MAX(); 36 TfLiteRegistration* Register_ARG_MIN(); 37 TfLiteRegistration* Register_AVERAGE_POOL_2D(); 38 TfLiteRegistration* Register_BATCH_TO_SPACE_ND(); 39 TfLiteRegistration* Register_BATCH_MATMUL(); 40 TfLiteRegistration* Register_BIDIRECTIONAL_SEQUENCE_LSTM(); 41 TfLiteRegistration* Register_BIDIRECTIONAL_SEQUENCE_RNN(); 42 TfLiteRegistration* Register_BROADCAST_TO(); 43 TfLiteRegistration* Register_CALL_ONCE(); 44 TfLiteRegistration* Register_CAST(); 45 TfLiteRegistration* Register_CEIL(); 46 TfLiteRegistration* Register_COMPLEX_ABS(); 47 TfLiteRegistration* Register_CONCATENATION(); 48 TfLiteRegistration* Register_CONV_2D(); 49 TfLiteRegistration* Register_CONV_3D(); 50 TfLiteRegistration* Register_COS(); 51 TfLiteRegistration* Register_CUMSUM(); 52 TfLiteRegistration* Register_DENSIFY(); 53 TfLiteRegistration* Register_DEPTH_TO_SPACE(); 54 TfLiteRegistration* Register_DEPTHWISE_CONV_2D(); 55 TfLiteRegistration* Register_DEQUANTIZE(); 56 TfLiteRegistration* Register_DIV(); 57 TfLiteRegistration* Register_ELU(); 58 TfLiteRegistration* Register_EMBEDDING_LOOKUP(); 59 TfLiteRegistration* Register_EMBEDDING_LOOKUP_SPARSE(); 60 TfLiteRegistration* Register_EQUAL(); 61 TfLiteRegistration* Register_EXP(); 62 TfLiteRegistration* Register_EXPAND_DIMS(); 63 TfLiteRegistration* Register_FAKE_QUANT(); 64 TfLiteRegistration* Register_FILL(); 65 TfLiteRegistration* Register_FLOOR(); 66 TfLiteRegistration* Register_FLOOR_DIV(); 67 TfLiteRegistration* Register_FLOOR_MOD(); 68 TfLiteRegistration* Register_FULLY_CONNECTED(); 69 TfLiteRegistration* Register_GATHER(); 70 TfLiteRegistration* Register_GATHER_ND(); 71 TfLiteRegistration* Register_GREATER(); 72 TfLiteRegistration* Register_GREATER_EQUAL(); 73 TfLiteRegistration* Register_HARD_SWISH(); 74 TfLiteRegistration* Register_HASHTABLE_LOOKUP(); 75 TfLiteRegistration* Register_IF(); 76 TfLiteRegistration* Register_IMAG(); 77 TfLiteRegistration* Register_L2_NORMALIZATION(); 78 TfLiteRegistration* Register_L2_POOL_2D(); 79 TfLiteRegistration* Register_LEAKY_RELU(); 80 TfLiteRegistration* Register_LESS(); 81 TfLiteRegistration* Register_LESS_EQUAL(); 82 TfLiteRegistration* Register_LOCAL_RESPONSE_NORMALIZATION(); 83 TfLiteRegistration* Register_LOG(); 84 TfLiteRegistration* Register_LOGICAL_AND(); 85 TfLiteRegistration* Register_LOGICAL_NOT(); 86 TfLiteRegistration* Register_LOGICAL_OR(); 87 TfLiteRegistration* Register_LOGISTIC(); 88 TfLiteRegistration* Register_LOG_SOFTMAX(); 89 TfLiteRegistration* Register_LSH_PROJECTION(); 90 TfLiteRegistration* Register_LSTM(); 91 TfLiteRegistration* Register_MATRIX_DIAG(); 92 TfLiteRegistration* Register_MATRIX_SET_DIAG(); 93 TfLiteRegistration* Register_MAXIMUM(); 94 TfLiteRegistration* Register_MAX_POOL_2D(); 95 TfLiteRegistration* Register_MEAN(); 96 TfLiteRegistration* Register_MINIMUM(); 97 TfLiteRegistration* Register_MIRROR_PAD(); 98 TfLiteRegistration* Register_MUL(); 99 TfLiteRegistration* Register_NEG(); 100 TfLiteRegistration* Register_NON_MAX_SUPPRESSION_V4(); 101 TfLiteRegistration* Register_NON_MAX_SUPPRESSION_V5(); 102 TfLiteRegistration* Register_NOT_EQUAL(); 103 TfLiteRegistration* Register_ONE_HOT(); 104 TfLiteRegistration* Register_PACK(); 105 TfLiteRegistration* Register_PAD(); 106 TfLiteRegistration* Register_PADV2(); 107 TfLiteRegistration* Register_POW(); 108 TfLiteRegistration* Register_PRELU(); 109 TfLiteRegistration* Register_QUANTIZE(); 110 TfLiteRegistration* Register_RANGE(); 111 TfLiteRegistration* Register_RANK(); 112 TfLiteRegistration* Register_REAL(); 113 TfLiteRegistration* Register_REDUCE_ANY(); 114 TfLiteRegistration* Register_REDUCE_MAX(); 115 TfLiteRegistration* Register_REDUCE_MIN(); 116 TfLiteRegistration* Register_REDUCE_PROD(); 117 TfLiteRegistration* Register_RELU(); 118 TfLiteRegistration* Register_RELU6(); 119 TfLiteRegistration* Register_RELU_N1_TO_1(); 120 TfLiteRegistration* Register_RESHAPE(); 121 TfLiteRegistration* Register_RESIZE_BILINEAR(); 122 TfLiteRegistration* Register_RESIZE_NEAREST_NEIGHBOR(); 123 TfLiteRegistration* Register_REVERSE_SEQUENCE(); 124 TfLiteRegistration* Register_REVERSE_V2(); 125 TfLiteRegistration* Register_RFFT2D(); 126 TfLiteRegistration* Register_RNN(); 127 TfLiteRegistration* Register_ROUND(); 128 TfLiteRegistration* Register_RSQRT(); 129 TfLiteRegistration* Register_SCATTER_ND(); 130 TfLiteRegistration* Register_SEGMENT_SUM(); 131 TfLiteRegistration* Register_SELECT(); 132 TfLiteRegistration* Register_SELECT_V2(); 133 TfLiteRegistration* Register_SHAPE(); 134 TfLiteRegistration* Register_SIN(); 135 TfLiteRegistration* Register_SKIP_GRAM(); 136 TfLiteRegistration* Register_SLICE(); 137 TfLiteRegistration* Register_SOFTMAX(); 138 TfLiteRegistration* Register_SPACE_TO_BATCH_ND(); 139 TfLiteRegistration* Register_SPACE_TO_DEPTH(); 140 TfLiteRegistration* Register_SPARSE_TO_DENSE(); 141 TfLiteRegistration* Register_SPLIT(); 142 TfLiteRegistration* Register_SPLIT_V(); 143 TfLiteRegistration* Register_SQRT(); 144 TfLiteRegistration* Register_SQUARE(); 145 TfLiteRegistration* Register_SQUARED_DIFFERENCE(); 146 TfLiteRegistration* Register_SQUEEZE(); 147 TfLiteRegistration* Register_STRIDED_SLICE(); 148 TfLiteRegistration* Register_SUB(); 149 TfLiteRegistration* Register_SUM(); 150 TfLiteRegistration* Register_SVDF(); 151 TfLiteRegistration* Register_TANH(); 152 TfLiteRegistration* Register_TILE(); 153 TfLiteRegistration* Register_TOPK_V2(); 154 TfLiteRegistration* Register_TRANSPOSE(); 155 TfLiteRegistration* Register_TRANSPOSE_CONV(); 156 TfLiteRegistration* Register_UNIDIRECTIONAL_SEQUENCE_LSTM(); 157 TfLiteRegistration* Register_UNIDIRECTIONAL_SEQUENCE_RNN(); 158 TfLiteRegistration* Register_UNIQUE(); 159 TfLiteRegistration* Register_UNPACK(); 160 TfLiteRegistration* Register_WHERE(); 161 TfLiteRegistration* Register_WHILE(); 162 TfLiteRegistration* Register_ZEROS_LIKE(); 163 164 } // namespace builtin 165 } // namespace ops 166 } // namespace tflite 167 168 #endif // TENSORFLOW_LITE_KERNELS_BUILTIN_OP_KERNELS_H_ 169