@@ -29,7 +29,7 @@ set(CMAKE_CXX_EXTENSIONS NO)
2929# (We need to do this even if HANNK_BUILD_TFLITE is off,
3030# so that the .tflite file parser can get the right schema)
3131set (TFLITE_VERSION_MAJOR "2" CACHE STRING "Major version of TFLite to assume" )
32- set (TFLITE_VERSION_MINOR "19 " CACHE STRING "Minor version of TFLite to assume" )
32+ set (TFLITE_VERSION_MINOR "21 " CACHE STRING "Minor version of TFLite to assume" )
3333set (TFLITE_VERSION_PATCH "0" CACHE STRING "Patch version of TFLite to assume" )
3434set (TFLITE_VERSION "${TFLITE_VERSION_MAJOR} .${TFLITE_VERSION_MINOR} .${TFLITE_VERSION_PATCH} " )
3535
@@ -44,6 +44,14 @@ add_compile_definitions(HANNK_BUILD_TFLITE=$<BOOL:${HANNK_BUILD_TFLITE}>)
4444
4545# Find HalideHelpers -- this is just the Runtime headers and CMake functions, but no libraries
4646find_package (HalideHelpers REQUIRED )
47+ if (HANNK_BUILD_TFLITE)
48+ find_package (tensorflow-lite CONFIG REQUIRED )
49+ endif ()
50+
51+ # Canonical include root for hannk headers (e.g. "util/error_util.h").
52+ add_library (hannk_headers INTERFACE )
53+ target_include_directories (hannk_headers INTERFACE
54+ $<BUILD_INTERFACE :${hannk_SOURCE_DIR} >)
4755
4856# ----------------------------
4957
@@ -107,7 +115,129 @@ if (Halide_TARGET MATCHES "wasm" AND NODE_JS_EXECUTABLE)
107115endif ()
108116
109117# Tests
110- file (GLOB TEST_FILES CONFIGURE_DEPENDS "test/*/*.tflite" )
118+
119+ set (TEST_FILES
120+ inception_v2_224_quant/000.DEPTHWISE_CONV_2D.tflite
121+ inception_v4_299_quant/000.CONV_2D.tflite
122+ inception_v4_299_quant/001.CONV_2D.tflite
123+ inception_v4_299_quant/002.CONV_2D.tflite
124+ inception_v4_299_quant/003.MAX_POOL_2D.tflite
125+ inception_v4_299_quant/004.CONV_2D.tflite
126+ inception_v4_299_quant/006.CONV_2D.tflite
127+ inception_v4_299_quant/008.CONV_2D.tflite
128+ inception_v4_299_quant/009.CONV_2D.tflite
129+ inception_v4_299_quant/013.MAX_POOL_2D.tflite
130+ inception_v4_299_quant/015.CONCATENATION.tflite
131+ inception_v4_299_quant/016.AVERAGE_POOL_2D.tflite
132+ inception_v4_299_quant/024.CONCATENATION.tflite
133+ inception_v4_299_quant/044.CONV_2D.tflite
134+ inception_v4_299_quant/045.CONV_2D.tflite
135+ inception_v4_299_quant/049.CONV_2D.tflite
136+ inception_v4_299_quant/052.MAX_POOL_2D.tflite
137+ inception_v4_299_quant/054.CONV_2D.tflite
138+ inception_v4_299_quant/057.CONCATENATION.tflite
139+ inception_v4_299_quant/069.CONCATENATION.tflite
140+ inception_v4_299_quant/081.CONCATENATION.tflite
141+ inception_v4_299_quant/093.CONCATENATION.tflite
142+ inception_v4_299_quant/105.CONCATENATION.tflite
143+ inception_v4_299_quant/117.CONCATENATION.tflite
144+ inception_v4_299_quant/118.AVERAGE_POOL_2D.tflite
145+ inception_v4_299_quant/129.CONCATENATION.tflite
146+ inception_v4_299_quant/140.CONV_2D.tflite
147+ inception_v4_299_quant/141.CONCATENATION.tflite
148+ inception_v4_299_quant/142.MAX_POOL_2D.tflite
149+ inception_v4_299_quant/149.CONCATENATION.tflite
150+ inception_v4_299_quant/178.AVERAGE_POOL_2D.tflite
151+ inception_v4_299_quant/189.CONCATENATION.tflite
152+ inception_v4_299_quant/191.CONCATENATION.tflite
153+ inception_v4_299_quant/192.AVERAGE_POOL_2D.tflite
154+ inception_v4_299_quant/194.SOFTMAX.tflite
155+ misc/L2_NORMALIZATION.tflite
156+ misc/LOGISTIC.tflite
157+ misc/MUL.tflite
158+ misc/SPACE_TO_DEPTH.2.tflite
159+ misc/SPACE_TO_DEPTH.4.tflite
160+ misc/SPLIT.1_1_1.tflite
161+ misc/SPLIT_V.36_5_7.tflite
162+ misc/TRANSPOSE.2_0_1.tflite
163+ misc/bad_broadcast_add.tflite
164+ misc/bad_broadcast_mul.tflite
165+ misc/bad_broadcast_sub.tflite
166+ misc/bad_fully_connected.tflite
167+ mobilenet_v1_0.25_128_quant/000.CONV_2D.tflite
168+ mobilenet_v1_0.25_128_quant/001.DEPTHWISE_CONV_2D.tflite
169+ mobilenet_v1_0.25_128_quant/002.CONV_2D.tflite
170+ mobilenet_v1_0.25_128_quant/003.DEPTHWISE_CONV_2D.tflite
171+ mobilenet_v1_0.25_128_quant/004.CONV_2D.tflite
172+ mobilenet_v1_0.25_128_quant/005.DEPTHWISE_CONV_2D.tflite
173+ mobilenet_v1_0.25_128_quant/006.CONV_2D.tflite
174+ mobilenet_v1_0.25_128_quant/007.DEPTHWISE_CONV_2D.tflite
175+ mobilenet_v1_0.25_128_quant/008.CONV_2D.tflite
176+ mobilenet_v1_0.25_128_quant/009.DEPTHWISE_CONV_2D.tflite
177+ mobilenet_v1_0.25_128_quant/010.CONV_2D.tflite
178+ mobilenet_v1_0.25_128_quant/011.DEPTHWISE_CONV_2D.tflite
179+ mobilenet_v1_0.25_128_quant/012.CONV_2D.tflite
180+ mobilenet_v1_0.25_128_quant/013.DEPTHWISE_CONV_2D.tflite
181+ mobilenet_v1_0.25_128_quant/014.CONV_2D.tflite
182+ mobilenet_v1_0.25_128_quant/019.DEPTHWISE_CONV_2D.tflite
183+ mobilenet_v1_0.25_128_quant/022.CONV_2D.tflite
184+ mobilenet_v1_0.25_128_quant/025.DEPTHWISE_CONV_2D.tflite
185+ mobilenet_v1_0.25_128_quant/027.AVERAGE_POOL_2D.tflite
186+ mobilenet_v1_0.25_128_quant/029.RESHAPE.tflite
187+ mobilenet_v1_0.25_128_quant/030.SOFTMAX.tflite
188+ mobilenet_v1_1.0_224_quant/000.CONV_2D.tflite
189+ mobilenet_v1_1.0_224_quant/001.DEPTHWISE_CONV_2D.tflite
190+ mobilenet_v1_1.0_224_quant/002.CONV_2D.tflite
191+ mobilenet_v1_1.0_224_quant/003.DEPTHWISE_CONV_2D.tflite
192+ mobilenet_v1_1.0_224_quant/004.CONV_2D.tflite
193+ mobilenet_v1_1.0_224_quant/005.DEPTHWISE_CONV_2D.tflite
194+ mobilenet_v1_1.0_224_quant/006.CONV_2D.tflite
195+ mobilenet_v1_1.0_224_quant/007.DEPTHWISE_CONV_2D.tflite
196+ mobilenet_v1_1.0_224_quant/008.CONV_2D.tflite
197+ mobilenet_v1_1.0_224_quant/009.DEPTHWISE_CONV_2D.tflite
198+ mobilenet_v1_1.0_224_quant/013.DEPTHWISE_CONV_2D.tflite
199+ mobilenet_v1_1.0_224_quant/025.DEPTHWISE_CONV_2D.tflite
200+ mobilenet_v1_1.0_224_quant/027.AVERAGE_POOL_2D.tflite
201+ mobilenet_v1_1.0_224_quant/029.RESHAPE.tflite
202+ mobilenet_v1_1.0_224_quant/030.SOFTMAX.tflite
203+ mobilenet_v2_1.0_224_quant/000.CONV_2D.tflite
204+ mobilenet_v2_1.0_224_quant/001.DEPTHWISE_CONV_2D.tflite
205+ mobilenet_v2_1.0_224_quant/002.CONV_2D.tflite
206+ mobilenet_v2_1.0_224_quant/003.CONV_2D.tflite
207+ mobilenet_v2_1.0_224_quant/004.DEPTHWISE_CONV_2D.tflite
208+ mobilenet_v2_1.0_224_quant/005.CONV_2D.tflite
209+ mobilenet_v2_1.0_224_quant/008.CONV_2D.tflite
210+ mobilenet_v2_1.0_224_quant/009.ADD.tflite
211+ mobilenet_v2_1.0_224_quant/012.CONV_2D.tflite
212+ mobilenet_v2_1.0_224_quant/015.CONV_2D.tflite
213+ mobilenet_v2_1.0_224_quant/016.ADD.tflite
214+ mobilenet_v2_1.0_224_quant/020.ADD.tflite
215+ mobilenet_v2_1.0_224_quant/021.CONV_2D.tflite
216+ mobilenet_v2_1.0_224_quant/022.DEPTHWISE_CONV_2D.tflite
217+ mobilenet_v2_1.0_224_quant/023.CONV_2D.tflite
218+ mobilenet_v2_1.0_224_quant/027.ADD.tflite
219+ mobilenet_v2_1.0_224_quant/031.ADD.tflite
220+ mobilenet_v2_1.0_224_quant/032.CONV_2D.tflite
221+ mobilenet_v2_1.0_224_quant/033.DEPTHWISE_CONV_2D.tflite
222+ mobilenet_v2_1.0_224_quant/034.CONV_2D.tflite
223+ mobilenet_v2_1.0_224_quant/035.ADD.tflite
224+ mobilenet_v2_1.0_224_quant/038.CONV_2D.tflite
225+ mobilenet_v2_1.0_224_quant/040.DEPTHWISE_CONV_2D.tflite
226+ mobilenet_v2_1.0_224_quant/042.ADD.tflite
227+ mobilenet_v2_1.0_224_quant/045.CONV_2D.tflite
228+ mobilenet_v2_1.0_224_quant/046.ADD.tflite
229+ mobilenet_v2_1.0_224_quant/047.CONV_2D.tflite
230+ mobilenet_v2_1.0_224_quant/049.CONV_2D.tflite
231+ mobilenet_v2_1.0_224_quant/053.ADD.tflite
232+ mobilenet_v2_1.0_224_quant/054.CONV_2D.tflite
233+ mobilenet_v2_1.0_224_quant/056.CONV_2D.tflite
234+ mobilenet_v2_1.0_224_quant/057.ADD.tflite
235+ mobilenet_v2_1.0_224_quant/059.DEPTHWISE_CONV_2D.tflite
236+ mobilenet_v2_1.0_224_quant/062.AVERAGE_POOL_2D.tflite
237+ mobilenet_v2_1.0_224_quant/064.RESHAPE.tflite
238+ )
239+ list (TRANSFORM TEST_FILES PREPEND "${CMAKE_CURRENT_SOURCE_DIR} /test/" )
240+
111241foreach (t IN LISTS TEST_FILES)
112242 file (RELATIVE_PATH test_name ${hannk_SOURCE_DIR} ${t} )
113243
0 commit comments