Merge changes from topic "nnapi-cherrypick-from-master-to-aosp"

* changes:
  Add Asan test target to NNAPI
  Move benchmark app to platform/tests/mlts/
  Deflakify Openmp test
  Show benchmark inference count and stdDev.
  Split TestGenerated to file-per-case
  Validate strided slice output dims in cpu executor
  Fix the bug related to none static local variable of MobileNet test.
  Add support for passing inputs and expected outputs.
diff --git a/nn/Android.bp b/nn/Android.bp
index 8475642..2547164 100644
--- a/nn/Android.bp
+++ b/nn/Android.bp
@@ -27,12 +27,6 @@
             cflags: ["-DNN_DEBUGGABLE"],
         },
     },
-    /* To enable address sanitizer, uncomment the block below
-     * here and in runtime/test/Android.bp. You will have to
-     * do a full 'adb sync' after building. */
-    /* sanitize: {
-      address: true,
-    }, */
 }
 
 cc_library_headers {
diff --git a/nn/runtime/test/Android.bp b/nn/runtime/test/Android.bp
index 54b99cc..6b22998 100644
--- a/nn/runtime/test/Android.bp
+++ b/nn/runtime/test/Android.bp
@@ -24,7 +24,8 @@
         //
         // Changes to this list must be reflected in cts/tests/tests/neuralnetworks/Android.mk
         // to ensure CTS tests coverage.
-        "TestGenerated.cpp",
+        "generated/tests/*.cpp",
+        "GeneratedUtils.cpp",
         "TestMemory.cpp",
         "TestTrivialModel.cpp",
         "TestUnknownDimensions.cpp",
@@ -49,12 +50,6 @@
     header_libs: [
         "libneuralnetworks_generated_test_harness_headers",
     ],
-    /* To enable address sanitizer, uncomment the block below
-     * here and in ../../Android.bp. You will have to
-     * do a full 'adb sync' after building. */
-    /* sanitize: {
-      address: true,
-    }, */
 }
 
 cc_test {
@@ -72,8 +67,8 @@
     ],
 }
 
-cc_test {
-    name: "NeuralNetworksTest_static",
+cc_defaults {
+    name: "NeuralNetworksTest_static_defaults",
     defaults: ["NeuralNetworksTest_defaults"],
     srcs: [
         "TestMain.cpp",
@@ -99,3 +94,17 @@
         "libneuralnetworks_private_headers",
     ],
 }
+
+cc_test {
+    name: "NeuralNetworksTest_static",
+    defaults: ["NeuralNetworksTest_static_defaults"],
+}
+
+cc_test {
+    // TODO(mikie): investigate ubsan as well
+    name: "NeuralNetworksTest_static_asan",
+    defaults: ["NeuralNetworksTest_static_defaults"],
+    sanitize: {
+      address: true,
+    },
+}
diff --git a/nn/runtime/test/TestGenerated.cpp b/nn/runtime/test/GeneratedUtils.cpp
similarity index 83%
rename from nn/runtime/test/TestGenerated.cpp
rename to nn/runtime/test/GeneratedUtils.cpp
index c0a5f4c..6b4b47e 100644
--- a/nn/runtime/test/TestGenerated.cpp
+++ b/nn/runtime/test/GeneratedUtils.cpp
@@ -14,10 +14,13 @@
  * limitations under the License.
  */
 
-// Top level driver for models and examples generated by test_generator.py
+// Uncomment the following line to generate DOT graphs.
+//
+// #define GRAPH GRAPH
+
+#include "GeneratedUtils.h"
 
 #include "Bridge.h"
-#include "NeuralNetworksWrapper.h"
 #include "TestHarness.h"
 
 #include <gtest/gtest.h>
@@ -27,10 +30,6 @@
 #include <iostream>
 #include <map>
 
-// Uncomment the following line to generate DOT graphs.
-//
-// #define GRAPH GRAPH
-
 namespace generated_tests {
 using namespace android::nn::wrapper;
 using namespace test_helper;
@@ -61,11 +60,12 @@
     print<uint8_t>(os, test);
 }
 
+
 // Test driver for those generated from ml/nn/runtime/test/spec
-static void execute(std::function<void(Model*)> createModel,
+void execute(std::function<void(Model*)> createModel,
              std::function<bool(int)> isIgnored,
-             std::vector<MixedTypedExampleType>& examples,
-             std::string dumpFile = "") {
+             std::vector<MixedTypedExample>& examples,
+             std::string dumpFile) {
     Model model;
     createModel(&model);
     model.finish();
@@ -128,20 +128,4 @@
     }
 }
 
-};  // namespace generated_tests
-
-using namespace android::nn::wrapper;
-
-// Mixed-typed examples
-typedef test_helper::MixedTypedExampleType MixedTypedExample;
-
-class GeneratedTests : public ::testing::Test {
-protected:
-    virtual void SetUp() {}
-};
-
-// Testcases generated from runtime/test/specs/*.mod.py
-using namespace test_helper;
-using namespace generated_tests;
-#include "generated/all_generated_tests.cpp"
-// End of testcases generated from runtime/test/specs/*.mod.py
+}  // namespace generated_tests
diff --git a/nn/runtime/test/GeneratedUtils.h b/nn/runtime/test/GeneratedUtils.h
new file mode 100644
index 0000000..7b1ad8c
--- /dev/null
+++ b/nn/runtime/test/GeneratedUtils.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_FRAMEWORK_ML_NN_RUNTIME_TEST_GENERATEDUTILS_H
+#define ANDROID_FRAMEWORK_ML_NN_RUNTIME_TEST_GENERATEDUTILS_H
+
+#include "NeuralNetworksWrapper.h"
+#include "TestHarness.h"
+
+namespace generated_tests {
+using namespace android::nn::wrapper;
+// Mixed-typed examples
+typedef test_helper::MixedTypedExampleType MixedTypedExample;
+
+void execute(std::function<void(Model*)> createModel,
+             std::function<bool(int)> isIgnored,
+             std::vector<MixedTypedExample>& examples,
+             std::string dumpFile = "");
+
+}  // namespace generated_tests
+
+
+#endif  // ANDROID_FRAMEWORK_ML_NN_RUNTIME_TEST_GENERATEDUTILS_H
diff --git a/nn/runtime/test/TestGenerated.h b/nn/runtime/test/TestGenerated.h
new file mode 100644
index 0000000..30fca9c
--- /dev/null
+++ b/nn/runtime/test/TestGenerated.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_FRAMEWORK_ML_NN_RUNTIME_TEST_TESTGENERATED_H
+#define ANDROID_FRAMEWORK_ML_NN_RUNTIME_TEST_TESTGENERATED_H
+
+#include "GeneratedUtils.h"
+#include "NeuralNetworksWrapper.h"
+#include "TestHarness.h"
+
+#include <gtest/gtest.h>
+
+namespace generated_tests {
+
+class GeneratedTests : public ::testing::Test {
+protected:
+    virtual void SetUp() {}
+};
+
+}  // namespace generated_tests
+
+using namespace test_helper;
+using namespace generated_tests;
+
+#endif  // ANDROID_FRAMEWORK_ML_NN_RUNTIME_TEST_TESTGENERATED_H
diff --git a/nn/runtime/test/TestOpenmpSettings.cpp b/nn/runtime/test/TestOpenmpSettings.cpp
index 549473b..a021f8d 100644
--- a/nn/runtime/test/TestOpenmpSettings.cpp
+++ b/nn/runtime/test/TestOpenmpSettings.cpp
@@ -68,18 +68,20 @@
     for (int i = 0; i < 10; i++) {
         const int sleepFor = rand(randGen);
         threads.push_back(std::thread([sleepFor]() {
-            const int blocktimeSet1 = kmp_get_blocktime();
-            ASSERT_EQ(blocktimeSet1, kOpenmpDefaultBlockTime);
+            const int blocktimeInitial = kmp_get_blocktime();
+            // kmp_get_blocktime() in a new thread returns 0 instead of 200
+            // about 10% of time on-device
+            ASSERT_TRUE(blocktimeInitial == 0 || blocktimeInitial == kOpenmpDefaultBlockTime);
 
             ScopedOpenmpSettings s;
 
-            const int blocktimeSet2 = kmp_get_blocktime();
-            ASSERT_EQ(blocktimeSet2, 1);
+            const int blocktimeSet1 = kmp_get_blocktime();
+            ASSERT_EQ(blocktimeSet1, 1);
 
             usleep(sleepFor);
 
-            const int blocktimeSet3 = kmp_get_blocktime();
-            ASSERT_EQ(blocktimeSet3, 1);
+            const int blocktimeSet2 = kmp_get_blocktime();
+            ASSERT_EQ(blocktimeSet2, 1);
         }));
     }
     std::for_each(threads.begin(), threads.end(), [](std::thread& t) {
diff --git a/nn/runtime/test/benchmark/Android.mk b/nn/runtime/test/benchmark/Android.mk
deleted file mode 100644
index 685d9b5..0000000
--- a/nn/runtime/test/benchmark/Android.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-test
-LOCAL_JAVA_LIBRARIES := android.test.runner.stubs
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_COMPATIBILITY_SUITE += device-tests
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := NeuralNetworksApiBenchmark
-LOCAL_JNI_SHARED_LIBRARIES := libnnbenchmark
-
-LOCAL_SDK_VERSION := 27
-
-include $(BUILD_PACKAGE)
diff --git a/nn/runtime/test/benchmark/AndroidManifest.xml b/nn/runtime/test/benchmark/AndroidManifest.xml
deleted file mode 100644
index cd45acd..0000000
--- a/nn/runtime/test/benchmark/AndroidManifest.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.example.android.nn.benchmark">
-
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-    <uses-sdk android:minSdkVersion="27" />
-    <application android:label="NeuralNetworksBenchmark"
-                 android:hardwareAccelerated="true">
-        <uses-library android:name="android.test.runner" />
-        <activity android:name=".NNBenchmark">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-        <activity android:name=".NNControls">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-    </application>
-    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
-        android:targetPackage="com.example.android.nn.benchmark"/>
-</manifest>
diff --git a/nn/runtime/test/benchmark/AndroidTest.xml b/nn/runtime/test/benchmark/AndroidTest.xml
deleted file mode 100644
index a19225d..0000000
--- a/nn/runtime/test/benchmark/AndroidTest.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<configuration description="Runs NeuralNetworksApiBenchmark metric instrumentation.">
-    <option name="test-suite-tag" value="apct" />
-    <option name="test-suite-tag" value="apct-metric-instrumentation" />
-    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
-        <option name="cleanup-apks" value="true" />
-        <option name="test-file-name" value="NeuralNetworksApiBenchmark.apk" />
-    </target_preparer>
-
-    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
-        <option name="package" value="com.example.android.nn.benchmark" />
-    </test>
-</configuration>
diff --git a/nn/runtime/test/benchmark/assets/mobilenet_float.tflite b/nn/runtime/test/benchmark/assets/mobilenet_float.tflite
deleted file mode 100644
index 7fe5c46..0000000
--- a/nn/runtime/test/benchmark/assets/mobilenet_float.tflite
+++ /dev/null
Binary files differ
diff --git a/nn/runtime/test/benchmark/assets/mobilenet_quantized.tflite b/nn/runtime/test/benchmark/assets/mobilenet_quantized.tflite
deleted file mode 100644
index 53bc0af..0000000
--- a/nn/runtime/test/benchmark/assets/mobilenet_quantized.tflite
+++ /dev/null
Binary files differ
diff --git a/nn/runtime/test/benchmark/libnnbenchmark/Android.bp b/nn/runtime/test/benchmark/libnnbenchmark/Android.bp
deleted file mode 100644
index ac87de2..0000000
--- a/nn/runtime/test/benchmark/libnnbenchmark/Android.bp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2017 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-cc_library_shared {
-    name: "libnnbenchmark",
-    sdk_version: "current",
-    srcs: [
-        "benchmark_jni.cpp",
-        "run_tflite.cpp",
-    ],
-    include_dirs: [
-        "external/flatbuffers/include",
-        "external/tensorflow",
-    ],
-    shared_libs: [
-        "liblog",
-    ],
-    static_libs: [
-        "libtflite_static",
-    ],
-    cflags: [
-        "-Wno-sign-compare",
-        "-Wno-unused-parameter"
-    ],
-
-    stl: "libc++_static",
-}
diff --git a/nn/runtime/test/benchmark/libnnbenchmark/benchmark_jni.cpp b/nn/runtime/test/benchmark/libnnbenchmark/benchmark_jni.cpp
deleted file mode 100644
index b0da57b..0000000
--- a/nn/runtime/test/benchmark/libnnbenchmark/benchmark_jni.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * Copyright 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "run_tflite.h"
-
-#include <jni.h>
-#include <string>
-#include <iomanip>
-#include <sstream>
-#include <fcntl.h>
-
-#include <android/asset_manager_jni.h>
-#include <android/log.h>
-#include <android/sharedmem.h>
-#include <sys/mman.h>
-
-extern "C"
-JNIEXPORT jlong
-JNICALL
-Java_com_example_android_nn_benchmark_NNTestBase_initModel(
-        JNIEnv *env,
-        jobject /* this */,
-        jstring _modelFileName) {
-    const char *modelFileName = env->GetStringUTFChars(_modelFileName, NULL);
-    void* handle = new BenchmarkModel(modelFileName);
-    env->ReleaseStringUTFChars(_modelFileName, modelFileName);
-
-    return (jlong)(uintptr_t)handle;
-}
-
-extern "C"
-JNIEXPORT void
-JNICALL
-Java_com_example_android_nn_benchmark_NNTestBase_destroyModel(
-        JNIEnv *env,
-        jobject /* this */,
-        jlong _modelHandle) {
-    BenchmarkModel* model = (BenchmarkModel *) _modelHandle;
-    delete(model);
-}
-
-extern "C"
-JNIEXPORT jboolean
-JNICALL
-Java_com_example_android_nn_benchmark_NNTestBase_resizeInputTensors(
-        JNIEnv *env,
-        jobject /* this */,
-        jlong _modelHandle,
-        jintArray _inputShape) {
-    BenchmarkModel* model = (BenchmarkModel *) _modelHandle;
-    jint* shapePtr = env->GetIntArrayElements(_inputShape, nullptr);
-    jsize shapeLen = env->GetArrayLength(_inputShape);
-
-    std::vector<int> shape(shapePtr, shapePtr + shapeLen);
-    return model->resizeInputTensors(std::move(shape));
-}
-
-extern "C"
-JNIEXPORT jboolean
-JNICALL
-Java_com_example_android_nn_benchmark_NNTestBase_runBenchmark(
-        JNIEnv *env,
-        jobject /* this */,
-        jlong _modelHandle,
-        jboolean _useNNAPI) {
-    BenchmarkModel* model = (BenchmarkModel *) _modelHandle;
-    return model->runBenchmark(1, _useNNAPI);
-}
\ No newline at end of file
diff --git a/nn/runtime/test/benchmark/libnnbenchmark/run_tflite.cpp b/nn/runtime/test/benchmark/libnnbenchmark/run_tflite.cpp
deleted file mode 100644
index b4e7804..0000000
--- a/nn/runtime/test/benchmark/libnnbenchmark/run_tflite.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * Copyright 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "run_tflite.h"
-
-#include "tensorflow/contrib/lite/kernels/register.h"
-
-#include <android/log.h>
-#include <cstdio>
-#include <sys/time.h>
-
-#define LOG_TAG "NN_BENCHMARK"
-
-BenchmarkModel::BenchmarkModel(const char* modelfile) {
-    // Memory map the model. NOTE this needs lifetime greater than or equal
-    // to interpreter context.
-    mTfliteModel = tflite::FlatBufferModel::BuildFromFile(modelfile);
-    if (!mTfliteModel) {
-        __android_log_print(ANDROID_LOG_ERROR, LOG_TAG,
-                            "Failed to load model %s", modelfile);
-        return;
-    }
-
-    tflite::ops::builtin::BuiltinOpResolver resolver;
-    tflite::InterpreterBuilder(*mTfliteModel, resolver)(&mTfliteInterpreter);
-    if (!mTfliteInterpreter) {
-        __android_log_print(ANDROID_LOG_ERROR, LOG_TAG,
-                            "Failed to create TFlite interpreter");
-        return;
-    }
-}
-
-BenchmarkModel::~BenchmarkModel() {
-}
-
-bool BenchmarkModel::setInput(const uint8_t* dataPtr, size_t length) {
-    int input = mTfliteInterpreter->inputs()[0];
-    auto* input_tensor = mTfliteInterpreter->tensor(input);
-    switch (input_tensor->type) {
-        case kTfLiteFloat32:
-        case kTfLiteUInt8: {
-            void* raw = mTfliteInterpreter->typed_tensor<void>(input);
-            memcpy(raw, dataPtr, length);
-            break;
-        }
-        default:
-            __android_log_print(ANDROID_LOG_ERROR, LOG_TAG,
-                                "Input tensor type not supported");
-            return false;
-    }
-    return true;
-}
-
-bool BenchmarkModel::resizeInputTensors(std::vector<int> shape) {
-    // The benchmark only expects single input tensor, hardcoded as 0.
-    int input = mTfliteInterpreter->inputs()[0];
-    mTfliteInterpreter->ResizeInputTensor(input, shape);
-    if (mTfliteInterpreter->AllocateTensors() != kTfLiteOk) {
-        __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, "Failed to allocate tensors!");
-        return false;
-    }
-    return true;
-}
-
-bool BenchmarkModel::runBenchmark(int num_inferences,
-                                  bool use_nnapi) {
-    mTfliteInterpreter->UseNNAPI(use_nnapi);
-
-    for(int i = 0; i  < num_inferences; i++){
-        auto status = mTfliteInterpreter->Invoke();
-        if (status != kTfLiteOk) {
-            __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, "Failed to invoke: %d!", (int)status);
-            return false;
-        }
-    }
-    return true;
-}
\ No newline at end of file
diff --git a/nn/runtime/test/benchmark/libnnbenchmark/run_tflite.h b/nn/runtime/test/benchmark/libnnbenchmark/run_tflite.h
deleted file mode 100644
index 4c3c968..0000000
--- a/nn/runtime/test/benchmark/libnnbenchmark/run_tflite.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Copyright 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef COM_EXAMPLE_ANDROID_NN_BENCHMARK_RUN_TFLITE_H
-#define COM_EXAMPLE_ANDROID_NN_BENCHMARK_RUN_TFLITE_H
-
-#include "tensorflow/contrib/lite/interpreter.h"
-#include "tensorflow/contrib/lite/model.h"
-
-#include <unistd.h>
-#include <vector>
-
-class BenchmarkModel {
-public:
-    explicit BenchmarkModel(const char* modelfile);
-    ~BenchmarkModel();
-
-    bool resizeInputTensors(std::vector<int> shape);
-    bool setInput(const uint8_t* dataPtr, size_t length);
-    bool runBenchmark(int num_inferences,
-                      bool use_nnapi);
-
-private:
-    std::unique_ptr<tflite::FlatBufferModel> mTfliteModel;
-    std::unique_ptr<tflite::Interpreter> mTfliteInterpreter;
-};
-
-
-#endif  // COM_EXAMPLE_ANDROID_NN_BENCHMARK_RUN_TFLITE_H
\ No newline at end of file
diff --git a/nn/runtime/test/benchmark/res/drawable-hdpi/ic_action_settings.png b/nn/runtime/test/benchmark/res/drawable-hdpi/ic_action_settings.png
deleted file mode 100644
index 54eecde..0000000
--- a/nn/runtime/test/benchmark/res/drawable-hdpi/ic_action_settings.png
+++ /dev/null
Binary files differ
diff --git a/nn/runtime/test/benchmark/res/drawable-mdpi/ic_action_settings.png b/nn/runtime/test/benchmark/res/drawable-mdpi/ic_action_settings.png
deleted file mode 100644
index 25c36db..0000000
--- a/nn/runtime/test/benchmark/res/drawable-mdpi/ic_action_settings.png
+++ /dev/null
Binary files differ
diff --git a/nn/runtime/test/benchmark/res/drawable-xhdpi/ic_action_settings.png b/nn/runtime/test/benchmark/res/drawable-xhdpi/ic_action_settings.png
deleted file mode 100644
index 425a8bc..0000000
--- a/nn/runtime/test/benchmark/res/drawable-xhdpi/ic_action_settings.png
+++ /dev/null
Binary files differ
diff --git a/nn/runtime/test/benchmark/res/drawable-xxhdpi/ic_action_settings.png b/nn/runtime/test/benchmark/res/drawable-xxhdpi/ic_action_settings.png
deleted file mode 100644
index fe5fec4..0000000
--- a/nn/runtime/test/benchmark/res/drawable-xxhdpi/ic_action_settings.png
+++ /dev/null
Binary files differ
diff --git a/nn/runtime/test/benchmark/res/layout/controls.xml b/nn/runtime/test/benchmark/res/layout/controls.xml
deleted file mode 100644
index df0947c..0000000
--- a/nn/runtime/test/benchmark/res/layout/controls.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            android:orientation="vertical"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
-            android:id="@+id/toplevel">
-
-    <ListView
-        android:id="@+id/test_list"
-        android:layout_weight="0.2"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"/>
-
-    <LinearLayout
-        android:orientation="horizontal"
-        android:layout_width="fill_parent" android:layout_height="wrap_content">
-        <Button
-             android:id="@+id/run"
-             android:layout_width="wrap_content"
-             android:layout_height="wrap_content"
-             android:text="@string/benchmark"
-             android:onClick="btnRun"/>
-        <Button
-             android:id="@+id/select_all"
-             android:layout_width="wrap_content"
-             android:layout_height="wrap_content"
-             android:text="@string/select_all"
-             android:onClick="btnSelAll"/>
-        <Button
-             android:id="@+id/select_none"
-             android:layout_width="wrap_content"
-             android:layout_height="wrap_content"
-             android:text="@string/select_none"
-             android:onClick="btnSelNone"/>
-    </LinearLayout>
-
-    <TextView
-        android:id="@+id/results"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:textSize="8pt"
-        android:maxLines="6"
-        android:scrollbars="vertical"
-        android:layout_marginLeft="10sp"
-        android:layout_marginTop="15sp"
-        android:text="@string/results"/>
-
-</LinearLayout>
-
diff --git a/nn/runtime/test/benchmark/res/layout/main.xml b/nn/runtime/test/benchmark/res/layout/main.xml
deleted file mode 100644
index 1382870..0000000
--- a/nn/runtime/test/benchmark/res/layout/main.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            android:orientation="vertical"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
-            android:id="@+id/toplevel">
-    <TextView
-        android:id="@+id/testres"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:textSize="8pt"
-        android:scrollbars="vertical"
-        android:layout_marginLeft="10sp"
-        android:layout_marginTop="15sp"
-        android:text="@string/results"/>
-
-</LinearLayout>
-
diff --git a/nn/runtime/test/benchmark/res/menu/main_activity_actions.xml b/nn/runtime/test/benchmark/res/menu/main_activity_actions.xml
deleted file mode 100644
index 0f4ef8a..0000000
--- a/nn/runtime/test/benchmark/res/menu/main_activity_actions.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <item android:id="@+id/action_settings"
-          android:icon="@drawable/ic_action_settings"
-          android:title="@string/action_settings"
-          android:showAsAction="always"/>
-
-</menu>
diff --git a/nn/runtime/test/benchmark/res/values/strings.xml b/nn/runtime/test/benchmark/res/values/strings.xml
deleted file mode 100644
index 845cda0..0000000
--- a/nn/runtime/test/benchmark/res/values/strings.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- General -->
-    <skip />
-    <!--slider label -->
-    <string name="benchmark">Benchmark</string>
-
-    <string name="results">Results: not run</string>
-    <string name="length_long">Long run</string>
-    <string name="length_short">Long run</string>
-    <string name="select_all">All</string>
-    <string name="select_none">None</string>
-
-    <string name="action_settings">Setting</string>
-
-    <string name="action_res">res</string>
-    <string name="ok">Ok</string>
-    <string name="cancel">Cancel</string>
-    <string name="settings">settings</string>
-    <string-array
-        name="settings_array">
-        <item>Run each test longer, 10 seconds</item>
-        <item>Pause 10 seconds between tests</item>
-    </string-array>
-
-</resources>
diff --git a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNBenchmark.java b/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNBenchmark.java
deleted file mode 100644
index 0d765b9..0000000
--- a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNBenchmark.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.nn.benchmark;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.widget.TextView;
-
-public class NNBenchmark extends Activity {
-    protected static final String TAG = "NN_BENCHMARK";
-
-    private int mTestList[];
-    private float mTestResults[];
-    private String mTestInfo[];
-
-    private TextView mTextView;
-    private boolean mToggleLong;
-    private boolean mTogglePause;
-
-    // In demo mode this is used to count updates in the pipeline.  It's
-    // incremented when work is submitted to RS and decremented when invalidate is
-    // called to display a result.
-    private boolean mDemoMode;
-
-    // Initialize the parameters for Instrumentation tests.
-    protected void prepareInstrumentationTest() {
-        mTestList = new int[1];
-        mTestResults = new float[1];
-        mTestInfo = new String[1];
-        mDemoMode = false;
-        mProcessor = new Processor(!mDemoMode);
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // Processor is a helper thread for running the work without
-    // blocking the UI thread.
-    class Processor extends Thread {
-
-        private float mLastResult;
-        private boolean mRun = true;
-        private boolean mDoingBenchmark;
-        private NNTestBase mTest;
-
-        private boolean mBenchmarkMode;
-
-        void runTest() {
-            mTest.runTest();
-        }
-
-        Processor(boolean benchmarkMode) {
-            mBenchmarkMode = benchmarkMode;
-        }
-
-        class Result {
-            float totalTime;
-            int iterations;
-            String testInfo;
-        }
-
-        // Method to retreive benchmark results for instrumentation tests.
-        float getInstrumentationResult(NNTestList.TestName t) {
-            mTest = changeTest(t);
-            Result r = getBenchmark();
-            return r.totalTime / r.iterations * 1000.f;
-        }
-
-        // Run one loop of kernels for at least the specified minimum time.
-        // The function returns the average time in ms for the test run
-        private Result runBenchmarkLoop(float minTime) {
-            Result r = new Result();
-            long start = java.lang.System.currentTimeMillis();
-
-            r.testInfo = mTest.getTestInfo();
-            do {
-                // Run the kernel
-                mTest.runTest();
-                r.iterations ++;
-
-                long current = java.lang.System.currentTimeMillis();
-                r.totalTime = (current - start) / 1000.f;
-            } while (r.totalTime < minTime);
-
-            return r;
-        }
-
-
-        // Get a benchmark result for a specific test
-        private Result getBenchmark() {
-            mDoingBenchmark = true;
-
-            long result = 0;
-            float runtime = 1.f;
-            if (mToggleLong) {
-                runtime = 10.f;
-            }
-
-            // We run a short bit of work before starting the actual test
-            // this is to let any power management do its job and respond
-            runBenchmarkLoop(0.3f);
-
-            // Run the actual benchmark
-            Result r = runBenchmarkLoop(runtime);
-
-            Log.v(TAG, "Test: time=" + r.totalTime +"s,  iterations=" + r.iterations +
-                    ", avg=" + r.totalTime / r.iterations * 1000.f + " " + r.testInfo);
-
-            mDoingBenchmark = false;
-            return r;
-        }
-
-        public void run() {
-            while (mRun) {
-                // Our loop for launching tests or benchmarks
-                synchronized(this) {
-                    // We may have been asked to exit while waiting
-                    if (!mRun) return;
-                }
-
-                if (mBenchmarkMode) {
-                    // Loop over the tests we want to benchmark
-                    for (int ct=0; (ct < mTestList.length) && mRun; ct++) {
-
-                        // For reproducibility we wait a short time for any sporadic work
-                        // created by the user touching the screen to launch the test to pass.
-                        // Also allows for things to settle after the test changes.
-                        try {
-                            sleep(250);
-                        } catch(InterruptedException e) {
-                        }
-
-                        // If we just ran a test, we destroy it here to relieve some memory pressure
-                        if (mTest != null) {
-                            mTest.destroy();
-                        }
-
-                        // Select the next test
-                        mTest = changeTest(mTestList[ct]);
-                        // If the user selected the "long pause" option, wait
-                        if (mTogglePause) {
-                            for (int i=0; (i < 100) && mRun; i++) {
-                                try {
-                                    sleep(100);
-                                } catch(InterruptedException e) {
-                                }
-                            }
-                        }
-
-                        // Run the test
-                        Result r = getBenchmark();
-                        mTestResults[ct] = r.totalTime / r.iterations * 1000.f;
-                        mTestInfo[ct] = r.testInfo;
-                    }
-                    onBenchmarkFinish(mRun);
-                } else {
-                    // Run the kernel
-                    runTest();
-                }
-            }
-
-        }
-
-        public void exit() {
-            mRun = false;
-
-            synchronized(this) {
-                notifyAll();
-            }
-
-            try {
-                this.join();
-            } catch(InterruptedException e) {
-            }
-
-            if (mTest != null) {
-                mTest.destroy();
-                mTest = null;
-            }
-        }
-    }
-
-
-    private boolean mDoingBenchmark;
-    public Processor mProcessor;
-
-    NNTestBase changeTest(NNTestList.TestName t) {
-        NNTestBase tb = NNTestList.newTest(t);
-        tb.createBaseTest(this);
-        return tb;
-    }
-
-    NNTestBase changeTest(int id) {
-        NNTestList.TestName t = NNTestList.TestName.values()[id];
-        return changeTest(t);
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        TextView textView = new TextView(this);
-        textView.setTextSize(20);
-        textView.setText("NN BenchMark Running.");
-        setContentView(textView);
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        if (mProcessor != null) {
-            mProcessor.exit();
-        }
-    }
-
-    public void onBenchmarkFinish(boolean ok) {
-        if (ok) {
-            Intent intent = new Intent();
-            intent.putExtra("tests", mTestList);
-            intent.putExtra("results", mTestResults);
-            intent.putExtra("testinfo", mTestInfo);
-            setResult(RESULT_OK, intent);
-        } else {
-            setResult(RESULT_CANCELED);
-        }
-        finish();
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        Intent i = getIntent();
-        mTestList = i.getIntArrayExtra("tests");
-
-        mToggleLong = i.getBooleanExtra("enable long", false);
-        mTogglePause = i.getBooleanExtra("enable pause", false);
-        mDemoMode = i.getBooleanExtra("demo", false);
-
-        if (mTestList != null) {
-            mTestResults = new float[mTestList.length];
-            mTestInfo = new String[mTestList.length];
-            mProcessor = new Processor(!mDemoMode);
-            if (mDemoMode) {
-                mProcessor.mTest = changeTest(mTestList[0]);
-            }
-            mProcessor.start();
-        }
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-    }
-}
diff --git a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNControls.java b/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNControls.java
deleted file mode 100644
index 05a4bb3..0000000
--- a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNControls.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.nn.benchmark;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Environment;
-import android.text.method.ScrollingMovementMethod;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-import android.widget.TextView;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-
-public class NNControls extends Activity {
-    public final String RESULT_FILE = "nn_benchmark_result.csv";
-
-    private ListView mTestListView;
-    private TextView mResultView;
-
-    private ArrayAdapter<String> mTestListAdapter;
-    private ArrayList<String> mTestList = new ArrayList<String>();
-
-    private boolean mSettings[] = {false, false};
-    private static final int SETTING_LONG_RUN = 0;
-    private static final int SETTING_PAUSE = 1;
-
-    private float mResults[];
-    private String mInfo[];
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        // Inflate the menu items for use in the action bar
-        MenuInflater inflater = getMenuInflater();
-        inflater.inflate(R.menu.main_activity_actions, menu);
-
-        return super.onCreateOptionsMenu(menu);
-    }
-
-    void init() {
-        for (int i=0; i < NNTestList.TestName.values().length; i++) {
-            mTestList.add(NNTestList.TestName.values()[i].toString());
-        }
-
-        mTestListView = findViewById(R.id.test_list);
-        mTestListAdapter = new ArrayAdapter(this,
-                android.R.layout.simple_list_item_activated_1,
-                mTestList);
-
-        mTestListView.setAdapter(mTestListAdapter);
-        mTestListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
-        mTestListAdapter.notifyDataSetChanged();
-
-        mResultView = findViewById(R.id.results);
-        mResultView.setMovementMethod(new ScrollingMovementMethod());
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.controls);
-        init();
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-    }
-
-    Intent makeBasicLaunchIntent() {
-        Intent intent = new Intent(this, NNBenchmark.class);
-        intent.putExtra("enable long", mSettings[SETTING_LONG_RUN]);
-        intent.putExtra("enable pause", mSettings[SETTING_PAUSE]);
-        return intent;
-    }
-
-    public void btnRun(View v) {
-        NNTestList.TestName t[] = NNTestList.TestName.values();
-        int count = 0;
-        for (int i = 0; i < t.length; i++) {
-            if (mTestListView.isItemChecked(i)) {
-                count++;
-            }
-        }
-        if (count == 0) {
-            return;
-        }
-
-        int testList[] = new int[count];
-        count = 0;
-        for (int i = 0; i < t.length; i++) {
-            if (mTestListView.isItemChecked(i)) {
-                testList[count++] = i;
-            }
-        }
-
-        Intent intent = makeBasicLaunchIntent();
-        intent.putExtra("tests", testList);
-        startActivityForResult(intent, 0);
-    }
-
-    float rebase(float v, NNTestList.TestName t) {
-        if (v > 0.001) {
-            v = t.baseline / v;
-        }
-        return v;
-    }
-
-
-    private void writeResults() {
-        // write result into a file
-        File externalStorage = Environment.getExternalStorageDirectory();
-        if (!externalStorage.canWrite()) {
-            Log.v(NNBenchmark.TAG, "sdcard is not writable");
-            return;
-        }
-        File resultFile = new File(externalStorage, RESULT_FILE);
-        resultFile.setWritable(true, false);
-        try {
-            BufferedWriter rsWriter = new BufferedWriter(new FileWriter(resultFile));
-            Log.v(NNBenchmark.TAG, "Saved results in: " + resultFile.getAbsolutePath());
-            java.text.DecimalFormat df = new java.text.DecimalFormat("######.##");
-
-            for (int ct=0; ct < NNTestList.TestName.values().length; ct++) {
-                NNTestList.TestName t = NNTestList.TestName.values()[ct];
-                final float r = mResults[ct];
-                float r2 = rebase(r, t);
-                String s = new String("" + t.toString() + ", " + df.format(r) + ", " +
-                        df.format(r2));
-                rsWriter.write(s + "\n");
-            }
-            rsWriter.close();
-        } catch (IOException e) {
-            Log.v(NNBenchmark.TAG, "Unable to write result file " + e.getMessage());
-        }
-    }
-
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == 0) {
-            if (resultCode == RESULT_OK) {
-                java.text.DecimalFormat df = new java.text.DecimalFormat("######.##");
-                mResults = new float[NNTestList.TestName.values().length];
-                mInfo = new String[NNTestList.TestName.values().length];
-
-                float r[] = data.getFloatArrayExtra("results");
-                String inf[] = data.getStringArrayExtra("testinfo");
-                int id[] = data.getIntArrayExtra("tests");
-
-                String mOutResult = "";
-                for (int ct=0; ct < id.length; ct++) {
-                    NNTestList.TestName t = NNTestList.TestName.values()[id[ct]];
-                    String s = t.toString() + "   " + df.format(rebase(r[ct], t)) +
-                            "X,   " + df.format(r[ct]) + "ms";
-                    mTestList.set(id[ct], s);
-                    mTestListAdapter.notifyDataSetChanged();
-                    mOutResult += s + '\n';
-                    mResults[id[ct]] = r[ct];
-                }
-
-                mResultView.setText(mOutResult);
-                writeResults();
-            }
-        }
-    }
-
-    public void btnSelAll(View v) {
-        NNTestList.TestName t[] = NNTestList.TestName.values();
-        for (int i=0; i < t.length; i++) {
-            mTestListView.setItemChecked(i, true);
-        }
-    }
-
-    public boolean onOptionsItemSelected(MenuItem item) {
-        // Handle presses on the action bar items
-        switch(item.getItemId()) {
-            case R.id.action_settings:
-                NNSettings newFragment = new NNSettings(mSettings);
-                newFragment.show(getFragmentManager(), "settings");
-                return true;
-            default:
-                return super.onOptionsItemSelected(item);
-        }
-    }
-
-    public void btnSelNone(View v) {
-        NNTestList.TestName t[] = NNTestList.TestName.values();
-        for (int i=0; i < t.length; i++) {
-            mTestListView.setItemChecked(i, false);
-        }
-    }
-
-    public void btnSettings(View v) {
-        NNSettings newFragment = new NNSettings(mSettings);
-        newFragment.show(getFragmentManager(), "settings");
-    }
-}
diff --git a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNSettings.java b/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNSettings.java
deleted file mode 100644
index 687a268..0000000
--- a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNSettings.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.nn.benchmark;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.DialogFragment;
-import android.app.Dialog;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.view.View;
-
-public class NNSettings extends DialogFragment {
-    private boolean[] mEnables;
-    public boolean mOk = false;
-
-    public NNSettings(boolean[] enables) {
-        mEnables = enables;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-        builder.setTitle(R.string.settings);
-
-        // Specify the list array, the items to be selected by default (null for none),
-        // and the listener through which to receive callbacks when items are selected
-        builder.setMultiChoiceItems(R.array.settings_array, mEnables,
-                          new DialogInterface.OnMultiChoiceClickListener() {
-                   @Override
-                   public void onClick(DialogInterface dialog, int which, boolean isChecked) {
-                       mEnables[which] = isChecked;
-                   }
-               });
-
-        // Set the action buttons
-        builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
-                   @Override
-                   public void onClick(DialogInterface dialog, int id) {
-                       mOk = true;
-                   }
-               });
-        builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
-                   @Override
-                   public void onClick(DialogInterface dialog, int id) {
-                   }
-               });
-
-        return builder.create();
-    }
-}
diff --git a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTest.java b/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTest.java
deleted file mode 100644
index f911697..0000000
--- a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.nn.benchmark;
-
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.util.Log;
-
-import com.example.android.nn.benchmark.NNTestList.TestName;
-
-/**
- * NNAPI benchmark test.
- * To run the test, please use command
- *
- * adb shell am instrument -w com.example.android.nn.benchmark/android.support.test.runner.AndroidJUnitRunner
- *
- */
-public class NNTest extends ActivityInstrumentationTestCase2<NNBenchmark> {
-    // Only run 1 iteration now to fit the MediumTest time requirement.
-    // One iteration means running the tests continuous for 1s.
-    private int mIteration = 1;
-    private NNBenchmark mActivity;
-
-    public NNTest() {
-        super(NNBenchmark.class);
-    }
-
-    // Initialize the parameter for ImageProcessingActivityJB.
-    protected void prepareTest() {
-        mActivity = getActivity();
-        mActivity.prepareInstrumentationTest();
-    }
-
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-        prepareTest();
-        setActivityInitialTouchMode(false);
-    }
-
-    @Override
-    public void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    class TestAction implements Runnable {
-        TestName mTestName;
-        float mResult;
-        public TestAction(TestName testName) {
-            mTestName = testName;
-        }
-        public void run() {
-            mResult = mActivity.mProcessor.getInstrumentationResult(mTestName);
-            Log.v(NNBenchmark.TAG,
-                    "Benchmark for test \"" + mTestName.toString() + "\" is: " + mResult);
-            synchronized(this) {
-                this.notify();
-            }
-        }
-        public float getBenchmark() {
-            return mResult;
-        }
-    }
-
-    // Set the benchmark thread to run on ui thread
-    // Synchronized the thread such that the test will wait for the benchmark thread to finish
-    public void runOnUiThread(Runnable action) {
-        synchronized(action) {
-            mActivity.runOnUiThread(action);
-            try {
-                action.wait();
-            } catch (InterruptedException e) {
-                Log.v(NNBenchmark.TAG, "waiting for action running on UI thread is interrupted: " +
-                        e.toString());
-            }
-        }
-    }
-
-    public void runTest(TestAction ta, String testName) {
-        float sum = 0;
-        for (int i = 0; i < mIteration; i++) {
-            runOnUiThread(ta);
-            float bmValue = ta.getBenchmark();
-            Log.v(NNBenchmark.TAG, "results for iteration " + i + " is " + bmValue);
-            sum += bmValue;
-        }
-        float avgResult = sum/mIteration;
-
-        // post result to INSTRUMENTATION_STATUS
-        Bundle results = new Bundle();
-        results.putFloat(testName + "_avg", avgResult);
-        getInstrumentation().sendStatus(Activity.RESULT_OK, results);
-    }
-
-    // Test case 0: MobileNet float32
-    @MediumTest
-    public void testMobileNetFloat() {
-        TestAction ta = new TestAction(TestName.MobileNet_FLOAT);
-        runTest(ta, TestName.MobileNet_FLOAT.name());
-    }
-
-    // Test case 1: MobileNet quantized
-    @MediumTest
-    public void testMobileNetQuantized() {
-        TestAction ta = new TestAction(TestName.MobileNet_QUANT8);
-        runTest(ta, TestName.MobileNet_QUANT8.name());
-    }
-}
\ No newline at end of file
diff --git a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTestBase.java b/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTestBase.java
deleted file mode 100644
index d2e8dab..0000000
--- a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTestBase.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.nn.benchmark;
-
-import android.content.res.AssetManager;
-import android.util.Log;
-import android.widget.TextView;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-public class NNTestBase  {
-    protected final boolean USE_NNAPI = true;
-
-    // Used to load the 'native-lib' library on application startup.
-    static {
-        System.loadLibrary("nnbenchmark");
-    }
-
-    private synchronized native long initModel(String modelFileName);
-    private synchronized native void destroyModel(long modelHandle);
-    private synchronized native boolean resizeInputTensors(long modelHandle, int[] inputShape);
-    private synchronized native boolean runBenchmark(long modelHandle, boolean useNNAPI);
-
-    protected NNBenchmark mActivity;
-    protected TextView mText;
-    private String mModelName;
-    private long mModelHandle;
-    private int[] mInputShape;
-
-    public NNTestBase(String modelName, int[] inputShape) {
-        mModelName = modelName;
-        mInputShape = inputShape;
-        mModelHandle = 0;
-    }
-
-    public final void createBaseTest(NNBenchmark ipact) {
-        mActivity = ipact;
-        String modelFileName = copyAssetToFile();
-        if (modelFileName != null) {
-            mModelHandle = initModel(modelFileName);
-            if (mModelHandle != 0) {
-                resizeInputTensors(mModelHandle, mInputShape);
-            } else {
-                Log.e(NNBenchmark.TAG, "Failed to init the model");
-            }
-        }
-    }
-
-    public String getTestInfo() {
-        return mModelName;
-    }
-
-    public void runTest() {
-        if (mModelHandle != 0) {
-            runBenchmark(mModelHandle, USE_NNAPI);
-        }
-    }
-
-    public void destroy() {
-        if (mModelHandle != 0) {
-            destroyModel(mModelHandle);
-            mModelHandle = 0;
-        }
-    }
-
-    // We need to copy it to cache dir, so that TFlite can load it directly.
-    private String copyAssetToFile() {
-        String outFileName;
-        String modelAssetName = mModelName + ".tflite";
-        AssetManager assetManager = mActivity.getAssets();
-        try {
-            InputStream in = assetManager.open(modelAssetName);
-
-            outFileName = mActivity.getCacheDir().getAbsolutePath() + "/" + modelAssetName;
-            File outFile = new File(outFileName);
-            OutputStream out = new FileOutputStream(outFile);
-
-            byte[] buffer = new byte[1024];
-            int read;
-            while((read = in.read(buffer)) != -1){
-                out.write(buffer, 0, read);
-            }
-            out.flush();
-
-            in.close();
-            out.close();
-        } catch(IOException e) {
-            Log.e(NNBenchmark.TAG, "Failed to copy asset file: " + modelAssetName, e);
-            return null;
-        }
-        return outFileName;
-    }
-}
diff --git a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTestList.java b/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTestList.java
deleted file mode 100644
index 39b4e59..0000000
--- a/nn/runtime/test/benchmark/src/com/example/android/nn/benchmark/NNTestList.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.nn.benchmark;
-
-public class NNTestList {
-    /**
-     * Define enum type for test names
-     */
-    public enum TestName {
-
-        MobileNet_FLOAT ("MobileNet float32", 160.f),
-        MobileNet_QUANT8 ("MobileNet quantized", 50.f);
-
-        private final String name;
-        public final float baseline;
-
-        private TestName(String s, float base) {
-            name = s;
-            baseline = base;
-        }
-        private TestName(String s) {
-            name = s;
-            baseline = 1.f;
-        }
-
-        // return quoted string as displayed test name
-        public String toString() {
-            return name;
-        }
-    }
-
-    static NNTestBase newTest(TestName testName) {
-        switch(testName) {
-            case MobileNet_FLOAT:
-                return new NNTestBase("mobilenet_float", new int[]{1, 224, 224, 3});
-            case MobileNet_QUANT8:
-                return new NNTestBase("mobilenet_quantized", new int[]{1, 224, 224, 3});
-            default:
-                return null;
-        }
-    }
-}
-
diff --git a/nn/runtime/test/for-cts/TestGeneratedOneFile.cpp b/nn/runtime/test/for-cts/TestGeneratedOneFile.cpp
new file mode 100644
index 0000000..4c6263d
--- /dev/null
+++ b/nn/runtime/test/for-cts/TestGeneratedOneFile.cpp
@@ -0,0 +1,325 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../GeneratedUtils.cpp"
+#include "../generated/tests/add_broadcast_quant8.mod.py.cpp"
+#include "../generated/tests/add.mod.py.cpp"
+#include "../generated/tests/add_quant8.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_1.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_2.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_3.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_4.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_5.mod.py.cpp"
+#include "../generated/tests/avg_pool_quant8_1.mod.py.cpp"
+#include "../generated/tests/avg_pool_quant8_2.mod.py.cpp"
+#include "../generated/tests/avg_pool_quant8_3.mod.py.cpp"
+#include "../generated/tests/avg_pool_quant8_4.mod.py.cpp"
+#include "../generated/tests/avg_pool_quant8_5.mod.py.cpp"
+#include "../generated/tests/concat_float_1.mod.py.cpp"
+#include "../generated/tests/concat_float_2.mod.py.cpp"
+#include "../generated/tests/concat_float_3.mod.py.cpp"
+#include "../generated/tests/concat_quant8_1.mod.py.cpp"
+#include "../generated/tests/concat_quant8_2.mod.py.cpp"
+#include "../generated/tests/concat_quant8_3.mod.py.cpp"
+#include "../generated/tests/conv_1_h3_w2_SAME.mod.py.cpp"
+#include "../generated/tests/conv_1_h3_w2_VALID.mod.py.cpp"
+#include "../generated/tests/conv_3_h3_w2_SAME.mod.py.cpp"
+#include "../generated/tests/conv_3_h3_w2_VALID.mod.py.cpp"
+#include "../generated/tests/conv_float_2.mod.py.cpp"
+#include "../generated/tests/conv_float_channels.mod.py.cpp"
+#include "../generated/tests/conv_float_channels_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/conv_float_large.mod.py.cpp"
+#include "../generated/tests/conv_float_large_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/conv_float.mod.py.cpp"
+#include "../generated/tests/conv_float_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/conv_quant8_2.mod.py.cpp"
+#include "../generated/tests/conv_quant8_channels.mod.py.cpp"
+#include "../generated/tests/conv_quant8_channels_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/conv_quant8_large.mod.py.cpp"
+#include "../generated/tests/conv_quant8_large_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/conv_quant8.mod.py.cpp"
+#include "../generated/tests/conv_quant8_overflow.mod.py.cpp"
+#include "../generated/tests/conv_quant8_overflow_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/conv_quant8_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/depth_to_space_float_1.mod.py.cpp"
+#include "../generated/tests/depth_to_space_float_2.mod.py.cpp"
+#include "../generated/tests/depth_to_space_float_3.mod.py.cpp"
+#include "../generated/tests/depth_to_space_quant8_1.mod.py.cpp"
+#include "../generated/tests/depth_to_space_quant8_2.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_2.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large_2.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_quant8_2.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_quant8_large.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_quant8_large_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_quant8.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_quant8_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/depthwise_conv.mod.py.cpp"
+#include "../generated/tests/dequantize.mod.py.cpp"
+#include "../generated/tests/embedding_lookup.mod.py.cpp"
+#include "../generated/tests/floor.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_2.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_large.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_large_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/fully_connected_float.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/fully_connected_quant8_2.mod.py.cpp"
+#include "../generated/tests/fully_connected_quant8_large.mod.py.cpp"
+#include "../generated/tests/fully_connected_quant8_large_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/fully_connected_quant8.mod.py.cpp"
+#include "../generated/tests/fully_connected_quant8_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/hashtable_lookup_float.mod.py.cpp"
+#include "../generated/tests/hashtable_lookup_quant8.mod.py.cpp"
+#include "../generated/tests/l2_normalization_2.mod.py.cpp"
+#include "../generated/tests/l2_normalization_large.mod.py.cpp"
+#include "../generated/tests/l2_normalization.mod.py.cpp"
+#include "../generated/tests/l2_pool_float_2.mod.py.cpp"
+#include "../generated/tests/l2_pool_float_large.mod.py.cpp"
+#include "../generated/tests/l2_pool_float.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_1.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_2.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_3.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_4.mod.py.cpp"
+#include "../generated/tests/logistic_float_1.mod.py.cpp"
+#include "../generated/tests/logistic_float_2.mod.py.cpp"
+#include "../generated/tests/logistic_quant8_1.mod.py.cpp"
+#include "../generated/tests/logistic_quant8_2.mod.py.cpp"
+#include "../generated/tests/lsh_projection_2.mod.py.cpp"
+#include "../generated/tests/lsh_projection.mod.py.cpp"
+#include "../generated/tests/lsh_projection_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/lstm2.mod.py.cpp"
+#include "../generated/tests/lstm2_state2.mod.py.cpp"
+#include "../generated/tests/lstm2_state.mod.py.cpp"
+#include "../generated/tests/lstm3.mod.py.cpp"
+#include "../generated/tests/lstm3_state2.mod.py.cpp"
+#include "../generated/tests/lstm3_state3.mod.py.cpp"
+#include "../generated/tests/lstm3_state.mod.py.cpp"
+#include "../generated/tests/lstm.mod.py.cpp"
+#include "../generated/tests/lstm_state2.mod.py.cpp"
+#include "../generated/tests/lstm_state.mod.py.cpp"
+#include "../generated/tests/max_pool_float_1.mod.py.cpp"
+#include "../generated/tests/max_pool_float_2.mod.py.cpp"
+#include "../generated/tests/max_pool_float_3.mod.py.cpp"
+#include "../generated/tests/max_pool_float_4.mod.py.cpp"
+#include "../generated/tests/max_pool_quant8_1.mod.py.cpp"
+#include "../generated/tests/max_pool_quant8_2.mod.py.cpp"
+#include "../generated/tests/max_pool_quant8_3.mod.py.cpp"
+#include "../generated/tests/max_pool_quant8_4.mod.py.cpp"
+#include "../generated/tests/mobilenet_224_gender_basic_fixed.mod.py.cpp"
+#include "../generated/tests/mobilenet_quantized.mod.py.cpp"
+#include "../generated/tests/mul_broadcast_quant8.mod.py.cpp"
+#include "../generated/tests/mul.mod.py.cpp"
+#include "../generated/tests/mul_quant8.mod.py.cpp"
+#include "../generated/tests/mul_relu.mod.py.cpp"
+#include "../generated/tests/relu1_float_1.mod.py.cpp"
+#include "../generated/tests/relu1_float_2.mod.py.cpp"
+#include "../generated/tests/relu1_quant8_1.mod.py.cpp"
+#include "../generated/tests/relu1_quant8_2.mod.py.cpp"
+#include "../generated/tests/relu6_float_1.mod.py.cpp"
+#include "../generated/tests/relu6_float_2.mod.py.cpp"
+#include "../generated/tests/relu6_quant8_1.mod.py.cpp"
+#include "../generated/tests/relu6_quant8_2.mod.py.cpp"
+#include "../generated/tests/relu_float_1.mod.py.cpp"
+#include "../generated/tests/relu_float_2.mod.py.cpp"
+#include "../generated/tests/relu_quant8_1.mod.py.cpp"
+#include "../generated/tests/relu_quant8_2.mod.py.cpp"
+#include "../generated/tests/reshape.mod.py.cpp"
+#include "../generated/tests/reshape_quant8.mod.py.cpp"
+#include "../generated/tests/reshape_quant8_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/reshape_weights_as_inputs.mod.py.cpp"
+#include "../generated/tests/resize_bilinear_2.mod.py.cpp"
+#include "../generated/tests/resize_bilinear.mod.py.cpp"
+#include "../generated/tests/rnn.mod.py.cpp"
+#include "../generated/tests/rnn_state.mod.py.cpp"
+#include "../generated/tests/softmax_float_1.mod.py.cpp"
+#include "../generated/tests/softmax_float_2.mod.py.cpp"
+#include "../generated/tests/softmax_quant8_1.mod.py.cpp"
+#include "../generated/tests/softmax_quant8_2.mod.py.cpp"
+#include "../generated/tests/space_to_depth_float_1.mod.py.cpp"
+#include "../generated/tests/space_to_depth_float_2.mod.py.cpp"
+#include "../generated/tests/space_to_depth_float_3.mod.py.cpp"
+#include "../generated/tests/space_to_depth_quant8_1.mod.py.cpp"
+#include "../generated/tests/space_to_depth_quant8_2.mod.py.cpp"
+#include "../generated/tests/svdf2.mod.py.cpp"
+#include "../generated/tests/svdf.mod.py.cpp"
+#include "../generated/tests/svdf_state.mod.py.cpp"
+#include "../generated/tests/tanh.mod.py.cpp"
+#include "../generated/tests/add_relaxed.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_4_relaxed.mod.py.cpp"
+#include "../generated/tests/avg_pool_float_5_relaxed.mod.py.cpp"
+#include "../generated/tests/batch_to_space_float_1.mod.py.cpp"
+#include "../generated/tests/batch_to_space_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/batch_to_space.mod.py.cpp"
+#include "../generated/tests/batch_to_space_quant8_1.mod.py.cpp"
+#include "../generated/tests/batch_to_space_relaxed.mod.py.cpp"
+#include "../generated/tests/concat_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/concat_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/concat_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_1_h3_w2_SAME_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_1_h3_w2_VALID_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_3_h3_w2_SAME_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_3_h3_w2_VALID_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_float_channels_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_float_channels_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_float_large_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_float_large_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_float_relaxed.mod.py.cpp"
+#include "../generated/tests/conv_float_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/depth_to_space_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/depth_to_space_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/depth_to_space_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large_2_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_large_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv2d_float_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/depthwise_conv_relaxed.mod.py.cpp"
+#include "../generated/tests/dequantize_relaxed.mod.py.cpp"
+#include "../generated/tests/div_broadcast_float.mod.py.cpp"
+#include "../generated/tests/div_broadcast_float_relaxed.mod.py.cpp"
+#include "../generated/tests/div.mod.py.cpp"
+#include "../generated/tests/div_relaxed.mod.py.cpp"
+#include "../generated/tests/embedding_lookup_relaxed.mod.py.cpp"
+#include "../generated/tests/floor_relaxed.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_4d_simple.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_4d_simple_relaxed.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_large_relaxed.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_large_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_relaxed.mod.py.cpp"
+#include "../generated/tests/fully_connected_float_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/hashtable_lookup_float_relaxed.mod.py.cpp"
+#include "../generated/tests/l2_normalization_2_relaxed.mod.py.cpp"
+#include "../generated/tests/l2_normalization_large_relaxed.mod.py.cpp"
+#include "../generated/tests/l2_normalization_relaxed.mod.py.cpp"
+#include "../generated/tests/l2_pool_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/l2_pool_float_large_relaxed.mod.py.cpp"
+#include "../generated/tests/l2_pool_float_relaxed.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/local_response_norm_float_4_relaxed.mod.py.cpp"
+#include "../generated/tests/logistic_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/logistic_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/lsh_projection_2_relaxed.mod.py.cpp"
+#include "../generated/tests/lsh_projection_relaxed.mod.py.cpp"
+#include "../generated/tests/lsh_projection_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm2_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm2_state2_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm2_state_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm3_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm3_state2_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm3_state3_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm3_state_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm_state2_relaxed.mod.py.cpp"
+#include "../generated/tests/lstm_state_relaxed.mod.py.cpp"
+#include "../generated/tests/max_pool_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/max_pool_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/max_pool_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/max_pool_float_4_relaxed.mod.py.cpp"
+#include "../generated/tests/mean_float_1.mod.py.cpp"
+#include "../generated/tests/mean_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/mean_float_2.mod.py.cpp"
+#include "../generated/tests/mean_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/mean.mod.py.cpp"
+#include "../generated/tests/mean_quant8_1.mod.py.cpp"
+#include "../generated/tests/mean_quant8_2.mod.py.cpp"
+#include "../generated/tests/mean_relaxed.mod.py.cpp"
+#include "../generated/tests/mobilenet_224_gender_basic_fixed_relaxed.mod.py.cpp"
+#include "../generated/tests/mul_relaxed.mod.py.cpp"
+#include "../generated/tests/mul_relu_relaxed.mod.py.cpp"
+#include "../generated/tests/pad_float_1.mod.py.cpp"
+#include "../generated/tests/pad_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/pad.mod.py.cpp"
+#include "../generated/tests/pad_relaxed.mod.py.cpp"
+#include "../generated/tests/relu1_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/relu1_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/relu6_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/relu6_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/relu_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/relu_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/reshape_relaxed.mod.py.cpp"
+#include "../generated/tests/reshape_weights_as_inputs_relaxed.mod.py.cpp"
+#include "../generated/tests/resize_bilinear_2_relaxed.mod.py.cpp"
+#include "../generated/tests/resize_bilinear_relaxed.mod.py.cpp"
+#include "../generated/tests/rnn_relaxed.mod.py.cpp"
+#include "../generated/tests/rnn_state_relaxed.mod.py.cpp"
+#include "../generated/tests/softmax_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/softmax_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/space_to_batch_float_1.mod.py.cpp"
+#include "../generated/tests/space_to_batch_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/space_to_batch_float_2.mod.py.cpp"
+#include "../generated/tests/space_to_batch_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/space_to_batch_float_3.mod.py.cpp"
+#include "../generated/tests/space_to_batch_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/space_to_batch.mod.py.cpp"
+#include "../generated/tests/space_to_batch_quant8_1.mod.py.cpp"
+#include "../generated/tests/space_to_batch_quant8_2.mod.py.cpp"
+#include "../generated/tests/space_to_batch_quant8_3.mod.py.cpp"
+#include "../generated/tests/space_to_batch_relaxed.mod.py.cpp"
+#include "../generated/tests/space_to_depth_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/space_to_depth_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/space_to_depth_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/squeeze_float_1.mod.py.cpp"
+#include "../generated/tests/squeeze_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/squeeze.mod.py.cpp"
+#include "../generated/tests/squeeze_quant8_1.mod.py.cpp"
+#include "../generated/tests/squeeze_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_10.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_10_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_11.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_11_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_1.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_2.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_2_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_3.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_3_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_4.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_4_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_5.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_5_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_6.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_6_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_7.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_7_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_8.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_8_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_9.mod.py.cpp"
+#include "../generated/tests/strided_slice_float_9_relaxed.mod.py.cpp"
+#include "../generated/tests/strided_slice.mod.py.cpp"
+#include "../generated/tests/strided_slice_qaunt8_10.mod.py.cpp"
+#include "../generated/tests/strided_slice_qaunt8_11.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_1.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_2.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_3.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_4.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_5.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_6.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_7.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_8.mod.py.cpp"
+#include "../generated/tests/strided_slice_quant8_9.mod.py.cpp"
+#include "../generated/tests/strided_slice_relaxed.mod.py.cpp"
+#include "../generated/tests/sub_broadcast_float.mod.py.cpp"
+#include "../generated/tests/sub_broadcast_float_relaxed.mod.py.cpp"
+#include "../generated/tests/sub.mod.py.cpp"
+#include "../generated/tests/sub_relaxed.mod.py.cpp"
+#include "../generated/tests/svdf2_relaxed.mod.py.cpp"
+#include "../generated/tests/svdf_relaxed.mod.py.cpp"
+#include "../generated/tests/svdf_state_relaxed.mod.py.cpp"
+#include "../generated/tests/tanh_relaxed.mod.py.cpp"
+#include "../generated/tests/transpose_float_1.mod.py.cpp"
+#include "../generated/tests/transpose_float_1_relaxed.mod.py.cpp"
+#include "../generated/tests/transpose.mod.py.cpp"
+#include "../generated/tests/transpose_quant8_1.mod.py.cpp"
+#include "../generated/tests/transpose_relaxed.mod.py.cpp"
diff --git a/nn/runtime/test/generated/all_generated_tests.cpp b/nn/runtime/test/generated/all_generated_tests.cpp
deleted file mode 100644
index 1a20a5a..0000000
--- a/nn/runtime/test/generated/all_generated_tests.cpp
+++ /dev/null
@@ -1,4510 +0,0 @@
-// DO NOT EDIT;
-// Generated by ml/nn/runtime/test/specs/generate_test.sh
-
-namespace add_broadcast_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated add_broadcast_quant8 test
-#include "generated/examples/add_broadcast_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/add_broadcast_quant8.model.cpp"
-} // namespace add_broadcast_quant8
-TEST_F(GeneratedTests, add_broadcast_quant8) {
-    execute(add_broadcast_quant8::CreateModel,
-            add_broadcast_quant8::is_ignored,
-            add_broadcast_quant8::examples);
-}
-
-namespace add {
-std::vector<MixedTypedExample> examples = {
-// Generated add test
-#include "generated/examples/add.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/add.model.cpp"
-} // namespace add
-TEST_F(GeneratedTests, add) {
-    execute(add::CreateModel,
-            add::is_ignored,
-            add::examples);
-}
-
-namespace add_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated add_quant8 test
-#include "generated/examples/add_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/add_quant8.model.cpp"
-} // namespace add_quant8
-TEST_F(GeneratedTests, add_quant8) {
-    execute(add_quant8::CreateModel,
-            add_quant8::is_ignored,
-            add_quant8::examples);
-}
-
-namespace avg_pool_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_1 test
-#include "generated/examples/avg_pool_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_1.model.cpp"
-} // namespace avg_pool_float_1
-TEST_F(GeneratedTests, avg_pool_float_1) {
-    execute(avg_pool_float_1::CreateModel,
-            avg_pool_float_1::is_ignored,
-            avg_pool_float_1::examples);
-}
-
-namespace avg_pool_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_2 test
-#include "generated/examples/avg_pool_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_2.model.cpp"
-} // namespace avg_pool_float_2
-TEST_F(GeneratedTests, avg_pool_float_2) {
-    execute(avg_pool_float_2::CreateModel,
-            avg_pool_float_2::is_ignored,
-            avg_pool_float_2::examples);
-}
-
-namespace avg_pool_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_3 test
-#include "generated/examples/avg_pool_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_3.model.cpp"
-} // namespace avg_pool_float_3
-TEST_F(GeneratedTests, avg_pool_float_3) {
-    execute(avg_pool_float_3::CreateModel,
-            avg_pool_float_3::is_ignored,
-            avg_pool_float_3::examples);
-}
-
-namespace avg_pool_float_4 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_4 test
-#include "generated/examples/avg_pool_float_4.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_4.model.cpp"
-} // namespace avg_pool_float_4
-TEST_F(GeneratedTests, avg_pool_float_4) {
-    execute(avg_pool_float_4::CreateModel,
-            avg_pool_float_4::is_ignored,
-            avg_pool_float_4::examples);
-}
-
-namespace avg_pool_float_5 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_5 test
-#include "generated/examples/avg_pool_float_5.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_5.model.cpp"
-} // namespace avg_pool_float_5
-TEST_F(GeneratedTests, avg_pool_float_5) {
-    execute(avg_pool_float_5::CreateModel,
-            avg_pool_float_5::is_ignored,
-            avg_pool_float_5::examples);
-}
-
-namespace avg_pool_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_quant8_1 test
-#include "generated/examples/avg_pool_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_quant8_1.model.cpp"
-} // namespace avg_pool_quant8_1
-TEST_F(GeneratedTests, avg_pool_quant8_1) {
-    execute(avg_pool_quant8_1::CreateModel,
-            avg_pool_quant8_1::is_ignored,
-            avg_pool_quant8_1::examples);
-}
-
-namespace avg_pool_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_quant8_2 test
-#include "generated/examples/avg_pool_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_quant8_2.model.cpp"
-} // namespace avg_pool_quant8_2
-TEST_F(GeneratedTests, avg_pool_quant8_2) {
-    execute(avg_pool_quant8_2::CreateModel,
-            avg_pool_quant8_2::is_ignored,
-            avg_pool_quant8_2::examples);
-}
-
-namespace avg_pool_quant8_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_quant8_3 test
-#include "generated/examples/avg_pool_quant8_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_quant8_3.model.cpp"
-} // namespace avg_pool_quant8_3
-TEST_F(GeneratedTests, avg_pool_quant8_3) {
-    execute(avg_pool_quant8_3::CreateModel,
-            avg_pool_quant8_3::is_ignored,
-            avg_pool_quant8_3::examples);
-}
-
-namespace avg_pool_quant8_4 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_quant8_4 test
-#include "generated/examples/avg_pool_quant8_4.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_quant8_4.model.cpp"
-} // namespace avg_pool_quant8_4
-TEST_F(GeneratedTests, avg_pool_quant8_4) {
-    execute(avg_pool_quant8_4::CreateModel,
-            avg_pool_quant8_4::is_ignored,
-            avg_pool_quant8_4::examples);
-}
-
-namespace avg_pool_quant8_5 {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_quant8_5 test
-#include "generated/examples/avg_pool_quant8_5.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_quant8_5.model.cpp"
-} // namespace avg_pool_quant8_5
-TEST_F(GeneratedTests, avg_pool_quant8_5) {
-    execute(avg_pool_quant8_5::CreateModel,
-            avg_pool_quant8_5::is_ignored,
-            avg_pool_quant8_5::examples);
-}
-
-namespace concat_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_float_1 test
-#include "generated/examples/concat_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_float_1.model.cpp"
-} // namespace concat_float_1
-TEST_F(GeneratedTests, concat_float_1) {
-    execute(concat_float_1::CreateModel,
-            concat_float_1::is_ignored,
-            concat_float_1::examples);
-}
-
-namespace concat_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_float_2 test
-#include "generated/examples/concat_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_float_2.model.cpp"
-} // namespace concat_float_2
-TEST_F(GeneratedTests, concat_float_2) {
-    execute(concat_float_2::CreateModel,
-            concat_float_2::is_ignored,
-            concat_float_2::examples);
-}
-
-namespace concat_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_float_3 test
-#include "generated/examples/concat_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_float_3.model.cpp"
-} // namespace concat_float_3
-TEST_F(GeneratedTests, concat_float_3) {
-    execute(concat_float_3::CreateModel,
-            concat_float_3::is_ignored,
-            concat_float_3::examples);
-}
-
-namespace concat_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_quant8_1 test
-#include "generated/examples/concat_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_quant8_1.model.cpp"
-} // namespace concat_quant8_1
-TEST_F(GeneratedTests, concat_quant8_1) {
-    execute(concat_quant8_1::CreateModel,
-            concat_quant8_1::is_ignored,
-            concat_quant8_1::examples);
-}
-
-namespace concat_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_quant8_2 test
-#include "generated/examples/concat_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_quant8_2.model.cpp"
-} // namespace concat_quant8_2
-TEST_F(GeneratedTests, concat_quant8_2) {
-    execute(concat_quant8_2::CreateModel,
-            concat_quant8_2::is_ignored,
-            concat_quant8_2::examples);
-}
-
-namespace concat_quant8_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_quant8_3 test
-#include "generated/examples/concat_quant8_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_quant8_3.model.cpp"
-} // namespace concat_quant8_3
-TEST_F(GeneratedTests, concat_quant8_3) {
-    execute(concat_quant8_3::CreateModel,
-            concat_quant8_3::is_ignored,
-            concat_quant8_3::examples);
-}
-
-namespace conv_1_h3_w2_SAME {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_1_h3_w2_SAME test
-#include "generated/examples/conv_1_h3_w2_SAME.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_1_h3_w2_SAME.model.cpp"
-} // namespace conv_1_h3_w2_SAME
-TEST_F(GeneratedTests, conv_1_h3_w2_SAME) {
-    execute(conv_1_h3_w2_SAME::CreateModel,
-            conv_1_h3_w2_SAME::is_ignored,
-            conv_1_h3_w2_SAME::examples);
-}
-
-namespace conv_1_h3_w2_VALID {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_1_h3_w2_VALID test
-#include "generated/examples/conv_1_h3_w2_VALID.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_1_h3_w2_VALID.model.cpp"
-} // namespace conv_1_h3_w2_VALID
-TEST_F(GeneratedTests, conv_1_h3_w2_VALID) {
-    execute(conv_1_h3_w2_VALID::CreateModel,
-            conv_1_h3_w2_VALID::is_ignored,
-            conv_1_h3_w2_VALID::examples);
-}
-
-namespace conv_3_h3_w2_SAME {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_3_h3_w2_SAME test
-#include "generated/examples/conv_3_h3_w2_SAME.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_3_h3_w2_SAME.model.cpp"
-} // namespace conv_3_h3_w2_SAME
-TEST_F(GeneratedTests, conv_3_h3_w2_SAME) {
-    execute(conv_3_h3_w2_SAME::CreateModel,
-            conv_3_h3_w2_SAME::is_ignored,
-            conv_3_h3_w2_SAME::examples);
-}
-
-namespace conv_3_h3_w2_VALID {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_3_h3_w2_VALID test
-#include "generated/examples/conv_3_h3_w2_VALID.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_3_h3_w2_VALID.model.cpp"
-} // namespace conv_3_h3_w2_VALID
-TEST_F(GeneratedTests, conv_3_h3_w2_VALID) {
-    execute(conv_3_h3_w2_VALID::CreateModel,
-            conv_3_h3_w2_VALID::is_ignored,
-            conv_3_h3_w2_VALID::examples);
-}
-
-namespace conv_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_2 test
-#include "generated/examples/conv_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_2.model.cpp"
-} // namespace conv_float_2
-TEST_F(GeneratedTests, conv_float_2) {
-    execute(conv_float_2::CreateModel,
-            conv_float_2::is_ignored,
-            conv_float_2::examples);
-}
-
-namespace conv_float_channels {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_channels test
-#include "generated/examples/conv_float_channels.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_channels.model.cpp"
-} // namespace conv_float_channels
-TEST_F(GeneratedTests, conv_float_channels) {
-    execute(conv_float_channels::CreateModel,
-            conv_float_channels::is_ignored,
-            conv_float_channels::examples);
-}
-
-namespace conv_float_channels_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_channels_weights_as_inputs test
-#include "generated/examples/conv_float_channels_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_channels_weights_as_inputs.model.cpp"
-} // namespace conv_float_channels_weights_as_inputs
-TEST_F(GeneratedTests, conv_float_channels_weights_as_inputs) {
-    execute(conv_float_channels_weights_as_inputs::CreateModel,
-            conv_float_channels_weights_as_inputs::is_ignored,
-            conv_float_channels_weights_as_inputs::examples);
-}
-
-namespace conv_float_large {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_large test
-#include "generated/examples/conv_float_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_large.model.cpp"
-} // namespace conv_float_large
-TEST_F(GeneratedTests, conv_float_large) {
-    execute(conv_float_large::CreateModel,
-            conv_float_large::is_ignored,
-            conv_float_large::examples);
-}
-
-namespace conv_float_large_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_large_weights_as_inputs test
-#include "generated/examples/conv_float_large_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_large_weights_as_inputs.model.cpp"
-} // namespace conv_float_large_weights_as_inputs
-TEST_F(GeneratedTests, conv_float_large_weights_as_inputs) {
-    execute(conv_float_large_weights_as_inputs::CreateModel,
-            conv_float_large_weights_as_inputs::is_ignored,
-            conv_float_large_weights_as_inputs::examples);
-}
-
-namespace conv_float {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float test
-#include "generated/examples/conv_float.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float.model.cpp"
-} // namespace conv_float
-TEST_F(GeneratedTests, conv_float) {
-    execute(conv_float::CreateModel,
-            conv_float::is_ignored,
-            conv_float::examples);
-}
-
-namespace conv_float_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_weights_as_inputs test
-#include "generated/examples/conv_float_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_weights_as_inputs.model.cpp"
-} // namespace conv_float_weights_as_inputs
-TEST_F(GeneratedTests, conv_float_weights_as_inputs) {
-    execute(conv_float_weights_as_inputs::CreateModel,
-            conv_float_weights_as_inputs::is_ignored,
-            conv_float_weights_as_inputs::examples);
-}
-
-namespace conv_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_2 test
-#include "generated/examples/conv_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_2.model.cpp"
-} // namespace conv_quant8_2
-TEST_F(GeneratedTests, conv_quant8_2) {
-    execute(conv_quant8_2::CreateModel,
-            conv_quant8_2::is_ignored,
-            conv_quant8_2::examples);
-}
-
-namespace conv_quant8_channels {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_channels test
-#include "generated/examples/conv_quant8_channels.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_channels.model.cpp"
-} // namespace conv_quant8_channels
-TEST_F(GeneratedTests, conv_quant8_channels) {
-    execute(conv_quant8_channels::CreateModel,
-            conv_quant8_channels::is_ignored,
-            conv_quant8_channels::examples);
-}
-
-namespace conv_quant8_channels_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_channels_weights_as_inputs test
-#include "generated/examples/conv_quant8_channels_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_channels_weights_as_inputs.model.cpp"
-} // namespace conv_quant8_channels_weights_as_inputs
-TEST_F(GeneratedTests, conv_quant8_channels_weights_as_inputs) {
-    execute(conv_quant8_channels_weights_as_inputs::CreateModel,
-            conv_quant8_channels_weights_as_inputs::is_ignored,
-            conv_quant8_channels_weights_as_inputs::examples);
-}
-
-namespace conv_quant8_large {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_large test
-#include "generated/examples/conv_quant8_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_large.model.cpp"
-} // namespace conv_quant8_large
-TEST_F(GeneratedTests, conv_quant8_large) {
-    execute(conv_quant8_large::CreateModel,
-            conv_quant8_large::is_ignored,
-            conv_quant8_large::examples);
-}
-
-namespace conv_quant8_large_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_large_weights_as_inputs test
-#include "generated/examples/conv_quant8_large_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_large_weights_as_inputs.model.cpp"
-} // namespace conv_quant8_large_weights_as_inputs
-TEST_F(GeneratedTests, conv_quant8_large_weights_as_inputs) {
-    execute(conv_quant8_large_weights_as_inputs::CreateModel,
-            conv_quant8_large_weights_as_inputs::is_ignored,
-            conv_quant8_large_weights_as_inputs::examples);
-}
-
-namespace conv_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8 test
-#include "generated/examples/conv_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8.model.cpp"
-} // namespace conv_quant8
-TEST_F(GeneratedTests, conv_quant8) {
-    execute(conv_quant8::CreateModel,
-            conv_quant8::is_ignored,
-            conv_quant8::examples);
-}
-
-namespace conv_quant8_overflow {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_overflow test
-#include "generated/examples/conv_quant8_overflow.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_overflow.model.cpp"
-} // namespace conv_quant8_overflow
-TEST_F(GeneratedTests, conv_quant8_overflow) {
-    execute(conv_quant8_overflow::CreateModel,
-            conv_quant8_overflow::is_ignored,
-            conv_quant8_overflow::examples);
-}
-
-namespace conv_quant8_overflow_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_overflow_weights_as_inputs test
-#include "generated/examples/conv_quant8_overflow_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_overflow_weights_as_inputs.model.cpp"
-} // namespace conv_quant8_overflow_weights_as_inputs
-TEST_F(GeneratedTests, conv_quant8_overflow_weights_as_inputs) {
-    execute(conv_quant8_overflow_weights_as_inputs::CreateModel,
-            conv_quant8_overflow_weights_as_inputs::is_ignored,
-            conv_quant8_overflow_weights_as_inputs::examples);
-}
-
-namespace conv_quant8_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_quant8_weights_as_inputs test
-#include "generated/examples/conv_quant8_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_quant8_weights_as_inputs.model.cpp"
-} // namespace conv_quant8_weights_as_inputs
-TEST_F(GeneratedTests, conv_quant8_weights_as_inputs) {
-    execute(conv_quant8_weights_as_inputs::CreateModel,
-            conv_quant8_weights_as_inputs::is_ignored,
-            conv_quant8_weights_as_inputs::examples);
-}
-
-namespace depth_to_space_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_float_1 test
-#include "generated/examples/depth_to_space_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_float_1.model.cpp"
-} // namespace depth_to_space_float_1
-TEST_F(GeneratedTests, depth_to_space_float_1) {
-    execute(depth_to_space_float_1::CreateModel,
-            depth_to_space_float_1::is_ignored,
-            depth_to_space_float_1::examples);
-}
-
-namespace depth_to_space_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_float_2 test
-#include "generated/examples/depth_to_space_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_float_2.model.cpp"
-} // namespace depth_to_space_float_2
-TEST_F(GeneratedTests, depth_to_space_float_2) {
-    execute(depth_to_space_float_2::CreateModel,
-            depth_to_space_float_2::is_ignored,
-            depth_to_space_float_2::examples);
-}
-
-namespace depth_to_space_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_float_3 test
-#include "generated/examples/depth_to_space_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_float_3.model.cpp"
-} // namespace depth_to_space_float_3
-TEST_F(GeneratedTests, depth_to_space_float_3) {
-    execute(depth_to_space_float_3::CreateModel,
-            depth_to_space_float_3::is_ignored,
-            depth_to_space_float_3::examples);
-}
-
-namespace depth_to_space_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_quant8_1 test
-#include "generated/examples/depth_to_space_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_quant8_1.model.cpp"
-} // namespace depth_to_space_quant8_1
-TEST_F(GeneratedTests, depth_to_space_quant8_1) {
-    execute(depth_to_space_quant8_1::CreateModel,
-            depth_to_space_quant8_1::is_ignored,
-            depth_to_space_quant8_1::examples);
-}
-
-namespace depth_to_space_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_quant8_2 test
-#include "generated/examples/depth_to_space_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_quant8_2.model.cpp"
-} // namespace depth_to_space_quant8_2
-TEST_F(GeneratedTests, depth_to_space_quant8_2) {
-    execute(depth_to_space_quant8_2::CreateModel,
-            depth_to_space_quant8_2::is_ignored,
-            depth_to_space_quant8_2::examples);
-}
-
-namespace depthwise_conv2d_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_2 test
-#include "generated/examples/depthwise_conv2d_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_2.model.cpp"
-} // namespace depthwise_conv2d_float_2
-TEST_F(GeneratedTests, depthwise_conv2d_float_2) {
-    execute(depthwise_conv2d_float_2::CreateModel,
-            depthwise_conv2d_float_2::is_ignored,
-            depthwise_conv2d_float_2::examples);
-}
-
-namespace depthwise_conv2d_float_large_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large_2 test
-#include "generated/examples/depthwise_conv2d_float_large_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large_2.model.cpp"
-} // namespace depthwise_conv2d_float_large_2
-TEST_F(GeneratedTests, depthwise_conv2d_float_large_2) {
-    execute(depthwise_conv2d_float_large_2::CreateModel,
-            depthwise_conv2d_float_large_2::is_ignored,
-            depthwise_conv2d_float_large_2::examples);
-}
-
-namespace depthwise_conv2d_float_large_2_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large_2_weights_as_inputs test
-#include "generated/examples/depthwise_conv2d_float_large_2_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large_2_weights_as_inputs.model.cpp"
-} // namespace depthwise_conv2d_float_large_2_weights_as_inputs
-TEST_F(GeneratedTests, depthwise_conv2d_float_large_2_weights_as_inputs) {
-    execute(depthwise_conv2d_float_large_2_weights_as_inputs::CreateModel,
-            depthwise_conv2d_float_large_2_weights_as_inputs::is_ignored,
-            depthwise_conv2d_float_large_2_weights_as_inputs::examples);
-}
-
-namespace depthwise_conv2d_float_large {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large test
-#include "generated/examples/depthwise_conv2d_float_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large.model.cpp"
-} // namespace depthwise_conv2d_float_large
-TEST_F(GeneratedTests, depthwise_conv2d_float_large) {
-    execute(depthwise_conv2d_float_large::CreateModel,
-            depthwise_conv2d_float_large::is_ignored,
-            depthwise_conv2d_float_large::examples);
-}
-
-namespace depthwise_conv2d_float_large_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large_weights_as_inputs test
-#include "generated/examples/depthwise_conv2d_float_large_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large_weights_as_inputs.model.cpp"
-} // namespace depthwise_conv2d_float_large_weights_as_inputs
-TEST_F(GeneratedTests, depthwise_conv2d_float_large_weights_as_inputs) {
-    execute(depthwise_conv2d_float_large_weights_as_inputs::CreateModel,
-            depthwise_conv2d_float_large_weights_as_inputs::is_ignored,
-            depthwise_conv2d_float_large_weights_as_inputs::examples);
-}
-
-namespace depthwise_conv2d_float {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float test
-#include "generated/examples/depthwise_conv2d_float.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float.model.cpp"
-} // namespace depthwise_conv2d_float
-TEST_F(GeneratedTests, depthwise_conv2d_float) {
-    execute(depthwise_conv2d_float::CreateModel,
-            depthwise_conv2d_float::is_ignored,
-            depthwise_conv2d_float::examples);
-}
-
-namespace depthwise_conv2d_float_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_weights_as_inputs test
-#include "generated/examples/depthwise_conv2d_float_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_weights_as_inputs.model.cpp"
-} // namespace depthwise_conv2d_float_weights_as_inputs
-TEST_F(GeneratedTests, depthwise_conv2d_float_weights_as_inputs) {
-    execute(depthwise_conv2d_float_weights_as_inputs::CreateModel,
-            depthwise_conv2d_float_weights_as_inputs::is_ignored,
-            depthwise_conv2d_float_weights_as_inputs::examples);
-}
-
-namespace depthwise_conv2d_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_quant8_2 test
-#include "generated/examples/depthwise_conv2d_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_quant8_2.model.cpp"
-} // namespace depthwise_conv2d_quant8_2
-TEST_F(GeneratedTests, depthwise_conv2d_quant8_2) {
-    execute(depthwise_conv2d_quant8_2::CreateModel,
-            depthwise_conv2d_quant8_2::is_ignored,
-            depthwise_conv2d_quant8_2::examples);
-}
-
-namespace depthwise_conv2d_quant8_large {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_quant8_large test
-#include "generated/examples/depthwise_conv2d_quant8_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_quant8_large.model.cpp"
-} // namespace depthwise_conv2d_quant8_large
-TEST_F(GeneratedTests, depthwise_conv2d_quant8_large) {
-    execute(depthwise_conv2d_quant8_large::CreateModel,
-            depthwise_conv2d_quant8_large::is_ignored,
-            depthwise_conv2d_quant8_large::examples);
-}
-
-namespace depthwise_conv2d_quant8_large_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_quant8_large_weights_as_inputs test
-#include "generated/examples/depthwise_conv2d_quant8_large_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_quant8_large_weights_as_inputs.model.cpp"
-} // namespace depthwise_conv2d_quant8_large_weights_as_inputs
-TEST_F(GeneratedTests, depthwise_conv2d_quant8_large_weights_as_inputs) {
-    execute(depthwise_conv2d_quant8_large_weights_as_inputs::CreateModel,
-            depthwise_conv2d_quant8_large_weights_as_inputs::is_ignored,
-            depthwise_conv2d_quant8_large_weights_as_inputs::examples);
-}
-
-namespace depthwise_conv2d_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_quant8 test
-#include "generated/examples/depthwise_conv2d_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_quant8.model.cpp"
-} // namespace depthwise_conv2d_quant8
-TEST_F(GeneratedTests, depthwise_conv2d_quant8) {
-    execute(depthwise_conv2d_quant8::CreateModel,
-            depthwise_conv2d_quant8::is_ignored,
-            depthwise_conv2d_quant8::examples);
-}
-
-namespace depthwise_conv2d_quant8_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_quant8_weights_as_inputs test
-#include "generated/examples/depthwise_conv2d_quant8_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_quant8_weights_as_inputs.model.cpp"
-} // namespace depthwise_conv2d_quant8_weights_as_inputs
-TEST_F(GeneratedTests, depthwise_conv2d_quant8_weights_as_inputs) {
-    execute(depthwise_conv2d_quant8_weights_as_inputs::CreateModel,
-            depthwise_conv2d_quant8_weights_as_inputs::is_ignored,
-            depthwise_conv2d_quant8_weights_as_inputs::examples);
-}
-
-namespace depthwise_conv {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv test
-#include "generated/examples/depthwise_conv.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv.model.cpp"
-} // namespace depthwise_conv
-TEST_F(GeneratedTests, depthwise_conv) {
-    execute(depthwise_conv::CreateModel,
-            depthwise_conv::is_ignored,
-            depthwise_conv::examples);
-}
-
-namespace dequantize {
-std::vector<MixedTypedExample> examples = {
-// Generated dequantize test
-#include "generated/examples/dequantize.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/dequantize.model.cpp"
-} // namespace dequantize
-TEST_F(GeneratedTests, dequantize) {
-    execute(dequantize::CreateModel,
-            dequantize::is_ignored,
-            dequantize::examples);
-}
-
-namespace embedding_lookup {
-std::vector<MixedTypedExample> examples = {
-// Generated embedding_lookup test
-#include "generated/examples/embedding_lookup.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/embedding_lookup.model.cpp"
-} // namespace embedding_lookup
-TEST_F(GeneratedTests, embedding_lookup) {
-    execute(embedding_lookup::CreateModel,
-            embedding_lookup::is_ignored,
-            embedding_lookup::examples);
-}
-
-namespace floor {
-std::vector<MixedTypedExample> examples = {
-// Generated floor test
-#include "generated/examples/floor.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/floor.model.cpp"
-} // namespace floor
-TEST_F(GeneratedTests, floor) {
-    execute(floor::CreateModel,
-            floor::is_ignored,
-            floor::examples);
-}
-
-namespace fully_connected_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_2 test
-#include "generated/examples/fully_connected_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_2.model.cpp"
-} // namespace fully_connected_float_2
-TEST_F(GeneratedTests, fully_connected_float_2) {
-    execute(fully_connected_float_2::CreateModel,
-            fully_connected_float_2::is_ignored,
-            fully_connected_float_2::examples);
-}
-
-namespace fully_connected_float_large {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_large test
-#include "generated/examples/fully_connected_float_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_large.model.cpp"
-} // namespace fully_connected_float_large
-TEST_F(GeneratedTests, fully_connected_float_large) {
-    execute(fully_connected_float_large::CreateModel,
-            fully_connected_float_large::is_ignored,
-            fully_connected_float_large::examples);
-}
-
-namespace fully_connected_float_large_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_large_weights_as_inputs test
-#include "generated/examples/fully_connected_float_large_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_large_weights_as_inputs.model.cpp"
-} // namespace fully_connected_float_large_weights_as_inputs
-TEST_F(GeneratedTests, fully_connected_float_large_weights_as_inputs) {
-    execute(fully_connected_float_large_weights_as_inputs::CreateModel,
-            fully_connected_float_large_weights_as_inputs::is_ignored,
-            fully_connected_float_large_weights_as_inputs::examples);
-}
-
-namespace fully_connected_float {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float test
-#include "generated/examples/fully_connected_float.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float.model.cpp"
-} // namespace fully_connected_float
-TEST_F(GeneratedTests, fully_connected_float) {
-    execute(fully_connected_float::CreateModel,
-            fully_connected_float::is_ignored,
-            fully_connected_float::examples);
-}
-
-namespace fully_connected_float_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_weights_as_inputs test
-#include "generated/examples/fully_connected_float_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_weights_as_inputs.model.cpp"
-} // namespace fully_connected_float_weights_as_inputs
-TEST_F(GeneratedTests, fully_connected_float_weights_as_inputs) {
-    execute(fully_connected_float_weights_as_inputs::CreateModel,
-            fully_connected_float_weights_as_inputs::is_ignored,
-            fully_connected_float_weights_as_inputs::examples);
-}
-
-namespace fully_connected_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_quant8_2 test
-#include "generated/examples/fully_connected_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_quant8_2.model.cpp"
-} // namespace fully_connected_quant8_2
-TEST_F(GeneratedTests, fully_connected_quant8_2) {
-    execute(fully_connected_quant8_2::CreateModel,
-            fully_connected_quant8_2::is_ignored,
-            fully_connected_quant8_2::examples);
-}
-
-namespace fully_connected_quant8_large {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_quant8_large test
-#include "generated/examples/fully_connected_quant8_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_quant8_large.model.cpp"
-} // namespace fully_connected_quant8_large
-TEST_F(GeneratedTests, fully_connected_quant8_large) {
-    execute(fully_connected_quant8_large::CreateModel,
-            fully_connected_quant8_large::is_ignored,
-            fully_connected_quant8_large::examples);
-}
-
-namespace fully_connected_quant8_large_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_quant8_large_weights_as_inputs test
-#include "generated/examples/fully_connected_quant8_large_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_quant8_large_weights_as_inputs.model.cpp"
-} // namespace fully_connected_quant8_large_weights_as_inputs
-TEST_F(GeneratedTests, fully_connected_quant8_large_weights_as_inputs) {
-    execute(fully_connected_quant8_large_weights_as_inputs::CreateModel,
-            fully_connected_quant8_large_weights_as_inputs::is_ignored,
-            fully_connected_quant8_large_weights_as_inputs::examples);
-}
-
-namespace fully_connected_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_quant8 test
-#include "generated/examples/fully_connected_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_quant8.model.cpp"
-} // namespace fully_connected_quant8
-TEST_F(GeneratedTests, fully_connected_quant8) {
-    execute(fully_connected_quant8::CreateModel,
-            fully_connected_quant8::is_ignored,
-            fully_connected_quant8::examples);
-}
-
-namespace fully_connected_quant8_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_quant8_weights_as_inputs test
-#include "generated/examples/fully_connected_quant8_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_quant8_weights_as_inputs.model.cpp"
-} // namespace fully_connected_quant8_weights_as_inputs
-TEST_F(GeneratedTests, fully_connected_quant8_weights_as_inputs) {
-    execute(fully_connected_quant8_weights_as_inputs::CreateModel,
-            fully_connected_quant8_weights_as_inputs::is_ignored,
-            fully_connected_quant8_weights_as_inputs::examples);
-}
-
-namespace hashtable_lookup_float {
-std::vector<MixedTypedExample> examples = {
-// Generated hashtable_lookup_float test
-#include "generated/examples/hashtable_lookup_float.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/hashtable_lookup_float.model.cpp"
-} // namespace hashtable_lookup_float
-TEST_F(GeneratedTests, hashtable_lookup_float) {
-    execute(hashtable_lookup_float::CreateModel,
-            hashtable_lookup_float::is_ignored,
-            hashtable_lookup_float::examples);
-}
-
-namespace hashtable_lookup_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated hashtable_lookup_quant8 test
-#include "generated/examples/hashtable_lookup_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/hashtable_lookup_quant8.model.cpp"
-} // namespace hashtable_lookup_quant8
-TEST_F(GeneratedTests, hashtable_lookup_quant8) {
-    execute(hashtable_lookup_quant8::CreateModel,
-            hashtable_lookup_quant8::is_ignored,
-            hashtable_lookup_quant8::examples);
-}
-
-namespace l2_normalization_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_normalization_2 test
-#include "generated/examples/l2_normalization_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_normalization_2.model.cpp"
-} // namespace l2_normalization_2
-TEST_F(GeneratedTests, l2_normalization_2) {
-    execute(l2_normalization_2::CreateModel,
-            l2_normalization_2::is_ignored,
-            l2_normalization_2::examples);
-}
-
-namespace l2_normalization_large {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_normalization_large test
-#include "generated/examples/l2_normalization_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_normalization_large.model.cpp"
-} // namespace l2_normalization_large
-TEST_F(GeneratedTests, l2_normalization_large) {
-    execute(l2_normalization_large::CreateModel,
-            l2_normalization_large::is_ignored,
-            l2_normalization_large::examples);
-}
-
-namespace l2_normalization {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_normalization test
-#include "generated/examples/l2_normalization.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_normalization.model.cpp"
-} // namespace l2_normalization
-TEST_F(GeneratedTests, l2_normalization) {
-    execute(l2_normalization::CreateModel,
-            l2_normalization::is_ignored,
-            l2_normalization::examples);
-}
-
-namespace l2_pool_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_pool_float_2 test
-#include "generated/examples/l2_pool_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_pool_float_2.model.cpp"
-} // namespace l2_pool_float_2
-TEST_F(GeneratedTests, l2_pool_float_2) {
-    execute(l2_pool_float_2::CreateModel,
-            l2_pool_float_2::is_ignored,
-            l2_pool_float_2::examples);
-}
-
-namespace l2_pool_float_large {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_pool_float_large test
-#include "generated/examples/l2_pool_float_large.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_pool_float_large.model.cpp"
-} // namespace l2_pool_float_large
-TEST_F(GeneratedTests, l2_pool_float_large) {
-    execute(l2_pool_float_large::CreateModel,
-            l2_pool_float_large::is_ignored,
-            l2_pool_float_large::examples);
-}
-
-namespace l2_pool_float {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_pool_float test
-#include "generated/examples/l2_pool_float.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_pool_float.model.cpp"
-} // namespace l2_pool_float
-TEST_F(GeneratedTests, l2_pool_float) {
-    execute(l2_pool_float::CreateModel,
-            l2_pool_float::is_ignored,
-            l2_pool_float::examples);
-}
-
-namespace local_response_norm_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_1 test
-#include "generated/examples/local_response_norm_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_1.model.cpp"
-} // namespace local_response_norm_float_1
-TEST_F(GeneratedTests, local_response_norm_float_1) {
-    execute(local_response_norm_float_1::CreateModel,
-            local_response_norm_float_1::is_ignored,
-            local_response_norm_float_1::examples);
-}
-
-namespace local_response_norm_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_2 test
-#include "generated/examples/local_response_norm_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_2.model.cpp"
-} // namespace local_response_norm_float_2
-TEST_F(GeneratedTests, local_response_norm_float_2) {
-    execute(local_response_norm_float_2::CreateModel,
-            local_response_norm_float_2::is_ignored,
-            local_response_norm_float_2::examples);
-}
-
-namespace local_response_norm_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_3 test
-#include "generated/examples/local_response_norm_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_3.model.cpp"
-} // namespace local_response_norm_float_3
-TEST_F(GeneratedTests, local_response_norm_float_3) {
-    execute(local_response_norm_float_3::CreateModel,
-            local_response_norm_float_3::is_ignored,
-            local_response_norm_float_3::examples);
-}
-
-namespace local_response_norm_float_4 {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_4 test
-#include "generated/examples/local_response_norm_float_4.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_4.model.cpp"
-} // namespace local_response_norm_float_4
-TEST_F(GeneratedTests, local_response_norm_float_4) {
-    execute(local_response_norm_float_4::CreateModel,
-            local_response_norm_float_4::is_ignored,
-            local_response_norm_float_4::examples);
-}
-
-namespace logistic_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated logistic_float_1 test
-#include "generated/examples/logistic_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/logistic_float_1.model.cpp"
-} // namespace logistic_float_1
-TEST_F(GeneratedTests, logistic_float_1) {
-    execute(logistic_float_1::CreateModel,
-            logistic_float_1::is_ignored,
-            logistic_float_1::examples);
-}
-
-namespace logistic_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated logistic_float_2 test
-#include "generated/examples/logistic_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/logistic_float_2.model.cpp"
-} // namespace logistic_float_2
-TEST_F(GeneratedTests, logistic_float_2) {
-    execute(logistic_float_2::CreateModel,
-            logistic_float_2::is_ignored,
-            logistic_float_2::examples);
-}
-
-namespace logistic_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated logistic_quant8_1 test
-#include "generated/examples/logistic_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/logistic_quant8_1.model.cpp"
-} // namespace logistic_quant8_1
-TEST_F(GeneratedTests, logistic_quant8_1) {
-    execute(logistic_quant8_1::CreateModel,
-            logistic_quant8_1::is_ignored,
-            logistic_quant8_1::examples);
-}
-
-namespace logistic_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated logistic_quant8_2 test
-#include "generated/examples/logistic_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/logistic_quant8_2.model.cpp"
-} // namespace logistic_quant8_2
-TEST_F(GeneratedTests, logistic_quant8_2) {
-    execute(logistic_quant8_2::CreateModel,
-            logistic_quant8_2::is_ignored,
-            logistic_quant8_2::examples);
-}
-
-namespace lsh_projection_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated lsh_projection_2 test
-#include "generated/examples/lsh_projection_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lsh_projection_2.model.cpp"
-} // namespace lsh_projection_2
-TEST_F(GeneratedTests, lsh_projection_2) {
-    execute(lsh_projection_2::CreateModel,
-            lsh_projection_2::is_ignored,
-            lsh_projection_2::examples);
-}
-
-namespace lsh_projection {
-std::vector<MixedTypedExample> examples = {
-// Generated lsh_projection test
-#include "generated/examples/lsh_projection.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lsh_projection.model.cpp"
-} // namespace lsh_projection
-TEST_F(GeneratedTests, lsh_projection) {
-    execute(lsh_projection::CreateModel,
-            lsh_projection::is_ignored,
-            lsh_projection::examples);
-}
-
-namespace lsh_projection_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated lsh_projection_weights_as_inputs test
-#include "generated/examples/lsh_projection_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lsh_projection_weights_as_inputs.model.cpp"
-} // namespace lsh_projection_weights_as_inputs
-TEST_F(GeneratedTests, lsh_projection_weights_as_inputs) {
-    execute(lsh_projection_weights_as_inputs::CreateModel,
-            lsh_projection_weights_as_inputs::is_ignored,
-            lsh_projection_weights_as_inputs::examples);
-}
-
-namespace lstm2 {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm2 test
-#include "generated/examples/lstm2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm2.model.cpp"
-} // namespace lstm2
-TEST_F(GeneratedTests, lstm2) {
-    execute(lstm2::CreateModel,
-            lstm2::is_ignored,
-            lstm2::examples);
-}
-
-namespace lstm2_state2 {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm2_state2 test
-#include "generated/examples/lstm2_state2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm2_state2.model.cpp"
-} // namespace lstm2_state2
-TEST_F(GeneratedTests, lstm2_state2) {
-    execute(lstm2_state2::CreateModel,
-            lstm2_state2::is_ignored,
-            lstm2_state2::examples);
-}
-
-namespace lstm2_state {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm2_state test
-#include "generated/examples/lstm2_state.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm2_state.model.cpp"
-} // namespace lstm2_state
-TEST_F(GeneratedTests, lstm2_state) {
-    execute(lstm2_state::CreateModel,
-            lstm2_state::is_ignored,
-            lstm2_state::examples);
-}
-
-namespace lstm3 {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3 test
-#include "generated/examples/lstm3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3.model.cpp"
-} // namespace lstm3
-TEST_F(GeneratedTests, lstm3) {
-    execute(lstm3::CreateModel,
-            lstm3::is_ignored,
-            lstm3::examples);
-}
-
-namespace lstm3_state2 {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3_state2 test
-#include "generated/examples/lstm3_state2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3_state2.model.cpp"
-} // namespace lstm3_state2
-TEST_F(GeneratedTests, lstm3_state2) {
-    execute(lstm3_state2::CreateModel,
-            lstm3_state2::is_ignored,
-            lstm3_state2::examples);
-}
-
-namespace lstm3_state3 {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3_state3 test
-#include "generated/examples/lstm3_state3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3_state3.model.cpp"
-} // namespace lstm3_state3
-TEST_F(GeneratedTests, lstm3_state3) {
-    execute(lstm3_state3::CreateModel,
-            lstm3_state3::is_ignored,
-            lstm3_state3::examples);
-}
-
-namespace lstm3_state {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3_state test
-#include "generated/examples/lstm3_state.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3_state.model.cpp"
-} // namespace lstm3_state
-TEST_F(GeneratedTests, lstm3_state) {
-    execute(lstm3_state::CreateModel,
-            lstm3_state::is_ignored,
-            lstm3_state::examples);
-}
-
-namespace lstm {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm test
-#include "generated/examples/lstm.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm.model.cpp"
-} // namespace lstm
-TEST_F(GeneratedTests, lstm) {
-    execute(lstm::CreateModel,
-            lstm::is_ignored,
-            lstm::examples);
-}
-
-namespace lstm_state2 {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm_state2 test
-#include "generated/examples/lstm_state2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm_state2.model.cpp"
-} // namespace lstm_state2
-TEST_F(GeneratedTests, lstm_state2) {
-    execute(lstm_state2::CreateModel,
-            lstm_state2::is_ignored,
-            lstm_state2::examples);
-}
-
-namespace lstm_state {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm_state test
-#include "generated/examples/lstm_state.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm_state.model.cpp"
-} // namespace lstm_state
-TEST_F(GeneratedTests, lstm_state) {
-    execute(lstm_state::CreateModel,
-            lstm_state::is_ignored,
-            lstm_state::examples);
-}
-
-namespace max_pool_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_1 test
-#include "generated/examples/max_pool_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_1.model.cpp"
-} // namespace max_pool_float_1
-TEST_F(GeneratedTests, max_pool_float_1) {
-    execute(max_pool_float_1::CreateModel,
-            max_pool_float_1::is_ignored,
-            max_pool_float_1::examples);
-}
-
-namespace max_pool_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_2 test
-#include "generated/examples/max_pool_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_2.model.cpp"
-} // namespace max_pool_float_2
-TEST_F(GeneratedTests, max_pool_float_2) {
-    execute(max_pool_float_2::CreateModel,
-            max_pool_float_2::is_ignored,
-            max_pool_float_2::examples);
-}
-
-namespace max_pool_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_3 test
-#include "generated/examples/max_pool_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_3.model.cpp"
-} // namespace max_pool_float_3
-TEST_F(GeneratedTests, max_pool_float_3) {
-    execute(max_pool_float_3::CreateModel,
-            max_pool_float_3::is_ignored,
-            max_pool_float_3::examples);
-}
-
-namespace max_pool_float_4 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_4 test
-#include "generated/examples/max_pool_float_4.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_4.model.cpp"
-} // namespace max_pool_float_4
-TEST_F(GeneratedTests, max_pool_float_4) {
-    execute(max_pool_float_4::CreateModel,
-            max_pool_float_4::is_ignored,
-            max_pool_float_4::examples);
-}
-
-namespace max_pool_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_quant8_1 test
-#include "generated/examples/max_pool_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_quant8_1.model.cpp"
-} // namespace max_pool_quant8_1
-TEST_F(GeneratedTests, max_pool_quant8_1) {
-    execute(max_pool_quant8_1::CreateModel,
-            max_pool_quant8_1::is_ignored,
-            max_pool_quant8_1::examples);
-}
-
-namespace max_pool_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_quant8_2 test
-#include "generated/examples/max_pool_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_quant8_2.model.cpp"
-} // namespace max_pool_quant8_2
-TEST_F(GeneratedTests, max_pool_quant8_2) {
-    execute(max_pool_quant8_2::CreateModel,
-            max_pool_quant8_2::is_ignored,
-            max_pool_quant8_2::examples);
-}
-
-namespace max_pool_quant8_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_quant8_3 test
-#include "generated/examples/max_pool_quant8_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_quant8_3.model.cpp"
-} // namespace max_pool_quant8_3
-TEST_F(GeneratedTests, max_pool_quant8_3) {
-    execute(max_pool_quant8_3::CreateModel,
-            max_pool_quant8_3::is_ignored,
-            max_pool_quant8_3::examples);
-}
-
-namespace max_pool_quant8_4 {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_quant8_4 test
-#include "generated/examples/max_pool_quant8_4.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_quant8_4.model.cpp"
-} // namespace max_pool_quant8_4
-TEST_F(GeneratedTests, max_pool_quant8_4) {
-    execute(max_pool_quant8_4::CreateModel,
-            max_pool_quant8_4::is_ignored,
-            max_pool_quant8_4::examples);
-}
-
-namespace mobilenet_224_gender_basic_fixed {
-std::vector<MixedTypedExample> examples = {
-// Generated mobilenet_224_gender_basic_fixed test
-#include "generated/examples/mobilenet_224_gender_basic_fixed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mobilenet_224_gender_basic_fixed.model.cpp"
-} // namespace mobilenet_224_gender_basic_fixed
-TEST_F(GeneratedTests, mobilenet_224_gender_basic_fixed) {
-    execute(mobilenet_224_gender_basic_fixed::CreateModel,
-            mobilenet_224_gender_basic_fixed::is_ignored,
-            mobilenet_224_gender_basic_fixed::examples);
-}
-
-namespace mobilenet_quantized {
-std::vector<MixedTypedExample> examples = {
-// Generated mobilenet_quantized test
-#include "generated/examples/mobilenet_quantized.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mobilenet_quantized.model.cpp"
-} // namespace mobilenet_quantized
-TEST_F(GeneratedTests, mobilenet_quantized) {
-    execute(mobilenet_quantized::CreateModel,
-            mobilenet_quantized::is_ignored,
-            mobilenet_quantized::examples);
-}
-
-namespace mul_broadcast_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated mul_broadcast_quant8 test
-#include "generated/examples/mul_broadcast_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mul_broadcast_quant8.model.cpp"
-} // namespace mul_broadcast_quant8
-TEST_F(GeneratedTests, mul_broadcast_quant8) {
-    execute(mul_broadcast_quant8::CreateModel,
-            mul_broadcast_quant8::is_ignored,
-            mul_broadcast_quant8::examples);
-}
-
-namespace mul {
-std::vector<MixedTypedExample> examples = {
-// Generated mul test
-#include "generated/examples/mul.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mul.model.cpp"
-} // namespace mul
-TEST_F(GeneratedTests, mul) {
-    execute(mul::CreateModel,
-            mul::is_ignored,
-            mul::examples);
-}
-
-namespace mul_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated mul_quant8 test
-#include "generated/examples/mul_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mul_quant8.model.cpp"
-} // namespace mul_quant8
-TEST_F(GeneratedTests, mul_quant8) {
-    execute(mul_quant8::CreateModel,
-            mul_quant8::is_ignored,
-            mul_quant8::examples);
-}
-
-namespace mul_relu {
-std::vector<MixedTypedExample> examples = {
-// Generated mul_relu test
-#include "generated/examples/mul_relu.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mul_relu.model.cpp"
-} // namespace mul_relu
-TEST_F(GeneratedTests, mul_relu) {
-    execute(mul_relu::CreateModel,
-            mul_relu::is_ignored,
-            mul_relu::examples);
-}
-
-namespace relu1_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu1_float_1 test
-#include "generated/examples/relu1_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu1_float_1.model.cpp"
-} // namespace relu1_float_1
-TEST_F(GeneratedTests, relu1_float_1) {
-    execute(relu1_float_1::CreateModel,
-            relu1_float_1::is_ignored,
-            relu1_float_1::examples);
-}
-
-namespace relu1_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu1_float_2 test
-#include "generated/examples/relu1_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu1_float_2.model.cpp"
-} // namespace relu1_float_2
-TEST_F(GeneratedTests, relu1_float_2) {
-    execute(relu1_float_2::CreateModel,
-            relu1_float_2::is_ignored,
-            relu1_float_2::examples);
-}
-
-namespace relu1_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu1_quant8_1 test
-#include "generated/examples/relu1_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu1_quant8_1.model.cpp"
-} // namespace relu1_quant8_1
-TEST_F(GeneratedTests, relu1_quant8_1) {
-    execute(relu1_quant8_1::CreateModel,
-            relu1_quant8_1::is_ignored,
-            relu1_quant8_1::examples);
-}
-
-namespace relu1_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu1_quant8_2 test
-#include "generated/examples/relu1_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu1_quant8_2.model.cpp"
-} // namespace relu1_quant8_2
-TEST_F(GeneratedTests, relu1_quant8_2) {
-    execute(relu1_quant8_2::CreateModel,
-            relu1_quant8_2::is_ignored,
-            relu1_quant8_2::examples);
-}
-
-namespace relu6_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu6_float_1 test
-#include "generated/examples/relu6_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu6_float_1.model.cpp"
-} // namespace relu6_float_1
-TEST_F(GeneratedTests, relu6_float_1) {
-    execute(relu6_float_1::CreateModel,
-            relu6_float_1::is_ignored,
-            relu6_float_1::examples);
-}
-
-namespace relu6_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu6_float_2 test
-#include "generated/examples/relu6_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu6_float_2.model.cpp"
-} // namespace relu6_float_2
-TEST_F(GeneratedTests, relu6_float_2) {
-    execute(relu6_float_2::CreateModel,
-            relu6_float_2::is_ignored,
-            relu6_float_2::examples);
-}
-
-namespace relu6_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu6_quant8_1 test
-#include "generated/examples/relu6_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu6_quant8_1.model.cpp"
-} // namespace relu6_quant8_1
-TEST_F(GeneratedTests, relu6_quant8_1) {
-    execute(relu6_quant8_1::CreateModel,
-            relu6_quant8_1::is_ignored,
-            relu6_quant8_1::examples);
-}
-
-namespace relu6_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu6_quant8_2 test
-#include "generated/examples/relu6_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu6_quant8_2.model.cpp"
-} // namespace relu6_quant8_2
-TEST_F(GeneratedTests, relu6_quant8_2) {
-    execute(relu6_quant8_2::CreateModel,
-            relu6_quant8_2::is_ignored,
-            relu6_quant8_2::examples);
-}
-
-namespace relu_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu_float_1 test
-#include "generated/examples/relu_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu_float_1.model.cpp"
-} // namespace relu_float_1
-TEST_F(GeneratedTests, relu_float_1) {
-    execute(relu_float_1::CreateModel,
-            relu_float_1::is_ignored,
-            relu_float_1::examples);
-}
-
-namespace relu_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu_float_2 test
-#include "generated/examples/relu_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu_float_2.model.cpp"
-} // namespace relu_float_2
-TEST_F(GeneratedTests, relu_float_2) {
-    execute(relu_float_2::CreateModel,
-            relu_float_2::is_ignored,
-            relu_float_2::examples);
-}
-
-namespace relu_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu_quant8_1 test
-#include "generated/examples/relu_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu_quant8_1.model.cpp"
-} // namespace relu_quant8_1
-TEST_F(GeneratedTests, relu_quant8_1) {
-    execute(relu_quant8_1::CreateModel,
-            relu_quant8_1::is_ignored,
-            relu_quant8_1::examples);
-}
-
-namespace relu_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated relu_quant8_2 test
-#include "generated/examples/relu_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu_quant8_2.model.cpp"
-} // namespace relu_quant8_2
-TEST_F(GeneratedTests, relu_quant8_2) {
-    execute(relu_quant8_2::CreateModel,
-            relu_quant8_2::is_ignored,
-            relu_quant8_2::examples);
-}
-
-namespace reshape {
-std::vector<MixedTypedExample> examples = {
-// Generated reshape test
-#include "generated/examples/reshape.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/reshape.model.cpp"
-} // namespace reshape
-TEST_F(GeneratedTests, reshape) {
-    execute(reshape::CreateModel,
-            reshape::is_ignored,
-            reshape::examples);
-}
-
-namespace reshape_quant8 {
-std::vector<MixedTypedExample> examples = {
-// Generated reshape_quant8 test
-#include "generated/examples/reshape_quant8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/reshape_quant8.model.cpp"
-} // namespace reshape_quant8
-TEST_F(GeneratedTests, reshape_quant8) {
-    execute(reshape_quant8::CreateModel,
-            reshape_quant8::is_ignored,
-            reshape_quant8::examples);
-}
-
-namespace reshape_quant8_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated reshape_quant8_weights_as_inputs test
-#include "generated/examples/reshape_quant8_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/reshape_quant8_weights_as_inputs.model.cpp"
-} // namespace reshape_quant8_weights_as_inputs
-TEST_F(GeneratedTests, reshape_quant8_weights_as_inputs) {
-    execute(reshape_quant8_weights_as_inputs::CreateModel,
-            reshape_quant8_weights_as_inputs::is_ignored,
-            reshape_quant8_weights_as_inputs::examples);
-}
-
-namespace reshape_weights_as_inputs {
-std::vector<MixedTypedExample> examples = {
-// Generated reshape_weights_as_inputs test
-#include "generated/examples/reshape_weights_as_inputs.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/reshape_weights_as_inputs.model.cpp"
-} // namespace reshape_weights_as_inputs
-TEST_F(GeneratedTests, reshape_weights_as_inputs) {
-    execute(reshape_weights_as_inputs::CreateModel,
-            reshape_weights_as_inputs::is_ignored,
-            reshape_weights_as_inputs::examples);
-}
-
-namespace resize_bilinear_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated resize_bilinear_2 test
-#include "generated/examples/resize_bilinear_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/resize_bilinear_2.model.cpp"
-} // namespace resize_bilinear_2
-TEST_F(GeneratedTests, resize_bilinear_2) {
-    execute(resize_bilinear_2::CreateModel,
-            resize_bilinear_2::is_ignored,
-            resize_bilinear_2::examples);
-}
-
-namespace resize_bilinear {
-std::vector<MixedTypedExample> examples = {
-// Generated resize_bilinear test
-#include "generated/examples/resize_bilinear.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/resize_bilinear.model.cpp"
-} // namespace resize_bilinear
-TEST_F(GeneratedTests, resize_bilinear) {
-    execute(resize_bilinear::CreateModel,
-            resize_bilinear::is_ignored,
-            resize_bilinear::examples);
-}
-
-namespace rnn {
-std::vector<MixedTypedExample> examples = {
-// Generated rnn test
-#include "generated/examples/rnn.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/rnn.model.cpp"
-} // namespace rnn
-TEST_F(GeneratedTests, rnn) {
-    execute(rnn::CreateModel,
-            rnn::is_ignored,
-            rnn::examples);
-}
-
-namespace rnn_state {
-std::vector<MixedTypedExample> examples = {
-// Generated rnn_state test
-#include "generated/examples/rnn_state.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/rnn_state.model.cpp"
-} // namespace rnn_state
-TEST_F(GeneratedTests, rnn_state) {
-    execute(rnn_state::CreateModel,
-            rnn_state::is_ignored,
-            rnn_state::examples);
-}
-
-namespace softmax_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated softmax_float_1 test
-#include "generated/examples/softmax_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/softmax_float_1.model.cpp"
-} // namespace softmax_float_1
-TEST_F(GeneratedTests, softmax_float_1) {
-    execute(softmax_float_1::CreateModel,
-            softmax_float_1::is_ignored,
-            softmax_float_1::examples);
-}
-
-namespace softmax_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated softmax_float_2 test
-#include "generated/examples/softmax_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/softmax_float_2.model.cpp"
-} // namespace softmax_float_2
-TEST_F(GeneratedTests, softmax_float_2) {
-    execute(softmax_float_2::CreateModel,
-            softmax_float_2::is_ignored,
-            softmax_float_2::examples);
-}
-
-namespace softmax_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated softmax_quant8_1 test
-#include "generated/examples/softmax_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/softmax_quant8_1.model.cpp"
-} // namespace softmax_quant8_1
-TEST_F(GeneratedTests, softmax_quant8_1) {
-    execute(softmax_quant8_1::CreateModel,
-            softmax_quant8_1::is_ignored,
-            softmax_quant8_1::examples);
-}
-
-namespace softmax_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated softmax_quant8_2 test
-#include "generated/examples/softmax_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/softmax_quant8_2.model.cpp"
-} // namespace softmax_quant8_2
-TEST_F(GeneratedTests, softmax_quant8_2) {
-    execute(softmax_quant8_2::CreateModel,
-            softmax_quant8_2::is_ignored,
-            softmax_quant8_2::examples);
-}
-
-namespace space_to_depth_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_float_1 test
-#include "generated/examples/space_to_depth_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_float_1.model.cpp"
-} // namespace space_to_depth_float_1
-TEST_F(GeneratedTests, space_to_depth_float_1) {
-    execute(space_to_depth_float_1::CreateModel,
-            space_to_depth_float_1::is_ignored,
-            space_to_depth_float_1::examples);
-}
-
-namespace space_to_depth_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_float_2 test
-#include "generated/examples/space_to_depth_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_float_2.model.cpp"
-} // namespace space_to_depth_float_2
-TEST_F(GeneratedTests, space_to_depth_float_2) {
-    execute(space_to_depth_float_2::CreateModel,
-            space_to_depth_float_2::is_ignored,
-            space_to_depth_float_2::examples);
-}
-
-namespace space_to_depth_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_float_3 test
-#include "generated/examples/space_to_depth_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_float_3.model.cpp"
-} // namespace space_to_depth_float_3
-TEST_F(GeneratedTests, space_to_depth_float_3) {
-    execute(space_to_depth_float_3::CreateModel,
-            space_to_depth_float_3::is_ignored,
-            space_to_depth_float_3::examples);
-}
-
-namespace space_to_depth_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_quant8_1 test
-#include "generated/examples/space_to_depth_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_quant8_1.model.cpp"
-} // namespace space_to_depth_quant8_1
-TEST_F(GeneratedTests, space_to_depth_quant8_1) {
-    execute(space_to_depth_quant8_1::CreateModel,
-            space_to_depth_quant8_1::is_ignored,
-            space_to_depth_quant8_1::examples);
-}
-
-namespace space_to_depth_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_quant8_2 test
-#include "generated/examples/space_to_depth_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_quant8_2.model.cpp"
-} // namespace space_to_depth_quant8_2
-TEST_F(GeneratedTests, space_to_depth_quant8_2) {
-    execute(space_to_depth_quant8_2::CreateModel,
-            space_to_depth_quant8_2::is_ignored,
-            space_to_depth_quant8_2::examples);
-}
-
-namespace svdf2 {
-std::vector<MixedTypedExample> examples = {
-// Generated svdf2 test
-#include "generated/examples/svdf2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/svdf2.model.cpp"
-} // namespace svdf2
-TEST_F(GeneratedTests, svdf2) {
-    execute(svdf2::CreateModel,
-            svdf2::is_ignored,
-            svdf2::examples);
-}
-
-namespace svdf {
-std::vector<MixedTypedExample> examples = {
-// Generated svdf test
-#include "generated/examples/svdf.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/svdf.model.cpp"
-} // namespace svdf
-TEST_F(GeneratedTests, svdf) {
-    execute(svdf::CreateModel,
-            svdf::is_ignored,
-            svdf::examples);
-}
-
-namespace svdf_state {
-std::vector<MixedTypedExample> examples = {
-// Generated svdf_state test
-#include "generated/examples/svdf_state.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/svdf_state.model.cpp"
-} // namespace svdf_state
-TEST_F(GeneratedTests, svdf_state) {
-    execute(svdf_state::CreateModel,
-            svdf_state::is_ignored,
-            svdf_state::examples);
-}
-
-namespace tanh {
-std::vector<MixedTypedExample> examples = {
-// Generated tanh test
-#include "generated/examples/tanh.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/tanh.model.cpp"
-} // namespace tanh
-TEST_F(GeneratedTests, tanh) {
-    execute(tanh::CreateModel,
-            tanh::is_ignored,
-            tanh::examples);
-}
-
-namespace add_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated add_relaxed test
-#include "generated/examples/add_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/add_relaxed.model.cpp"
-} // namespace add_relaxed
-TEST_F(GeneratedTests, add_relaxed) {
-    execute(add_relaxed::CreateModel,
-            add_relaxed::is_ignored,
-            add_relaxed::examples);
-}
-
-namespace avg_pool_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_1_relaxed test
-#include "generated/examples/avg_pool_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_1_relaxed.model.cpp"
-} // namespace avg_pool_float_1_relaxed
-TEST_F(GeneratedTests, avg_pool_float_1_relaxed) {
-    execute(avg_pool_float_1_relaxed::CreateModel,
-            avg_pool_float_1_relaxed::is_ignored,
-            avg_pool_float_1_relaxed::examples);
-}
-
-namespace avg_pool_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_2_relaxed test
-#include "generated/examples/avg_pool_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_2_relaxed.model.cpp"
-} // namespace avg_pool_float_2_relaxed
-TEST_F(GeneratedTests, avg_pool_float_2_relaxed) {
-    execute(avg_pool_float_2_relaxed::CreateModel,
-            avg_pool_float_2_relaxed::is_ignored,
-            avg_pool_float_2_relaxed::examples);
-}
-
-namespace avg_pool_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_3_relaxed test
-#include "generated/examples/avg_pool_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_3_relaxed.model.cpp"
-} // namespace avg_pool_float_3_relaxed
-TEST_F(GeneratedTests, avg_pool_float_3_relaxed) {
-    execute(avg_pool_float_3_relaxed::CreateModel,
-            avg_pool_float_3_relaxed::is_ignored,
-            avg_pool_float_3_relaxed::examples);
-}
-
-namespace avg_pool_float_4_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_4_relaxed test
-#include "generated/examples/avg_pool_float_4_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_4_relaxed.model.cpp"
-} // namespace avg_pool_float_4_relaxed
-TEST_F(GeneratedTests, avg_pool_float_4_relaxed) {
-    execute(avg_pool_float_4_relaxed::CreateModel,
-            avg_pool_float_4_relaxed::is_ignored,
-            avg_pool_float_4_relaxed::examples);
-}
-
-namespace avg_pool_float_5_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated avg_pool_float_5_relaxed test
-#include "generated/examples/avg_pool_float_5_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/avg_pool_float_5_relaxed.model.cpp"
-} // namespace avg_pool_float_5_relaxed
-TEST_F(GeneratedTests, avg_pool_float_5_relaxed) {
-    execute(avg_pool_float_5_relaxed::CreateModel,
-            avg_pool_float_5_relaxed::is_ignored,
-            avg_pool_float_5_relaxed::examples);
-}
-
-namespace batch_to_space_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated batch_to_space_float_1 test
-#include "generated/examples/batch_to_space_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/batch_to_space_float_1.model.cpp"
-} // namespace batch_to_space_float_1
-TEST_F(GeneratedTests, batch_to_space_float_1) {
-    execute(batch_to_space_float_1::CreateModel,
-            batch_to_space_float_1::is_ignored,
-            batch_to_space_float_1::examples);
-}
-
-namespace batch_to_space_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated batch_to_space_float_1_relaxed test
-#include "generated/examples/batch_to_space_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/batch_to_space_float_1_relaxed.model.cpp"
-} // namespace batch_to_space_float_1_relaxed
-TEST_F(GeneratedTests, batch_to_space_float_1_relaxed) {
-    execute(batch_to_space_float_1_relaxed::CreateModel,
-            batch_to_space_float_1_relaxed::is_ignored,
-            batch_to_space_float_1_relaxed::examples);
-}
-
-namespace batch_to_space {
-std::vector<MixedTypedExample> examples = {
-// Generated batch_to_space test
-#include "generated/examples/batch_to_space.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/batch_to_space.model.cpp"
-} // namespace batch_to_space
-TEST_F(GeneratedTests, batch_to_space) {
-    execute(batch_to_space::CreateModel,
-            batch_to_space::is_ignored,
-            batch_to_space::examples);
-}
-
-namespace batch_to_space_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated batch_to_space_quant8_1 test
-#include "generated/examples/batch_to_space_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/batch_to_space_quant8_1.model.cpp"
-} // namespace batch_to_space_quant8_1
-TEST_F(GeneratedTests, batch_to_space_quant8_1) {
-    execute(batch_to_space_quant8_1::CreateModel,
-            batch_to_space_quant8_1::is_ignored,
-            batch_to_space_quant8_1::examples);
-}
-
-namespace batch_to_space_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated batch_to_space_relaxed test
-#include "generated/examples/batch_to_space_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/batch_to_space_relaxed.model.cpp"
-} // namespace batch_to_space_relaxed
-TEST_F(GeneratedTests, batch_to_space_relaxed) {
-    execute(batch_to_space_relaxed::CreateModel,
-            batch_to_space_relaxed::is_ignored,
-            batch_to_space_relaxed::examples);
-}
-
-namespace concat_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_float_1_relaxed test
-#include "generated/examples/concat_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_float_1_relaxed.model.cpp"
-} // namespace concat_float_1_relaxed
-TEST_F(GeneratedTests, concat_float_1_relaxed) {
-    execute(concat_float_1_relaxed::CreateModel,
-            concat_float_1_relaxed::is_ignored,
-            concat_float_1_relaxed::examples);
-}
-
-namespace concat_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_float_2_relaxed test
-#include "generated/examples/concat_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_float_2_relaxed.model.cpp"
-} // namespace concat_float_2_relaxed
-TEST_F(GeneratedTests, concat_float_2_relaxed) {
-    execute(concat_float_2_relaxed::CreateModel,
-            concat_float_2_relaxed::is_ignored,
-            concat_float_2_relaxed::examples);
-}
-
-namespace concat_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated concat_float_3_relaxed test
-#include "generated/examples/concat_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/concat_float_3_relaxed.model.cpp"
-} // namespace concat_float_3_relaxed
-TEST_F(GeneratedTests, concat_float_3_relaxed) {
-    execute(concat_float_3_relaxed::CreateModel,
-            concat_float_3_relaxed::is_ignored,
-            concat_float_3_relaxed::examples);
-}
-
-namespace conv_1_h3_w2_SAME_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_1_h3_w2_SAME_relaxed test
-#include "generated/examples/conv_1_h3_w2_SAME_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_1_h3_w2_SAME_relaxed.model.cpp"
-} // namespace conv_1_h3_w2_SAME_relaxed
-TEST_F(GeneratedTests, conv_1_h3_w2_SAME_relaxed) {
-    execute(conv_1_h3_w2_SAME_relaxed::CreateModel,
-            conv_1_h3_w2_SAME_relaxed::is_ignored,
-            conv_1_h3_w2_SAME_relaxed::examples);
-}
-
-namespace conv_1_h3_w2_VALID_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_1_h3_w2_VALID_relaxed test
-#include "generated/examples/conv_1_h3_w2_VALID_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_1_h3_w2_VALID_relaxed.model.cpp"
-} // namespace conv_1_h3_w2_VALID_relaxed
-TEST_F(GeneratedTests, conv_1_h3_w2_VALID_relaxed) {
-    execute(conv_1_h3_w2_VALID_relaxed::CreateModel,
-            conv_1_h3_w2_VALID_relaxed::is_ignored,
-            conv_1_h3_w2_VALID_relaxed::examples);
-}
-
-namespace conv_3_h3_w2_SAME_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_3_h3_w2_SAME_relaxed test
-#include "generated/examples/conv_3_h3_w2_SAME_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_3_h3_w2_SAME_relaxed.model.cpp"
-} // namespace conv_3_h3_w2_SAME_relaxed
-TEST_F(GeneratedTests, conv_3_h3_w2_SAME_relaxed) {
-    execute(conv_3_h3_w2_SAME_relaxed::CreateModel,
-            conv_3_h3_w2_SAME_relaxed::is_ignored,
-            conv_3_h3_w2_SAME_relaxed::examples);
-}
-
-namespace conv_3_h3_w2_VALID_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_3_h3_w2_VALID_relaxed test
-#include "generated/examples/conv_3_h3_w2_VALID_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_3_h3_w2_VALID_relaxed.model.cpp"
-} // namespace conv_3_h3_w2_VALID_relaxed
-TEST_F(GeneratedTests, conv_3_h3_w2_VALID_relaxed) {
-    execute(conv_3_h3_w2_VALID_relaxed::CreateModel,
-            conv_3_h3_w2_VALID_relaxed::is_ignored,
-            conv_3_h3_w2_VALID_relaxed::examples);
-}
-
-namespace conv_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_2_relaxed test
-#include "generated/examples/conv_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_2_relaxed.model.cpp"
-} // namespace conv_float_2_relaxed
-TEST_F(GeneratedTests, conv_float_2_relaxed) {
-    execute(conv_float_2_relaxed::CreateModel,
-            conv_float_2_relaxed::is_ignored,
-            conv_float_2_relaxed::examples);
-}
-
-namespace conv_float_channels_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_channels_relaxed test
-#include "generated/examples/conv_float_channels_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_channels_relaxed.model.cpp"
-} // namespace conv_float_channels_relaxed
-TEST_F(GeneratedTests, conv_float_channels_relaxed) {
-    execute(conv_float_channels_relaxed::CreateModel,
-            conv_float_channels_relaxed::is_ignored,
-            conv_float_channels_relaxed::examples);
-}
-
-namespace conv_float_channels_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_channels_weights_as_inputs_relaxed test
-#include "generated/examples/conv_float_channels_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_channels_weights_as_inputs_relaxed.model.cpp"
-} // namespace conv_float_channels_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, conv_float_channels_weights_as_inputs_relaxed) {
-    execute(conv_float_channels_weights_as_inputs_relaxed::CreateModel,
-            conv_float_channels_weights_as_inputs_relaxed::is_ignored,
-            conv_float_channels_weights_as_inputs_relaxed::examples);
-}
-
-namespace conv_float_large_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_large_relaxed test
-#include "generated/examples/conv_float_large_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_large_relaxed.model.cpp"
-} // namespace conv_float_large_relaxed
-TEST_F(GeneratedTests, conv_float_large_relaxed) {
-    execute(conv_float_large_relaxed::CreateModel,
-            conv_float_large_relaxed::is_ignored,
-            conv_float_large_relaxed::examples);
-}
-
-namespace conv_float_large_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_large_weights_as_inputs_relaxed test
-#include "generated/examples/conv_float_large_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_large_weights_as_inputs_relaxed.model.cpp"
-} // namespace conv_float_large_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, conv_float_large_weights_as_inputs_relaxed) {
-    execute(conv_float_large_weights_as_inputs_relaxed::CreateModel,
-            conv_float_large_weights_as_inputs_relaxed::is_ignored,
-            conv_float_large_weights_as_inputs_relaxed::examples);
-}
-
-namespace conv_float_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_relaxed test
-#include "generated/examples/conv_float_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_relaxed.model.cpp"
-} // namespace conv_float_relaxed
-TEST_F(GeneratedTests, conv_float_relaxed) {
-    execute(conv_float_relaxed::CreateModel,
-            conv_float_relaxed::is_ignored,
-            conv_float_relaxed::examples);
-}
-
-namespace conv_float_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated conv_float_weights_as_inputs_relaxed test
-#include "generated/examples/conv_float_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/conv_float_weights_as_inputs_relaxed.model.cpp"
-} // namespace conv_float_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, conv_float_weights_as_inputs_relaxed) {
-    execute(conv_float_weights_as_inputs_relaxed::CreateModel,
-            conv_float_weights_as_inputs_relaxed::is_ignored,
-            conv_float_weights_as_inputs_relaxed::examples);
-}
-
-namespace depth_to_space_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_float_1_relaxed test
-#include "generated/examples/depth_to_space_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_float_1_relaxed.model.cpp"
-} // namespace depth_to_space_float_1_relaxed
-TEST_F(GeneratedTests, depth_to_space_float_1_relaxed) {
-    execute(depth_to_space_float_1_relaxed::CreateModel,
-            depth_to_space_float_1_relaxed::is_ignored,
-            depth_to_space_float_1_relaxed::examples);
-}
-
-namespace depth_to_space_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_float_2_relaxed test
-#include "generated/examples/depth_to_space_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_float_2_relaxed.model.cpp"
-} // namespace depth_to_space_float_2_relaxed
-TEST_F(GeneratedTests, depth_to_space_float_2_relaxed) {
-    execute(depth_to_space_float_2_relaxed::CreateModel,
-            depth_to_space_float_2_relaxed::is_ignored,
-            depth_to_space_float_2_relaxed::examples);
-}
-
-namespace depth_to_space_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depth_to_space_float_3_relaxed test
-#include "generated/examples/depth_to_space_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depth_to_space_float_3_relaxed.model.cpp"
-} // namespace depth_to_space_float_3_relaxed
-TEST_F(GeneratedTests, depth_to_space_float_3_relaxed) {
-    execute(depth_to_space_float_3_relaxed::CreateModel,
-            depth_to_space_float_3_relaxed::is_ignored,
-            depth_to_space_float_3_relaxed::examples);
-}
-
-namespace depthwise_conv2d_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_2_relaxed test
-#include "generated/examples/depthwise_conv2d_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_2_relaxed.model.cpp"
-} // namespace depthwise_conv2d_float_2_relaxed
-TEST_F(GeneratedTests, depthwise_conv2d_float_2_relaxed) {
-    execute(depthwise_conv2d_float_2_relaxed::CreateModel,
-            depthwise_conv2d_float_2_relaxed::is_ignored,
-            depthwise_conv2d_float_2_relaxed::examples);
-}
-
-namespace depthwise_conv2d_float_large_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large_2_relaxed test
-#include "generated/examples/depthwise_conv2d_float_large_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large_2_relaxed.model.cpp"
-} // namespace depthwise_conv2d_float_large_2_relaxed
-TEST_F(GeneratedTests, depthwise_conv2d_float_large_2_relaxed) {
-    execute(depthwise_conv2d_float_large_2_relaxed::CreateModel,
-            depthwise_conv2d_float_large_2_relaxed::is_ignored,
-            depthwise_conv2d_float_large_2_relaxed::examples);
-}
-
-namespace depthwise_conv2d_float_large_2_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large_2_weights_as_inputs_relaxed test
-#include "generated/examples/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.model.cpp"
-} // namespace depthwise_conv2d_float_large_2_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, depthwise_conv2d_float_large_2_weights_as_inputs_relaxed) {
-    execute(depthwise_conv2d_float_large_2_weights_as_inputs_relaxed::CreateModel,
-            depthwise_conv2d_float_large_2_weights_as_inputs_relaxed::is_ignored,
-            depthwise_conv2d_float_large_2_weights_as_inputs_relaxed::examples);
-}
-
-namespace depthwise_conv2d_float_large_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large_relaxed test
-#include "generated/examples/depthwise_conv2d_float_large_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large_relaxed.model.cpp"
-} // namespace depthwise_conv2d_float_large_relaxed
-TEST_F(GeneratedTests, depthwise_conv2d_float_large_relaxed) {
-    execute(depthwise_conv2d_float_large_relaxed::CreateModel,
-            depthwise_conv2d_float_large_relaxed::is_ignored,
-            depthwise_conv2d_float_large_relaxed::examples);
-}
-
-namespace depthwise_conv2d_float_large_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_large_weights_as_inputs_relaxed test
-#include "generated/examples/depthwise_conv2d_float_large_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_large_weights_as_inputs_relaxed.model.cpp"
-} // namespace depthwise_conv2d_float_large_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, depthwise_conv2d_float_large_weights_as_inputs_relaxed) {
-    execute(depthwise_conv2d_float_large_weights_as_inputs_relaxed::CreateModel,
-            depthwise_conv2d_float_large_weights_as_inputs_relaxed::is_ignored,
-            depthwise_conv2d_float_large_weights_as_inputs_relaxed::examples);
-}
-
-namespace depthwise_conv2d_float_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_relaxed test
-#include "generated/examples/depthwise_conv2d_float_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_relaxed.model.cpp"
-} // namespace depthwise_conv2d_float_relaxed
-TEST_F(GeneratedTests, depthwise_conv2d_float_relaxed) {
-    execute(depthwise_conv2d_float_relaxed::CreateModel,
-            depthwise_conv2d_float_relaxed::is_ignored,
-            depthwise_conv2d_float_relaxed::examples);
-}
-
-namespace depthwise_conv2d_float_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv2d_float_weights_as_inputs_relaxed test
-#include "generated/examples/depthwise_conv2d_float_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv2d_float_weights_as_inputs_relaxed.model.cpp"
-} // namespace depthwise_conv2d_float_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, depthwise_conv2d_float_weights_as_inputs_relaxed) {
-    execute(depthwise_conv2d_float_weights_as_inputs_relaxed::CreateModel,
-            depthwise_conv2d_float_weights_as_inputs_relaxed::is_ignored,
-            depthwise_conv2d_float_weights_as_inputs_relaxed::examples);
-}
-
-namespace depthwise_conv_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated depthwise_conv_relaxed test
-#include "generated/examples/depthwise_conv_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/depthwise_conv_relaxed.model.cpp"
-} // namespace depthwise_conv_relaxed
-TEST_F(GeneratedTests, depthwise_conv_relaxed) {
-    execute(depthwise_conv_relaxed::CreateModel,
-            depthwise_conv_relaxed::is_ignored,
-            depthwise_conv_relaxed::examples);
-}
-
-namespace dequantize_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated dequantize_relaxed test
-#include "generated/examples/dequantize_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/dequantize_relaxed.model.cpp"
-} // namespace dequantize_relaxed
-TEST_F(GeneratedTests, dequantize_relaxed) {
-    execute(dequantize_relaxed::CreateModel,
-            dequantize_relaxed::is_ignored,
-            dequantize_relaxed::examples);
-}
-
-namespace div_broadcast_float {
-std::vector<MixedTypedExample> examples = {
-// Generated div_broadcast_float test
-#include "generated/examples/div_broadcast_float.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/div_broadcast_float.model.cpp"
-} // namespace div_broadcast_float
-TEST_F(GeneratedTests, div_broadcast_float) {
-    execute(div_broadcast_float::CreateModel,
-            div_broadcast_float::is_ignored,
-            div_broadcast_float::examples);
-}
-
-namespace div_broadcast_float_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated div_broadcast_float_relaxed test
-#include "generated/examples/div_broadcast_float_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/div_broadcast_float_relaxed.model.cpp"
-} // namespace div_broadcast_float_relaxed
-TEST_F(GeneratedTests, div_broadcast_float_relaxed) {
-    execute(div_broadcast_float_relaxed::CreateModel,
-            div_broadcast_float_relaxed::is_ignored,
-            div_broadcast_float_relaxed::examples);
-}
-
-namespace div {
-std::vector<MixedTypedExample> examples = {
-// Generated div test
-#include "generated/examples/div.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/div.model.cpp"
-} // namespace div
-TEST_F(GeneratedTests, div) {
-    execute(div::CreateModel,
-            div::is_ignored,
-            div::examples);
-}
-
-namespace div_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated div_relaxed test
-#include "generated/examples/div_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/div_relaxed.model.cpp"
-} // namespace div_relaxed
-TEST_F(GeneratedTests, div_relaxed) {
-    execute(div_relaxed::CreateModel,
-            div_relaxed::is_ignored,
-            div_relaxed::examples);
-}
-
-namespace embedding_lookup_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated embedding_lookup_relaxed test
-#include "generated/examples/embedding_lookup_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/embedding_lookup_relaxed.model.cpp"
-} // namespace embedding_lookup_relaxed
-TEST_F(GeneratedTests, embedding_lookup_relaxed) {
-    execute(embedding_lookup_relaxed::CreateModel,
-            embedding_lookup_relaxed::is_ignored,
-            embedding_lookup_relaxed::examples);
-}
-
-namespace floor_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated floor_relaxed test
-#include "generated/examples/floor_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/floor_relaxed.model.cpp"
-} // namespace floor_relaxed
-TEST_F(GeneratedTests, floor_relaxed) {
-    execute(floor_relaxed::CreateModel,
-            floor_relaxed::is_ignored,
-            floor_relaxed::examples);
-}
-
-namespace fully_connected_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_2_relaxed test
-#include "generated/examples/fully_connected_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_2_relaxed.model.cpp"
-} // namespace fully_connected_float_2_relaxed
-TEST_F(GeneratedTests, fully_connected_float_2_relaxed) {
-    execute(fully_connected_float_2_relaxed::CreateModel,
-            fully_connected_float_2_relaxed::is_ignored,
-            fully_connected_float_2_relaxed::examples);
-}
-
-namespace fully_connected_float_4d_simple {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_4d_simple test
-#include "generated/examples/fully_connected_float_4d_simple.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_4d_simple.model.cpp"
-} // namespace fully_connected_float_4d_simple
-TEST_F(GeneratedTests, fully_connected_float_4d_simple) {
-    execute(fully_connected_float_4d_simple::CreateModel,
-            fully_connected_float_4d_simple::is_ignored,
-            fully_connected_float_4d_simple::examples);
-}
-
-namespace fully_connected_float_4d_simple_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_4d_simple_relaxed test
-#include "generated/examples/fully_connected_float_4d_simple_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_4d_simple_relaxed.model.cpp"
-} // namespace fully_connected_float_4d_simple_relaxed
-TEST_F(GeneratedTests, fully_connected_float_4d_simple_relaxed) {
-    execute(fully_connected_float_4d_simple_relaxed::CreateModel,
-            fully_connected_float_4d_simple_relaxed::is_ignored,
-            fully_connected_float_4d_simple_relaxed::examples);
-}
-
-namespace fully_connected_float_large_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_large_relaxed test
-#include "generated/examples/fully_connected_float_large_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_large_relaxed.model.cpp"
-} // namespace fully_connected_float_large_relaxed
-TEST_F(GeneratedTests, fully_connected_float_large_relaxed) {
-    execute(fully_connected_float_large_relaxed::CreateModel,
-            fully_connected_float_large_relaxed::is_ignored,
-            fully_connected_float_large_relaxed::examples);
-}
-
-namespace fully_connected_float_large_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_large_weights_as_inputs_relaxed test
-#include "generated/examples/fully_connected_float_large_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_large_weights_as_inputs_relaxed.model.cpp"
-} // namespace fully_connected_float_large_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, fully_connected_float_large_weights_as_inputs_relaxed) {
-    execute(fully_connected_float_large_weights_as_inputs_relaxed::CreateModel,
-            fully_connected_float_large_weights_as_inputs_relaxed::is_ignored,
-            fully_connected_float_large_weights_as_inputs_relaxed::examples);
-}
-
-namespace fully_connected_float_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_relaxed test
-#include "generated/examples/fully_connected_float_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_relaxed.model.cpp"
-} // namespace fully_connected_float_relaxed
-TEST_F(GeneratedTests, fully_connected_float_relaxed) {
-    execute(fully_connected_float_relaxed::CreateModel,
-            fully_connected_float_relaxed::is_ignored,
-            fully_connected_float_relaxed::examples);
-}
-
-namespace fully_connected_float_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated fully_connected_float_weights_as_inputs_relaxed test
-#include "generated/examples/fully_connected_float_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/fully_connected_float_weights_as_inputs_relaxed.model.cpp"
-} // namespace fully_connected_float_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, fully_connected_float_weights_as_inputs_relaxed) {
-    execute(fully_connected_float_weights_as_inputs_relaxed::CreateModel,
-            fully_connected_float_weights_as_inputs_relaxed::is_ignored,
-            fully_connected_float_weights_as_inputs_relaxed::examples);
-}
-
-namespace hashtable_lookup_float_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated hashtable_lookup_float_relaxed test
-#include "generated/examples/hashtable_lookup_float_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/hashtable_lookup_float_relaxed.model.cpp"
-} // namespace hashtable_lookup_float_relaxed
-TEST_F(GeneratedTests, hashtable_lookup_float_relaxed) {
-    execute(hashtable_lookup_float_relaxed::CreateModel,
-            hashtable_lookup_float_relaxed::is_ignored,
-            hashtable_lookup_float_relaxed::examples);
-}
-
-namespace l2_normalization_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_normalization_2_relaxed test
-#include "generated/examples/l2_normalization_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_normalization_2_relaxed.model.cpp"
-} // namespace l2_normalization_2_relaxed
-TEST_F(GeneratedTests, l2_normalization_2_relaxed) {
-    execute(l2_normalization_2_relaxed::CreateModel,
-            l2_normalization_2_relaxed::is_ignored,
-            l2_normalization_2_relaxed::examples);
-}
-
-namespace l2_normalization_large_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_normalization_large_relaxed test
-#include "generated/examples/l2_normalization_large_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_normalization_large_relaxed.model.cpp"
-} // namespace l2_normalization_large_relaxed
-TEST_F(GeneratedTests, l2_normalization_large_relaxed) {
-    execute(l2_normalization_large_relaxed::CreateModel,
-            l2_normalization_large_relaxed::is_ignored,
-            l2_normalization_large_relaxed::examples);
-}
-
-namespace l2_normalization_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_normalization_relaxed test
-#include "generated/examples/l2_normalization_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_normalization_relaxed.model.cpp"
-} // namespace l2_normalization_relaxed
-TEST_F(GeneratedTests, l2_normalization_relaxed) {
-    execute(l2_normalization_relaxed::CreateModel,
-            l2_normalization_relaxed::is_ignored,
-            l2_normalization_relaxed::examples);
-}
-
-namespace l2_pool_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_pool_float_2_relaxed test
-#include "generated/examples/l2_pool_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_pool_float_2_relaxed.model.cpp"
-} // namespace l2_pool_float_2_relaxed
-TEST_F(GeneratedTests, l2_pool_float_2_relaxed) {
-    execute(l2_pool_float_2_relaxed::CreateModel,
-            l2_pool_float_2_relaxed::is_ignored,
-            l2_pool_float_2_relaxed::examples);
-}
-
-namespace l2_pool_float_large_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_pool_float_large_relaxed test
-#include "generated/examples/l2_pool_float_large_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_pool_float_large_relaxed.model.cpp"
-} // namespace l2_pool_float_large_relaxed
-TEST_F(GeneratedTests, l2_pool_float_large_relaxed) {
-    execute(l2_pool_float_large_relaxed::CreateModel,
-            l2_pool_float_large_relaxed::is_ignored,
-            l2_pool_float_large_relaxed::examples);
-}
-
-namespace l2_pool_float_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated l2_pool_float_relaxed test
-#include "generated/examples/l2_pool_float_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/l2_pool_float_relaxed.model.cpp"
-} // namespace l2_pool_float_relaxed
-TEST_F(GeneratedTests, l2_pool_float_relaxed) {
-    execute(l2_pool_float_relaxed::CreateModel,
-            l2_pool_float_relaxed::is_ignored,
-            l2_pool_float_relaxed::examples);
-}
-
-namespace local_response_norm_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_1_relaxed test
-#include "generated/examples/local_response_norm_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_1_relaxed.model.cpp"
-} // namespace local_response_norm_float_1_relaxed
-TEST_F(GeneratedTests, local_response_norm_float_1_relaxed) {
-    execute(local_response_norm_float_1_relaxed::CreateModel,
-            local_response_norm_float_1_relaxed::is_ignored,
-            local_response_norm_float_1_relaxed::examples);
-}
-
-namespace local_response_norm_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_2_relaxed test
-#include "generated/examples/local_response_norm_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_2_relaxed.model.cpp"
-} // namespace local_response_norm_float_2_relaxed
-TEST_F(GeneratedTests, local_response_norm_float_2_relaxed) {
-    execute(local_response_norm_float_2_relaxed::CreateModel,
-            local_response_norm_float_2_relaxed::is_ignored,
-            local_response_norm_float_2_relaxed::examples);
-}
-
-namespace local_response_norm_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_3_relaxed test
-#include "generated/examples/local_response_norm_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_3_relaxed.model.cpp"
-} // namespace local_response_norm_float_3_relaxed
-TEST_F(GeneratedTests, local_response_norm_float_3_relaxed) {
-    execute(local_response_norm_float_3_relaxed::CreateModel,
-            local_response_norm_float_3_relaxed::is_ignored,
-            local_response_norm_float_3_relaxed::examples);
-}
-
-namespace local_response_norm_float_4_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated local_response_norm_float_4_relaxed test
-#include "generated/examples/local_response_norm_float_4_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/local_response_norm_float_4_relaxed.model.cpp"
-} // namespace local_response_norm_float_4_relaxed
-TEST_F(GeneratedTests, local_response_norm_float_4_relaxed) {
-    execute(local_response_norm_float_4_relaxed::CreateModel,
-            local_response_norm_float_4_relaxed::is_ignored,
-            local_response_norm_float_4_relaxed::examples);
-}
-
-namespace logistic_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated logistic_float_1_relaxed test
-#include "generated/examples/logistic_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/logistic_float_1_relaxed.model.cpp"
-} // namespace logistic_float_1_relaxed
-TEST_F(GeneratedTests, logistic_float_1_relaxed) {
-    execute(logistic_float_1_relaxed::CreateModel,
-            logistic_float_1_relaxed::is_ignored,
-            logistic_float_1_relaxed::examples);
-}
-
-namespace logistic_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated logistic_float_2_relaxed test
-#include "generated/examples/logistic_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/logistic_float_2_relaxed.model.cpp"
-} // namespace logistic_float_2_relaxed
-TEST_F(GeneratedTests, logistic_float_2_relaxed) {
-    execute(logistic_float_2_relaxed::CreateModel,
-            logistic_float_2_relaxed::is_ignored,
-            logistic_float_2_relaxed::examples);
-}
-
-namespace lsh_projection_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lsh_projection_2_relaxed test
-#include "generated/examples/lsh_projection_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lsh_projection_2_relaxed.model.cpp"
-} // namespace lsh_projection_2_relaxed
-TEST_F(GeneratedTests, lsh_projection_2_relaxed) {
-    execute(lsh_projection_2_relaxed::CreateModel,
-            lsh_projection_2_relaxed::is_ignored,
-            lsh_projection_2_relaxed::examples);
-}
-
-namespace lsh_projection_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lsh_projection_relaxed test
-#include "generated/examples/lsh_projection_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lsh_projection_relaxed.model.cpp"
-} // namespace lsh_projection_relaxed
-TEST_F(GeneratedTests, lsh_projection_relaxed) {
-    execute(lsh_projection_relaxed::CreateModel,
-            lsh_projection_relaxed::is_ignored,
-            lsh_projection_relaxed::examples);
-}
-
-namespace lsh_projection_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lsh_projection_weights_as_inputs_relaxed test
-#include "generated/examples/lsh_projection_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lsh_projection_weights_as_inputs_relaxed.model.cpp"
-} // namespace lsh_projection_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, lsh_projection_weights_as_inputs_relaxed) {
-    execute(lsh_projection_weights_as_inputs_relaxed::CreateModel,
-            lsh_projection_weights_as_inputs_relaxed::is_ignored,
-            lsh_projection_weights_as_inputs_relaxed::examples);
-}
-
-namespace lstm2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm2_relaxed test
-#include "generated/examples/lstm2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm2_relaxed.model.cpp"
-} // namespace lstm2_relaxed
-TEST_F(GeneratedTests, lstm2_relaxed) {
-    execute(lstm2_relaxed::CreateModel,
-            lstm2_relaxed::is_ignored,
-            lstm2_relaxed::examples);
-}
-
-namespace lstm2_state2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm2_state2_relaxed test
-#include "generated/examples/lstm2_state2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm2_state2_relaxed.model.cpp"
-} // namespace lstm2_state2_relaxed
-TEST_F(GeneratedTests, lstm2_state2_relaxed) {
-    execute(lstm2_state2_relaxed::CreateModel,
-            lstm2_state2_relaxed::is_ignored,
-            lstm2_state2_relaxed::examples);
-}
-
-namespace lstm2_state_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm2_state_relaxed test
-#include "generated/examples/lstm2_state_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm2_state_relaxed.model.cpp"
-} // namespace lstm2_state_relaxed
-TEST_F(GeneratedTests, lstm2_state_relaxed) {
-    execute(lstm2_state_relaxed::CreateModel,
-            lstm2_state_relaxed::is_ignored,
-            lstm2_state_relaxed::examples);
-}
-
-namespace lstm3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3_relaxed test
-#include "generated/examples/lstm3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3_relaxed.model.cpp"
-} // namespace lstm3_relaxed
-TEST_F(GeneratedTests, lstm3_relaxed) {
-    execute(lstm3_relaxed::CreateModel,
-            lstm3_relaxed::is_ignored,
-            lstm3_relaxed::examples);
-}
-
-namespace lstm3_state2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3_state2_relaxed test
-#include "generated/examples/lstm3_state2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3_state2_relaxed.model.cpp"
-} // namespace lstm3_state2_relaxed
-TEST_F(GeneratedTests, lstm3_state2_relaxed) {
-    execute(lstm3_state2_relaxed::CreateModel,
-            lstm3_state2_relaxed::is_ignored,
-            lstm3_state2_relaxed::examples);
-}
-
-namespace lstm3_state3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3_state3_relaxed test
-#include "generated/examples/lstm3_state3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3_state3_relaxed.model.cpp"
-} // namespace lstm3_state3_relaxed
-TEST_F(GeneratedTests, lstm3_state3_relaxed) {
-    execute(lstm3_state3_relaxed::CreateModel,
-            lstm3_state3_relaxed::is_ignored,
-            lstm3_state3_relaxed::examples);
-}
-
-namespace lstm3_state_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm3_state_relaxed test
-#include "generated/examples/lstm3_state_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm3_state_relaxed.model.cpp"
-} // namespace lstm3_state_relaxed
-TEST_F(GeneratedTests, lstm3_state_relaxed) {
-    execute(lstm3_state_relaxed::CreateModel,
-            lstm3_state_relaxed::is_ignored,
-            lstm3_state_relaxed::examples);
-}
-
-namespace lstm_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm_relaxed test
-#include "generated/examples/lstm_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm_relaxed.model.cpp"
-} // namespace lstm_relaxed
-TEST_F(GeneratedTests, lstm_relaxed) {
-    execute(lstm_relaxed::CreateModel,
-            lstm_relaxed::is_ignored,
-            lstm_relaxed::examples);
-}
-
-namespace lstm_state2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm_state2_relaxed test
-#include "generated/examples/lstm_state2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm_state2_relaxed.model.cpp"
-} // namespace lstm_state2_relaxed
-TEST_F(GeneratedTests, lstm_state2_relaxed) {
-    execute(lstm_state2_relaxed::CreateModel,
-            lstm_state2_relaxed::is_ignored,
-            lstm_state2_relaxed::examples);
-}
-
-namespace lstm_state_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated lstm_state_relaxed test
-#include "generated/examples/lstm_state_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/lstm_state_relaxed.model.cpp"
-} // namespace lstm_state_relaxed
-TEST_F(GeneratedTests, lstm_state_relaxed) {
-    execute(lstm_state_relaxed::CreateModel,
-            lstm_state_relaxed::is_ignored,
-            lstm_state_relaxed::examples);
-}
-
-namespace max_pool_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_1_relaxed test
-#include "generated/examples/max_pool_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_1_relaxed.model.cpp"
-} // namespace max_pool_float_1_relaxed
-TEST_F(GeneratedTests, max_pool_float_1_relaxed) {
-    execute(max_pool_float_1_relaxed::CreateModel,
-            max_pool_float_1_relaxed::is_ignored,
-            max_pool_float_1_relaxed::examples);
-}
-
-namespace max_pool_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_2_relaxed test
-#include "generated/examples/max_pool_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_2_relaxed.model.cpp"
-} // namespace max_pool_float_2_relaxed
-TEST_F(GeneratedTests, max_pool_float_2_relaxed) {
-    execute(max_pool_float_2_relaxed::CreateModel,
-            max_pool_float_2_relaxed::is_ignored,
-            max_pool_float_2_relaxed::examples);
-}
-
-namespace max_pool_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_3_relaxed test
-#include "generated/examples/max_pool_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_3_relaxed.model.cpp"
-} // namespace max_pool_float_3_relaxed
-TEST_F(GeneratedTests, max_pool_float_3_relaxed) {
-    execute(max_pool_float_3_relaxed::CreateModel,
-            max_pool_float_3_relaxed::is_ignored,
-            max_pool_float_3_relaxed::examples);
-}
-
-namespace max_pool_float_4_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated max_pool_float_4_relaxed test
-#include "generated/examples/max_pool_float_4_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/max_pool_float_4_relaxed.model.cpp"
-} // namespace max_pool_float_4_relaxed
-TEST_F(GeneratedTests, max_pool_float_4_relaxed) {
-    execute(max_pool_float_4_relaxed::CreateModel,
-            max_pool_float_4_relaxed::is_ignored,
-            max_pool_float_4_relaxed::examples);
-}
-
-namespace mean_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated mean_float_1 test
-#include "generated/examples/mean_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean_float_1.model.cpp"
-} // namespace mean_float_1
-TEST_F(GeneratedTests, mean_float_1) {
-    execute(mean_float_1::CreateModel,
-            mean_float_1::is_ignored,
-            mean_float_1::examples);
-}
-
-namespace mean_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated mean_float_1_relaxed test
-#include "generated/examples/mean_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean_float_1_relaxed.model.cpp"
-} // namespace mean_float_1_relaxed
-TEST_F(GeneratedTests, mean_float_1_relaxed) {
-    execute(mean_float_1_relaxed::CreateModel,
-            mean_float_1_relaxed::is_ignored,
-            mean_float_1_relaxed::examples);
-}
-
-namespace mean_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated mean_float_2 test
-#include "generated/examples/mean_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean_float_2.model.cpp"
-} // namespace mean_float_2
-TEST_F(GeneratedTests, mean_float_2) {
-    execute(mean_float_2::CreateModel,
-            mean_float_2::is_ignored,
-            mean_float_2::examples);
-}
-
-namespace mean_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated mean_float_2_relaxed test
-#include "generated/examples/mean_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean_float_2_relaxed.model.cpp"
-} // namespace mean_float_2_relaxed
-TEST_F(GeneratedTests, mean_float_2_relaxed) {
-    execute(mean_float_2_relaxed::CreateModel,
-            mean_float_2_relaxed::is_ignored,
-            mean_float_2_relaxed::examples);
-}
-
-namespace mean {
-std::vector<MixedTypedExample> examples = {
-// Generated mean test
-#include "generated/examples/mean.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean.model.cpp"
-} // namespace mean
-TEST_F(GeneratedTests, mean) {
-    execute(mean::CreateModel,
-            mean::is_ignored,
-            mean::examples);
-}
-
-namespace mean_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated mean_quant8_1 test
-#include "generated/examples/mean_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean_quant8_1.model.cpp"
-} // namespace mean_quant8_1
-TEST_F(GeneratedTests, mean_quant8_1) {
-    execute(mean_quant8_1::CreateModel,
-            mean_quant8_1::is_ignored,
-            mean_quant8_1::examples);
-}
-
-namespace mean_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated mean_quant8_2 test
-#include "generated/examples/mean_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean_quant8_2.model.cpp"
-} // namespace mean_quant8_2
-TEST_F(GeneratedTests, mean_quant8_2) {
-    execute(mean_quant8_2::CreateModel,
-            mean_quant8_2::is_ignored,
-            mean_quant8_2::examples);
-}
-
-namespace mean_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated mean_relaxed test
-#include "generated/examples/mean_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mean_relaxed.model.cpp"
-} // namespace mean_relaxed
-TEST_F(GeneratedTests, mean_relaxed) {
-    execute(mean_relaxed::CreateModel,
-            mean_relaxed::is_ignored,
-            mean_relaxed::examples);
-}
-
-namespace mobilenet_224_gender_basic_fixed_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated mobilenet_224_gender_basic_fixed_relaxed test
-#include "generated/examples/mobilenet_224_gender_basic_fixed_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mobilenet_224_gender_basic_fixed_relaxed.model.cpp"
-} // namespace mobilenet_224_gender_basic_fixed_relaxed
-TEST_F(GeneratedTests, mobilenet_224_gender_basic_fixed_relaxed) {
-    execute(mobilenet_224_gender_basic_fixed_relaxed::CreateModel,
-            mobilenet_224_gender_basic_fixed_relaxed::is_ignored,
-            mobilenet_224_gender_basic_fixed_relaxed::examples);
-}
-
-namespace mul_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated mul_relaxed test
-#include "generated/examples/mul_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mul_relaxed.model.cpp"
-} // namespace mul_relaxed
-TEST_F(GeneratedTests, mul_relaxed) {
-    execute(mul_relaxed::CreateModel,
-            mul_relaxed::is_ignored,
-            mul_relaxed::examples);
-}
-
-namespace mul_relu_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated mul_relu_relaxed test
-#include "generated/examples/mul_relu_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/mul_relu_relaxed.model.cpp"
-} // namespace mul_relu_relaxed
-TEST_F(GeneratedTests, mul_relu_relaxed) {
-    execute(mul_relu_relaxed::CreateModel,
-            mul_relu_relaxed::is_ignored,
-            mul_relu_relaxed::examples);
-}
-
-namespace pad_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated pad_float_1 test
-#include "generated/examples/pad_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/pad_float_1.model.cpp"
-} // namespace pad_float_1
-TEST_F(GeneratedTests, pad_float_1) {
-    execute(pad_float_1::CreateModel,
-            pad_float_1::is_ignored,
-            pad_float_1::examples);
-}
-
-namespace pad_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated pad_float_1_relaxed test
-#include "generated/examples/pad_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/pad_float_1_relaxed.model.cpp"
-} // namespace pad_float_1_relaxed
-TEST_F(GeneratedTests, pad_float_1_relaxed) {
-    execute(pad_float_1_relaxed::CreateModel,
-            pad_float_1_relaxed::is_ignored,
-            pad_float_1_relaxed::examples);
-}
-
-namespace pad {
-std::vector<MixedTypedExample> examples = {
-// Generated pad test
-#include "generated/examples/pad.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/pad.model.cpp"
-} // namespace pad
-TEST_F(GeneratedTests, pad) {
-    execute(pad::CreateModel,
-            pad::is_ignored,
-            pad::examples);
-}
-
-namespace pad_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated pad_relaxed test
-#include "generated/examples/pad_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/pad_relaxed.model.cpp"
-} // namespace pad_relaxed
-TEST_F(GeneratedTests, pad_relaxed) {
-    execute(pad_relaxed::CreateModel,
-            pad_relaxed::is_ignored,
-            pad_relaxed::examples);
-}
-
-namespace relu1_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated relu1_float_1_relaxed test
-#include "generated/examples/relu1_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu1_float_1_relaxed.model.cpp"
-} // namespace relu1_float_1_relaxed
-TEST_F(GeneratedTests, relu1_float_1_relaxed) {
-    execute(relu1_float_1_relaxed::CreateModel,
-            relu1_float_1_relaxed::is_ignored,
-            relu1_float_1_relaxed::examples);
-}
-
-namespace relu1_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated relu1_float_2_relaxed test
-#include "generated/examples/relu1_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu1_float_2_relaxed.model.cpp"
-} // namespace relu1_float_2_relaxed
-TEST_F(GeneratedTests, relu1_float_2_relaxed) {
-    execute(relu1_float_2_relaxed::CreateModel,
-            relu1_float_2_relaxed::is_ignored,
-            relu1_float_2_relaxed::examples);
-}
-
-namespace relu6_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated relu6_float_1_relaxed test
-#include "generated/examples/relu6_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu6_float_1_relaxed.model.cpp"
-} // namespace relu6_float_1_relaxed
-TEST_F(GeneratedTests, relu6_float_1_relaxed) {
-    execute(relu6_float_1_relaxed::CreateModel,
-            relu6_float_1_relaxed::is_ignored,
-            relu6_float_1_relaxed::examples);
-}
-
-namespace relu6_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated relu6_float_2_relaxed test
-#include "generated/examples/relu6_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu6_float_2_relaxed.model.cpp"
-} // namespace relu6_float_2_relaxed
-TEST_F(GeneratedTests, relu6_float_2_relaxed) {
-    execute(relu6_float_2_relaxed::CreateModel,
-            relu6_float_2_relaxed::is_ignored,
-            relu6_float_2_relaxed::examples);
-}
-
-namespace relu_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated relu_float_1_relaxed test
-#include "generated/examples/relu_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu_float_1_relaxed.model.cpp"
-} // namespace relu_float_1_relaxed
-TEST_F(GeneratedTests, relu_float_1_relaxed) {
-    execute(relu_float_1_relaxed::CreateModel,
-            relu_float_1_relaxed::is_ignored,
-            relu_float_1_relaxed::examples);
-}
-
-namespace relu_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated relu_float_2_relaxed test
-#include "generated/examples/relu_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/relu_float_2_relaxed.model.cpp"
-} // namespace relu_float_2_relaxed
-TEST_F(GeneratedTests, relu_float_2_relaxed) {
-    execute(relu_float_2_relaxed::CreateModel,
-            relu_float_2_relaxed::is_ignored,
-            relu_float_2_relaxed::examples);
-}
-
-namespace reshape_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated reshape_relaxed test
-#include "generated/examples/reshape_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/reshape_relaxed.model.cpp"
-} // namespace reshape_relaxed
-TEST_F(GeneratedTests, reshape_relaxed) {
-    execute(reshape_relaxed::CreateModel,
-            reshape_relaxed::is_ignored,
-            reshape_relaxed::examples);
-}
-
-namespace reshape_weights_as_inputs_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated reshape_weights_as_inputs_relaxed test
-#include "generated/examples/reshape_weights_as_inputs_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/reshape_weights_as_inputs_relaxed.model.cpp"
-} // namespace reshape_weights_as_inputs_relaxed
-TEST_F(GeneratedTests, reshape_weights_as_inputs_relaxed) {
-    execute(reshape_weights_as_inputs_relaxed::CreateModel,
-            reshape_weights_as_inputs_relaxed::is_ignored,
-            reshape_weights_as_inputs_relaxed::examples);
-}
-
-namespace resize_bilinear_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated resize_bilinear_2_relaxed test
-#include "generated/examples/resize_bilinear_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/resize_bilinear_2_relaxed.model.cpp"
-} // namespace resize_bilinear_2_relaxed
-TEST_F(GeneratedTests, resize_bilinear_2_relaxed) {
-    execute(resize_bilinear_2_relaxed::CreateModel,
-            resize_bilinear_2_relaxed::is_ignored,
-            resize_bilinear_2_relaxed::examples);
-}
-
-namespace resize_bilinear_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated resize_bilinear_relaxed test
-#include "generated/examples/resize_bilinear_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/resize_bilinear_relaxed.model.cpp"
-} // namespace resize_bilinear_relaxed
-TEST_F(GeneratedTests, resize_bilinear_relaxed) {
-    execute(resize_bilinear_relaxed::CreateModel,
-            resize_bilinear_relaxed::is_ignored,
-            resize_bilinear_relaxed::examples);
-}
-
-namespace rnn_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated rnn_relaxed test
-#include "generated/examples/rnn_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/rnn_relaxed.model.cpp"
-} // namespace rnn_relaxed
-TEST_F(GeneratedTests, rnn_relaxed) {
-    execute(rnn_relaxed::CreateModel,
-            rnn_relaxed::is_ignored,
-            rnn_relaxed::examples);
-}
-
-namespace rnn_state_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated rnn_state_relaxed test
-#include "generated/examples/rnn_state_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/rnn_state_relaxed.model.cpp"
-} // namespace rnn_state_relaxed
-TEST_F(GeneratedTests, rnn_state_relaxed) {
-    execute(rnn_state_relaxed::CreateModel,
-            rnn_state_relaxed::is_ignored,
-            rnn_state_relaxed::examples);
-}
-
-namespace softmax_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated softmax_float_1_relaxed test
-#include "generated/examples/softmax_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/softmax_float_1_relaxed.model.cpp"
-} // namespace softmax_float_1_relaxed
-TEST_F(GeneratedTests, softmax_float_1_relaxed) {
-    execute(softmax_float_1_relaxed::CreateModel,
-            softmax_float_1_relaxed::is_ignored,
-            softmax_float_1_relaxed::examples);
-}
-
-namespace softmax_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated softmax_float_2_relaxed test
-#include "generated/examples/softmax_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/softmax_float_2_relaxed.model.cpp"
-} // namespace softmax_float_2_relaxed
-TEST_F(GeneratedTests, softmax_float_2_relaxed) {
-    execute(softmax_float_2_relaxed::CreateModel,
-            softmax_float_2_relaxed::is_ignored,
-            softmax_float_2_relaxed::examples);
-}
-
-namespace space_to_batch_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_float_1 test
-#include "generated/examples/space_to_batch_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_float_1.model.cpp"
-} // namespace space_to_batch_float_1
-TEST_F(GeneratedTests, space_to_batch_float_1) {
-    execute(space_to_batch_float_1::CreateModel,
-            space_to_batch_float_1::is_ignored,
-            space_to_batch_float_1::examples);
-}
-
-namespace space_to_batch_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_float_1_relaxed test
-#include "generated/examples/space_to_batch_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_float_1_relaxed.model.cpp"
-} // namespace space_to_batch_float_1_relaxed
-TEST_F(GeneratedTests, space_to_batch_float_1_relaxed) {
-    execute(space_to_batch_float_1_relaxed::CreateModel,
-            space_to_batch_float_1_relaxed::is_ignored,
-            space_to_batch_float_1_relaxed::examples);
-}
-
-namespace space_to_batch_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_float_2 test
-#include "generated/examples/space_to_batch_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_float_2.model.cpp"
-} // namespace space_to_batch_float_2
-TEST_F(GeneratedTests, space_to_batch_float_2) {
-    execute(space_to_batch_float_2::CreateModel,
-            space_to_batch_float_2::is_ignored,
-            space_to_batch_float_2::examples);
-}
-
-namespace space_to_batch_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_float_2_relaxed test
-#include "generated/examples/space_to_batch_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_float_2_relaxed.model.cpp"
-} // namespace space_to_batch_float_2_relaxed
-TEST_F(GeneratedTests, space_to_batch_float_2_relaxed) {
-    execute(space_to_batch_float_2_relaxed::CreateModel,
-            space_to_batch_float_2_relaxed::is_ignored,
-            space_to_batch_float_2_relaxed::examples);
-}
-
-namespace space_to_batch_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_float_3 test
-#include "generated/examples/space_to_batch_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_float_3.model.cpp"
-} // namespace space_to_batch_float_3
-TEST_F(GeneratedTests, space_to_batch_float_3) {
-    execute(space_to_batch_float_3::CreateModel,
-            space_to_batch_float_3::is_ignored,
-            space_to_batch_float_3::examples);
-}
-
-namespace space_to_batch_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_float_3_relaxed test
-#include "generated/examples/space_to_batch_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_float_3_relaxed.model.cpp"
-} // namespace space_to_batch_float_3_relaxed
-TEST_F(GeneratedTests, space_to_batch_float_3_relaxed) {
-    execute(space_to_batch_float_3_relaxed::CreateModel,
-            space_to_batch_float_3_relaxed::is_ignored,
-            space_to_batch_float_3_relaxed::examples);
-}
-
-namespace space_to_batch {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch test
-#include "generated/examples/space_to_batch.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch.model.cpp"
-} // namespace space_to_batch
-TEST_F(GeneratedTests, space_to_batch) {
-    execute(space_to_batch::CreateModel,
-            space_to_batch::is_ignored,
-            space_to_batch::examples);
-}
-
-namespace space_to_batch_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_quant8_1 test
-#include "generated/examples/space_to_batch_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_quant8_1.model.cpp"
-} // namespace space_to_batch_quant8_1
-TEST_F(GeneratedTests, space_to_batch_quant8_1) {
-    execute(space_to_batch_quant8_1::CreateModel,
-            space_to_batch_quant8_1::is_ignored,
-            space_to_batch_quant8_1::examples);
-}
-
-namespace space_to_batch_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_quant8_2 test
-#include "generated/examples/space_to_batch_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_quant8_2.model.cpp"
-} // namespace space_to_batch_quant8_2
-TEST_F(GeneratedTests, space_to_batch_quant8_2) {
-    execute(space_to_batch_quant8_2::CreateModel,
-            space_to_batch_quant8_2::is_ignored,
-            space_to_batch_quant8_2::examples);
-}
-
-namespace space_to_batch_quant8_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_quant8_3 test
-#include "generated/examples/space_to_batch_quant8_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_quant8_3.model.cpp"
-} // namespace space_to_batch_quant8_3
-TEST_F(GeneratedTests, space_to_batch_quant8_3) {
-    execute(space_to_batch_quant8_3::CreateModel,
-            space_to_batch_quant8_3::is_ignored,
-            space_to_batch_quant8_3::examples);
-}
-
-namespace space_to_batch_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_batch_relaxed test
-#include "generated/examples/space_to_batch_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_batch_relaxed.model.cpp"
-} // namespace space_to_batch_relaxed
-TEST_F(GeneratedTests, space_to_batch_relaxed) {
-    execute(space_to_batch_relaxed::CreateModel,
-            space_to_batch_relaxed::is_ignored,
-            space_to_batch_relaxed::examples);
-}
-
-namespace space_to_depth_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_float_1_relaxed test
-#include "generated/examples/space_to_depth_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_float_1_relaxed.model.cpp"
-} // namespace space_to_depth_float_1_relaxed
-TEST_F(GeneratedTests, space_to_depth_float_1_relaxed) {
-    execute(space_to_depth_float_1_relaxed::CreateModel,
-            space_to_depth_float_1_relaxed::is_ignored,
-            space_to_depth_float_1_relaxed::examples);
-}
-
-namespace space_to_depth_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_float_2_relaxed test
-#include "generated/examples/space_to_depth_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_float_2_relaxed.model.cpp"
-} // namespace space_to_depth_float_2_relaxed
-TEST_F(GeneratedTests, space_to_depth_float_2_relaxed) {
-    execute(space_to_depth_float_2_relaxed::CreateModel,
-            space_to_depth_float_2_relaxed::is_ignored,
-            space_to_depth_float_2_relaxed::examples);
-}
-
-namespace space_to_depth_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated space_to_depth_float_3_relaxed test
-#include "generated/examples/space_to_depth_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/space_to_depth_float_3_relaxed.model.cpp"
-} // namespace space_to_depth_float_3_relaxed
-TEST_F(GeneratedTests, space_to_depth_float_3_relaxed) {
-    execute(space_to_depth_float_3_relaxed::CreateModel,
-            space_to_depth_float_3_relaxed::is_ignored,
-            space_to_depth_float_3_relaxed::examples);
-}
-
-namespace squeeze_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated squeeze_float_1 test
-#include "generated/examples/squeeze_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/squeeze_float_1.model.cpp"
-} // namespace squeeze_float_1
-TEST_F(GeneratedTests, squeeze_float_1) {
-    execute(squeeze_float_1::CreateModel,
-            squeeze_float_1::is_ignored,
-            squeeze_float_1::examples);
-}
-
-namespace squeeze_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated squeeze_float_1_relaxed test
-#include "generated/examples/squeeze_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/squeeze_float_1_relaxed.model.cpp"
-} // namespace squeeze_float_1_relaxed
-TEST_F(GeneratedTests, squeeze_float_1_relaxed) {
-    execute(squeeze_float_1_relaxed::CreateModel,
-            squeeze_float_1_relaxed::is_ignored,
-            squeeze_float_1_relaxed::examples);
-}
-
-namespace squeeze {
-std::vector<MixedTypedExample> examples = {
-// Generated squeeze test
-#include "generated/examples/squeeze.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/squeeze.model.cpp"
-} // namespace squeeze
-TEST_F(GeneratedTests, squeeze) {
-    execute(squeeze::CreateModel,
-            squeeze::is_ignored,
-            squeeze::examples);
-}
-
-namespace squeeze_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated squeeze_quant8_1 test
-#include "generated/examples/squeeze_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/squeeze_quant8_1.model.cpp"
-} // namespace squeeze_quant8_1
-TEST_F(GeneratedTests, squeeze_quant8_1) {
-    execute(squeeze_quant8_1::CreateModel,
-            squeeze_quant8_1::is_ignored,
-            squeeze_quant8_1::examples);
-}
-
-namespace squeeze_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated squeeze_relaxed test
-#include "generated/examples/squeeze_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/squeeze_relaxed.model.cpp"
-} // namespace squeeze_relaxed
-TEST_F(GeneratedTests, squeeze_relaxed) {
-    execute(squeeze_relaxed::CreateModel,
-            squeeze_relaxed::is_ignored,
-            squeeze_relaxed::examples);
-}
-
-namespace strided_slice_float_10 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_10 test
-#include "generated/examples/strided_slice_float_10.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_10.model.cpp"
-} // namespace strided_slice_float_10
-TEST_F(GeneratedTests, strided_slice_float_10) {
-    execute(strided_slice_float_10::CreateModel,
-            strided_slice_float_10::is_ignored,
-            strided_slice_float_10::examples);
-}
-
-namespace strided_slice_float_10_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_10_relaxed test
-#include "generated/examples/strided_slice_float_10_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_10_relaxed.model.cpp"
-} // namespace strided_slice_float_10_relaxed
-TEST_F(GeneratedTests, strided_slice_float_10_relaxed) {
-    execute(strided_slice_float_10_relaxed::CreateModel,
-            strided_slice_float_10_relaxed::is_ignored,
-            strided_slice_float_10_relaxed::examples);
-}
-
-namespace strided_slice_float_11 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_11 test
-#include "generated/examples/strided_slice_float_11.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_11.model.cpp"
-} // namespace strided_slice_float_11
-TEST_F(GeneratedTests, strided_slice_float_11) {
-    execute(strided_slice_float_11::CreateModel,
-            strided_slice_float_11::is_ignored,
-            strided_slice_float_11::examples);
-}
-
-namespace strided_slice_float_11_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_11_relaxed test
-#include "generated/examples/strided_slice_float_11_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_11_relaxed.model.cpp"
-} // namespace strided_slice_float_11_relaxed
-TEST_F(GeneratedTests, strided_slice_float_11_relaxed) {
-    execute(strided_slice_float_11_relaxed::CreateModel,
-            strided_slice_float_11_relaxed::is_ignored,
-            strided_slice_float_11_relaxed::examples);
-}
-
-namespace strided_slice_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_1 test
-#include "generated/examples/strided_slice_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_1.model.cpp"
-} // namespace strided_slice_float_1
-TEST_F(GeneratedTests, strided_slice_float_1) {
-    execute(strided_slice_float_1::CreateModel,
-            strided_slice_float_1::is_ignored,
-            strided_slice_float_1::examples);
-}
-
-namespace strided_slice_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_1_relaxed test
-#include "generated/examples/strided_slice_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_1_relaxed.model.cpp"
-} // namespace strided_slice_float_1_relaxed
-TEST_F(GeneratedTests, strided_slice_float_1_relaxed) {
-    execute(strided_slice_float_1_relaxed::CreateModel,
-            strided_slice_float_1_relaxed::is_ignored,
-            strided_slice_float_1_relaxed::examples);
-}
-
-namespace strided_slice_float_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_2 test
-#include "generated/examples/strided_slice_float_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_2.model.cpp"
-} // namespace strided_slice_float_2
-TEST_F(GeneratedTests, strided_slice_float_2) {
-    execute(strided_slice_float_2::CreateModel,
-            strided_slice_float_2::is_ignored,
-            strided_slice_float_2::examples);
-}
-
-namespace strided_slice_float_2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_2_relaxed test
-#include "generated/examples/strided_slice_float_2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_2_relaxed.model.cpp"
-} // namespace strided_slice_float_2_relaxed
-TEST_F(GeneratedTests, strided_slice_float_2_relaxed) {
-    execute(strided_slice_float_2_relaxed::CreateModel,
-            strided_slice_float_2_relaxed::is_ignored,
-            strided_slice_float_2_relaxed::examples);
-}
-
-namespace strided_slice_float_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_3 test
-#include "generated/examples/strided_slice_float_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_3.model.cpp"
-} // namespace strided_slice_float_3
-TEST_F(GeneratedTests, strided_slice_float_3) {
-    execute(strided_slice_float_3::CreateModel,
-            strided_slice_float_3::is_ignored,
-            strided_slice_float_3::examples);
-}
-
-namespace strided_slice_float_3_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_3_relaxed test
-#include "generated/examples/strided_slice_float_3_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_3_relaxed.model.cpp"
-} // namespace strided_slice_float_3_relaxed
-TEST_F(GeneratedTests, strided_slice_float_3_relaxed) {
-    execute(strided_slice_float_3_relaxed::CreateModel,
-            strided_slice_float_3_relaxed::is_ignored,
-            strided_slice_float_3_relaxed::examples);
-}
-
-namespace strided_slice_float_4 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_4 test
-#include "generated/examples/strided_slice_float_4.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_4.model.cpp"
-} // namespace strided_slice_float_4
-TEST_F(GeneratedTests, strided_slice_float_4) {
-    execute(strided_slice_float_4::CreateModel,
-            strided_slice_float_4::is_ignored,
-            strided_slice_float_4::examples);
-}
-
-namespace strided_slice_float_4_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_4_relaxed test
-#include "generated/examples/strided_slice_float_4_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_4_relaxed.model.cpp"
-} // namespace strided_slice_float_4_relaxed
-TEST_F(GeneratedTests, strided_slice_float_4_relaxed) {
-    execute(strided_slice_float_4_relaxed::CreateModel,
-            strided_slice_float_4_relaxed::is_ignored,
-            strided_slice_float_4_relaxed::examples);
-}
-
-namespace strided_slice_float_5 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_5 test
-#include "generated/examples/strided_slice_float_5.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_5.model.cpp"
-} // namespace strided_slice_float_5
-TEST_F(GeneratedTests, strided_slice_float_5) {
-    execute(strided_slice_float_5::CreateModel,
-            strided_slice_float_5::is_ignored,
-            strided_slice_float_5::examples);
-}
-
-namespace strided_slice_float_5_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_5_relaxed test
-#include "generated/examples/strided_slice_float_5_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_5_relaxed.model.cpp"
-} // namespace strided_slice_float_5_relaxed
-TEST_F(GeneratedTests, strided_slice_float_5_relaxed) {
-    execute(strided_slice_float_5_relaxed::CreateModel,
-            strided_slice_float_5_relaxed::is_ignored,
-            strided_slice_float_5_relaxed::examples);
-}
-
-namespace strided_slice_float_6 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_6 test
-#include "generated/examples/strided_slice_float_6.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_6.model.cpp"
-} // namespace strided_slice_float_6
-TEST_F(GeneratedTests, strided_slice_float_6) {
-    execute(strided_slice_float_6::CreateModel,
-            strided_slice_float_6::is_ignored,
-            strided_slice_float_6::examples);
-}
-
-namespace strided_slice_float_6_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_6_relaxed test
-#include "generated/examples/strided_slice_float_6_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_6_relaxed.model.cpp"
-} // namespace strided_slice_float_6_relaxed
-TEST_F(GeneratedTests, strided_slice_float_6_relaxed) {
-    execute(strided_slice_float_6_relaxed::CreateModel,
-            strided_slice_float_6_relaxed::is_ignored,
-            strided_slice_float_6_relaxed::examples);
-}
-
-namespace strided_slice_float_7 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_7 test
-#include "generated/examples/strided_slice_float_7.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_7.model.cpp"
-} // namespace strided_slice_float_7
-TEST_F(GeneratedTests, strided_slice_float_7) {
-    execute(strided_slice_float_7::CreateModel,
-            strided_slice_float_7::is_ignored,
-            strided_slice_float_7::examples);
-}
-
-namespace strided_slice_float_7_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_7_relaxed test
-#include "generated/examples/strided_slice_float_7_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_7_relaxed.model.cpp"
-} // namespace strided_slice_float_7_relaxed
-TEST_F(GeneratedTests, strided_slice_float_7_relaxed) {
-    execute(strided_slice_float_7_relaxed::CreateModel,
-            strided_slice_float_7_relaxed::is_ignored,
-            strided_slice_float_7_relaxed::examples);
-}
-
-namespace strided_slice_float_8 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_8 test
-#include "generated/examples/strided_slice_float_8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_8.model.cpp"
-} // namespace strided_slice_float_8
-TEST_F(GeneratedTests, strided_slice_float_8) {
-    execute(strided_slice_float_8::CreateModel,
-            strided_slice_float_8::is_ignored,
-            strided_slice_float_8::examples);
-}
-
-namespace strided_slice_float_8_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_8_relaxed test
-#include "generated/examples/strided_slice_float_8_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_8_relaxed.model.cpp"
-} // namespace strided_slice_float_8_relaxed
-TEST_F(GeneratedTests, strided_slice_float_8_relaxed) {
-    execute(strided_slice_float_8_relaxed::CreateModel,
-            strided_slice_float_8_relaxed::is_ignored,
-            strided_slice_float_8_relaxed::examples);
-}
-
-namespace strided_slice_float_9 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_9 test
-#include "generated/examples/strided_slice_float_9.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_9.model.cpp"
-} // namespace strided_slice_float_9
-TEST_F(GeneratedTests, strided_slice_float_9) {
-    execute(strided_slice_float_9::CreateModel,
-            strided_slice_float_9::is_ignored,
-            strided_slice_float_9::examples);
-}
-
-namespace strided_slice_float_9_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_float_9_relaxed test
-#include "generated/examples/strided_slice_float_9_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_float_9_relaxed.model.cpp"
-} // namespace strided_slice_float_9_relaxed
-TEST_F(GeneratedTests, strided_slice_float_9_relaxed) {
-    execute(strided_slice_float_9_relaxed::CreateModel,
-            strided_slice_float_9_relaxed::is_ignored,
-            strided_slice_float_9_relaxed::examples);
-}
-
-namespace strided_slice {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice test
-#include "generated/examples/strided_slice.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice.model.cpp"
-} // namespace strided_slice
-TEST_F(GeneratedTests, strided_slice) {
-    execute(strided_slice::CreateModel,
-            strided_slice::is_ignored,
-            strided_slice::examples);
-}
-
-namespace strided_slice_qaunt8_10 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_qaunt8_10 test
-#include "generated/examples/strided_slice_qaunt8_10.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_qaunt8_10.model.cpp"
-} // namespace strided_slice_qaunt8_10
-TEST_F(GeneratedTests, strided_slice_qaunt8_10) {
-    execute(strided_slice_qaunt8_10::CreateModel,
-            strided_slice_qaunt8_10::is_ignored,
-            strided_slice_qaunt8_10::examples);
-}
-
-namespace strided_slice_qaunt8_11 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_qaunt8_11 test
-#include "generated/examples/strided_slice_qaunt8_11.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_qaunt8_11.model.cpp"
-} // namespace strided_slice_qaunt8_11
-TEST_F(GeneratedTests, strided_slice_qaunt8_11) {
-    execute(strided_slice_qaunt8_11::CreateModel,
-            strided_slice_qaunt8_11::is_ignored,
-            strided_slice_qaunt8_11::examples);
-}
-
-namespace strided_slice_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_1 test
-#include "generated/examples/strided_slice_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_1.model.cpp"
-} // namespace strided_slice_quant8_1
-TEST_F(GeneratedTests, strided_slice_quant8_1) {
-    execute(strided_slice_quant8_1::CreateModel,
-            strided_slice_quant8_1::is_ignored,
-            strided_slice_quant8_1::examples);
-}
-
-namespace strided_slice_quant8_2 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_2 test
-#include "generated/examples/strided_slice_quant8_2.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_2.model.cpp"
-} // namespace strided_slice_quant8_2
-TEST_F(GeneratedTests, strided_slice_quant8_2) {
-    execute(strided_slice_quant8_2::CreateModel,
-            strided_slice_quant8_2::is_ignored,
-            strided_slice_quant8_2::examples);
-}
-
-namespace strided_slice_quant8_3 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_3 test
-#include "generated/examples/strided_slice_quant8_3.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_3.model.cpp"
-} // namespace strided_slice_quant8_3
-TEST_F(GeneratedTests, strided_slice_quant8_3) {
-    execute(strided_slice_quant8_3::CreateModel,
-            strided_slice_quant8_3::is_ignored,
-            strided_slice_quant8_3::examples);
-}
-
-namespace strided_slice_quant8_4 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_4 test
-#include "generated/examples/strided_slice_quant8_4.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_4.model.cpp"
-} // namespace strided_slice_quant8_4
-TEST_F(GeneratedTests, strided_slice_quant8_4) {
-    execute(strided_slice_quant8_4::CreateModel,
-            strided_slice_quant8_4::is_ignored,
-            strided_slice_quant8_4::examples);
-}
-
-namespace strided_slice_quant8_5 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_5 test
-#include "generated/examples/strided_slice_quant8_5.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_5.model.cpp"
-} // namespace strided_slice_quant8_5
-TEST_F(GeneratedTests, strided_slice_quant8_5) {
-    execute(strided_slice_quant8_5::CreateModel,
-            strided_slice_quant8_5::is_ignored,
-            strided_slice_quant8_5::examples);
-}
-
-namespace strided_slice_quant8_6 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_6 test
-#include "generated/examples/strided_slice_quant8_6.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_6.model.cpp"
-} // namespace strided_slice_quant8_6
-TEST_F(GeneratedTests, strided_slice_quant8_6) {
-    execute(strided_slice_quant8_6::CreateModel,
-            strided_slice_quant8_6::is_ignored,
-            strided_slice_quant8_6::examples);
-}
-
-namespace strided_slice_quant8_7 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_7 test
-#include "generated/examples/strided_slice_quant8_7.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_7.model.cpp"
-} // namespace strided_slice_quant8_7
-TEST_F(GeneratedTests, strided_slice_quant8_7) {
-    execute(strided_slice_quant8_7::CreateModel,
-            strided_slice_quant8_7::is_ignored,
-            strided_slice_quant8_7::examples);
-}
-
-namespace strided_slice_quant8_8 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_8 test
-#include "generated/examples/strided_slice_quant8_8.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_8.model.cpp"
-} // namespace strided_slice_quant8_8
-TEST_F(GeneratedTests, strided_slice_quant8_8) {
-    execute(strided_slice_quant8_8::CreateModel,
-            strided_slice_quant8_8::is_ignored,
-            strided_slice_quant8_8::examples);
-}
-
-namespace strided_slice_quant8_9 {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_quant8_9 test
-#include "generated/examples/strided_slice_quant8_9.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_quant8_9.model.cpp"
-} // namespace strided_slice_quant8_9
-TEST_F(GeneratedTests, strided_slice_quant8_9) {
-    execute(strided_slice_quant8_9::CreateModel,
-            strided_slice_quant8_9::is_ignored,
-            strided_slice_quant8_9::examples);
-}
-
-namespace strided_slice_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated strided_slice_relaxed test
-#include "generated/examples/strided_slice_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/strided_slice_relaxed.model.cpp"
-} // namespace strided_slice_relaxed
-TEST_F(GeneratedTests, strided_slice_relaxed) {
-    execute(strided_slice_relaxed::CreateModel,
-            strided_slice_relaxed::is_ignored,
-            strided_slice_relaxed::examples);
-}
-
-namespace sub_broadcast_float {
-std::vector<MixedTypedExample> examples = {
-// Generated sub_broadcast_float test
-#include "generated/examples/sub_broadcast_float.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/sub_broadcast_float.model.cpp"
-} // namespace sub_broadcast_float
-TEST_F(GeneratedTests, sub_broadcast_float) {
-    execute(sub_broadcast_float::CreateModel,
-            sub_broadcast_float::is_ignored,
-            sub_broadcast_float::examples);
-}
-
-namespace sub_broadcast_float_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated sub_broadcast_float_relaxed test
-#include "generated/examples/sub_broadcast_float_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/sub_broadcast_float_relaxed.model.cpp"
-} // namespace sub_broadcast_float_relaxed
-TEST_F(GeneratedTests, sub_broadcast_float_relaxed) {
-    execute(sub_broadcast_float_relaxed::CreateModel,
-            sub_broadcast_float_relaxed::is_ignored,
-            sub_broadcast_float_relaxed::examples);
-}
-
-namespace sub {
-std::vector<MixedTypedExample> examples = {
-// Generated sub test
-#include "generated/examples/sub.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/sub.model.cpp"
-} // namespace sub
-TEST_F(GeneratedTests, sub) {
-    execute(sub::CreateModel,
-            sub::is_ignored,
-            sub::examples);
-}
-
-namespace sub_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated sub_relaxed test
-#include "generated/examples/sub_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/sub_relaxed.model.cpp"
-} // namespace sub_relaxed
-TEST_F(GeneratedTests, sub_relaxed) {
-    execute(sub_relaxed::CreateModel,
-            sub_relaxed::is_ignored,
-            sub_relaxed::examples);
-}
-
-namespace svdf2_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated svdf2_relaxed test
-#include "generated/examples/svdf2_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/svdf2_relaxed.model.cpp"
-} // namespace svdf2_relaxed
-TEST_F(GeneratedTests, svdf2_relaxed) {
-    execute(svdf2_relaxed::CreateModel,
-            svdf2_relaxed::is_ignored,
-            svdf2_relaxed::examples);
-}
-
-namespace svdf_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated svdf_relaxed test
-#include "generated/examples/svdf_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/svdf_relaxed.model.cpp"
-} // namespace svdf_relaxed
-TEST_F(GeneratedTests, svdf_relaxed) {
-    execute(svdf_relaxed::CreateModel,
-            svdf_relaxed::is_ignored,
-            svdf_relaxed::examples);
-}
-
-namespace svdf_state_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated svdf_state_relaxed test
-#include "generated/examples/svdf_state_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/svdf_state_relaxed.model.cpp"
-} // namespace svdf_state_relaxed
-TEST_F(GeneratedTests, svdf_state_relaxed) {
-    execute(svdf_state_relaxed::CreateModel,
-            svdf_state_relaxed::is_ignored,
-            svdf_state_relaxed::examples);
-}
-
-namespace tanh_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated tanh_relaxed test
-#include "generated/examples/tanh_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/tanh_relaxed.model.cpp"
-} // namespace tanh_relaxed
-TEST_F(GeneratedTests, tanh_relaxed) {
-    execute(tanh_relaxed::CreateModel,
-            tanh_relaxed::is_ignored,
-            tanh_relaxed::examples);
-}
-
-namespace transpose_float_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated transpose_float_1 test
-#include "generated/examples/transpose_float_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/transpose_float_1.model.cpp"
-} // namespace transpose_float_1
-TEST_F(GeneratedTests, transpose_float_1) {
-    execute(transpose_float_1::CreateModel,
-            transpose_float_1::is_ignored,
-            transpose_float_1::examples);
-}
-
-namespace transpose_float_1_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated transpose_float_1_relaxed test
-#include "generated/examples/transpose_float_1_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/transpose_float_1_relaxed.model.cpp"
-} // namespace transpose_float_1_relaxed
-TEST_F(GeneratedTests, transpose_float_1_relaxed) {
-    execute(transpose_float_1_relaxed::CreateModel,
-            transpose_float_1_relaxed::is_ignored,
-            transpose_float_1_relaxed::examples);
-}
-
-namespace transpose {
-std::vector<MixedTypedExample> examples = {
-// Generated transpose test
-#include "generated/examples/transpose.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/transpose.model.cpp"
-} // namespace transpose
-TEST_F(GeneratedTests, transpose) {
-    execute(transpose::CreateModel,
-            transpose::is_ignored,
-            transpose::examples);
-}
-
-namespace transpose_quant8_1 {
-std::vector<MixedTypedExample> examples = {
-// Generated transpose_quant8_1 test
-#include "generated/examples/transpose_quant8_1.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/transpose_quant8_1.model.cpp"
-} // namespace transpose_quant8_1
-TEST_F(GeneratedTests, transpose_quant8_1) {
-    execute(transpose_quant8_1::CreateModel,
-            transpose_quant8_1::is_ignored,
-            transpose_quant8_1::examples);
-}
-
-namespace transpose_relaxed {
-std::vector<MixedTypedExample> examples = {
-// Generated transpose_relaxed test
-#include "generated/examples/transpose_relaxed.example.cpp"
-};
-// Generated model constructor
-#include "generated/models/transpose_relaxed.model.cpp"
-} // namespace transpose_relaxed
-TEST_F(GeneratedTests, transpose_relaxed) {
-    execute(transpose_relaxed::CreateModel,
-            transpose_relaxed::is_ignored,
-            transpose_relaxed::examples);
-}
diff --git a/nn/runtime/test/generated/tests/add.mod.py.cpp b/nn/runtime/test/generated/tests/add.mod.py.cpp
new file mode 100644
index 0000000..3296f2d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/add.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace add {
+std::vector<MixedTypedExample> examples = {
+// Generated add test
+#include "generated/examples/add.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/add.model.cpp"
+} // namespace add
+TEST_F(GeneratedTests, add) {
+    execute(add::CreateModel,
+            add::is_ignored,
+            add::examples);
+}
diff --git a/nn/runtime/test/generated/tests/add_broadcast_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/add_broadcast_quant8.mod.py.cpp
new file mode 100644
index 0000000..a90250a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/add_broadcast_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace add_broadcast_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated add_broadcast_quant8 test
+#include "generated/examples/add_broadcast_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/add_broadcast_quant8.model.cpp"
+} // namespace add_broadcast_quant8
+TEST_F(GeneratedTests, add_broadcast_quant8) {
+    execute(add_broadcast_quant8::CreateModel,
+            add_broadcast_quant8::is_ignored,
+            add_broadcast_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/add_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/add_quant8.mod.py.cpp
new file mode 100644
index 0000000..bd124c9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/add_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace add_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated add_quant8 test
+#include "generated/examples/add_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/add_quant8.model.cpp"
+} // namespace add_quant8
+TEST_F(GeneratedTests, add_quant8) {
+    execute(add_quant8::CreateModel,
+            add_quant8::is_ignored,
+            add_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/add_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/add_relaxed.mod.py.cpp
new file mode 100644
index 0000000..53d4b64
--- /dev/null
+++ b/nn/runtime/test/generated/tests/add_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace add_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated add_relaxed test
+#include "generated/examples/add_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/add_relaxed.model.cpp"
+} // namespace add_relaxed
+TEST_F(GeneratedTests, add_relaxed) {
+    execute(add_relaxed::CreateModel,
+            add_relaxed::is_ignored,
+            add_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_1.mod.py.cpp
new file mode 100644
index 0000000..03afebf
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_1 test
+#include "generated/examples/avg_pool_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_1.model.cpp"
+} // namespace avg_pool_float_1
+TEST_F(GeneratedTests, avg_pool_float_1) {
+    execute(avg_pool_float_1::CreateModel,
+            avg_pool_float_1::is_ignored,
+            avg_pool_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..6291023
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_1_relaxed test
+#include "generated/examples/avg_pool_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_1_relaxed.model.cpp"
+} // namespace avg_pool_float_1_relaxed
+TEST_F(GeneratedTests, avg_pool_float_1_relaxed) {
+    execute(avg_pool_float_1_relaxed::CreateModel,
+            avg_pool_float_1_relaxed::is_ignored,
+            avg_pool_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_2.mod.py.cpp
new file mode 100644
index 0000000..dd1a73a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_2 test
+#include "generated/examples/avg_pool_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_2.model.cpp"
+} // namespace avg_pool_float_2
+TEST_F(GeneratedTests, avg_pool_float_2) {
+    execute(avg_pool_float_2::CreateModel,
+            avg_pool_float_2::is_ignored,
+            avg_pool_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..593c563
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_2_relaxed test
+#include "generated/examples/avg_pool_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_2_relaxed.model.cpp"
+} // namespace avg_pool_float_2_relaxed
+TEST_F(GeneratedTests, avg_pool_float_2_relaxed) {
+    execute(avg_pool_float_2_relaxed::CreateModel,
+            avg_pool_float_2_relaxed::is_ignored,
+            avg_pool_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_3.mod.py.cpp
new file mode 100644
index 0000000..dd65989
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_3 test
+#include "generated/examples/avg_pool_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_3.model.cpp"
+} // namespace avg_pool_float_3
+TEST_F(GeneratedTests, avg_pool_float_3) {
+    execute(avg_pool_float_3::CreateModel,
+            avg_pool_float_3::is_ignored,
+            avg_pool_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..d4125d0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_3_relaxed test
+#include "generated/examples/avg_pool_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_3_relaxed.model.cpp"
+} // namespace avg_pool_float_3_relaxed
+TEST_F(GeneratedTests, avg_pool_float_3_relaxed) {
+    execute(avg_pool_float_3_relaxed::CreateModel,
+            avg_pool_float_3_relaxed::is_ignored,
+            avg_pool_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_4.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_4.mod.py.cpp
new file mode 100644
index 0000000..bfdd4b9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_4.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_4 test
+#include "generated/examples/avg_pool_float_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_4.model.cpp"
+} // namespace avg_pool_float_4
+TEST_F(GeneratedTests, avg_pool_float_4) {
+    execute(avg_pool_float_4::CreateModel,
+            avg_pool_float_4::is_ignored,
+            avg_pool_float_4::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_4_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_4_relaxed.mod.py.cpp
new file mode 100644
index 0000000..a8ab11b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_4_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_4_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_4_relaxed test
+#include "generated/examples/avg_pool_float_4_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_4_relaxed.model.cpp"
+} // namespace avg_pool_float_4_relaxed
+TEST_F(GeneratedTests, avg_pool_float_4_relaxed) {
+    execute(avg_pool_float_4_relaxed::CreateModel,
+            avg_pool_float_4_relaxed::is_ignored,
+            avg_pool_float_4_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_5.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_5.mod.py.cpp
new file mode 100644
index 0000000..0a07a2a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_5.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_5 test
+#include "generated/examples/avg_pool_float_5.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_5.model.cpp"
+} // namespace avg_pool_float_5
+TEST_F(GeneratedTests, avg_pool_float_5) {
+    execute(avg_pool_float_5::CreateModel,
+            avg_pool_float_5::is_ignored,
+            avg_pool_float_5::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_float_5_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_float_5_relaxed.mod.py.cpp
new file mode 100644
index 0000000..8d707c8
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_float_5_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_float_5_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_float_5_relaxed test
+#include "generated/examples/avg_pool_float_5_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_float_5_relaxed.model.cpp"
+} // namespace avg_pool_float_5_relaxed
+TEST_F(GeneratedTests, avg_pool_float_5_relaxed) {
+    execute(avg_pool_float_5_relaxed::CreateModel,
+            avg_pool_float_5_relaxed::is_ignored,
+            avg_pool_float_5_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..6abdb1c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_quant8_1 test
+#include "generated/examples/avg_pool_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_quant8_1.model.cpp"
+} // namespace avg_pool_quant8_1
+TEST_F(GeneratedTests, avg_pool_quant8_1) {
+    execute(avg_pool_quant8_1::CreateModel,
+            avg_pool_quant8_1::is_ignored,
+            avg_pool_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..9875fec
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_quant8_2 test
+#include "generated/examples/avg_pool_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_quant8_2.model.cpp"
+} // namespace avg_pool_quant8_2
+TEST_F(GeneratedTests, avg_pool_quant8_2) {
+    execute(avg_pool_quant8_2::CreateModel,
+            avg_pool_quant8_2::is_ignored,
+            avg_pool_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_quant8_3.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_quant8_3.mod.py.cpp
new file mode 100644
index 0000000..9ae9419
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_quant8_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_quant8_3 test
+#include "generated/examples/avg_pool_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_quant8_3.model.cpp"
+} // namespace avg_pool_quant8_3
+TEST_F(GeneratedTests, avg_pool_quant8_3) {
+    execute(avg_pool_quant8_3::CreateModel,
+            avg_pool_quant8_3::is_ignored,
+            avg_pool_quant8_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_quant8_4.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_quant8_4.mod.py.cpp
new file mode 100644
index 0000000..1791c82
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_quant8_4.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_quant8_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_quant8_4 test
+#include "generated/examples/avg_pool_quant8_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_quant8_4.model.cpp"
+} // namespace avg_pool_quant8_4
+TEST_F(GeneratedTests, avg_pool_quant8_4) {
+    execute(avg_pool_quant8_4::CreateModel,
+            avg_pool_quant8_4::is_ignored,
+            avg_pool_quant8_4::examples);
+}
diff --git a/nn/runtime/test/generated/tests/avg_pool_quant8_5.mod.py.cpp b/nn/runtime/test/generated/tests/avg_pool_quant8_5.mod.py.cpp
new file mode 100644
index 0000000..ba6c0c0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/avg_pool_quant8_5.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace avg_pool_quant8_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated avg_pool_quant8_5 test
+#include "generated/examples/avg_pool_quant8_5.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/avg_pool_quant8_5.model.cpp"
+} // namespace avg_pool_quant8_5
+TEST_F(GeneratedTests, avg_pool_quant8_5) {
+    execute(avg_pool_quant8_5::CreateModel,
+            avg_pool_quant8_5::is_ignored,
+            avg_pool_quant8_5::examples);
+}
diff --git a/nn/runtime/test/generated/tests/batch_to_space.mod.py.cpp b/nn/runtime/test/generated/tests/batch_to_space.mod.py.cpp
new file mode 100644
index 0000000..c84c526
--- /dev/null
+++ b/nn/runtime/test/generated/tests/batch_to_space.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace batch_to_space {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space test
+#include "generated/examples/batch_to_space.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/batch_to_space.model.cpp"
+} // namespace batch_to_space
+TEST_F(GeneratedTests, batch_to_space) {
+    execute(batch_to_space::CreateModel,
+            batch_to_space::is_ignored,
+            batch_to_space::examples);
+}
diff --git a/nn/runtime/test/generated/tests/batch_to_space_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/batch_to_space_float_1.mod.py.cpp
new file mode 100644
index 0000000..4f8e65b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/batch_to_space_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace batch_to_space_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_float_1 test
+#include "generated/examples/batch_to_space_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/batch_to_space_float_1.model.cpp"
+} // namespace batch_to_space_float_1
+TEST_F(GeneratedTests, batch_to_space_float_1) {
+    execute(batch_to_space_float_1::CreateModel,
+            batch_to_space_float_1::is_ignored,
+            batch_to_space_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/batch_to_space_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/batch_to_space_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..d5e6df6
--- /dev/null
+++ b/nn/runtime/test/generated/tests/batch_to_space_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace batch_to_space_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_float_1_relaxed test
+#include "generated/examples/batch_to_space_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/batch_to_space_float_1_relaxed.model.cpp"
+} // namespace batch_to_space_float_1_relaxed
+TEST_F(GeneratedTests, batch_to_space_float_1_relaxed) {
+    execute(batch_to_space_float_1_relaxed::CreateModel,
+            batch_to_space_float_1_relaxed::is_ignored,
+            batch_to_space_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/batch_to_space_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/batch_to_space_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..6e4e49d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/batch_to_space_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace batch_to_space_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_quant8_1 test
+#include "generated/examples/batch_to_space_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/batch_to_space_quant8_1.model.cpp"
+} // namespace batch_to_space_quant8_1
+TEST_F(GeneratedTests, batch_to_space_quant8_1) {
+    execute(batch_to_space_quant8_1::CreateModel,
+            batch_to_space_quant8_1::is_ignored,
+            batch_to_space_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/batch_to_space_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/batch_to_space_relaxed.mod.py.cpp
new file mode 100644
index 0000000..5ae0b47
--- /dev/null
+++ b/nn/runtime/test/generated/tests/batch_to_space_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace batch_to_space_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_relaxed test
+#include "generated/examples/batch_to_space_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/batch_to_space_relaxed.model.cpp"
+} // namespace batch_to_space_relaxed
+TEST_F(GeneratedTests, batch_to_space_relaxed) {
+    execute(batch_to_space_relaxed::CreateModel,
+            batch_to_space_relaxed::is_ignored,
+            batch_to_space_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/concat_float_1.mod.py.cpp
new file mode 100644
index 0000000..1c76839
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_float_1 test
+#include "generated/examples/concat_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_float_1.model.cpp"
+} // namespace concat_float_1
+TEST_F(GeneratedTests, concat_float_1) {
+    execute(concat_float_1::CreateModel,
+            concat_float_1::is_ignored,
+            concat_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/concat_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f1c5aad
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_float_1_relaxed test
+#include "generated/examples/concat_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_float_1_relaxed.model.cpp"
+} // namespace concat_float_1_relaxed
+TEST_F(GeneratedTests, concat_float_1_relaxed) {
+    execute(concat_float_1_relaxed::CreateModel,
+            concat_float_1_relaxed::is_ignored,
+            concat_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/concat_float_2.mod.py.cpp
new file mode 100644
index 0000000..b266911
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_float_2 test
+#include "generated/examples/concat_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_float_2.model.cpp"
+} // namespace concat_float_2
+TEST_F(GeneratedTests, concat_float_2) {
+    execute(concat_float_2::CreateModel,
+            concat_float_2::is_ignored,
+            concat_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/concat_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..45b1aca
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_float_2_relaxed test
+#include "generated/examples/concat_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_float_2_relaxed.model.cpp"
+} // namespace concat_float_2_relaxed
+TEST_F(GeneratedTests, concat_float_2_relaxed) {
+    execute(concat_float_2_relaxed::CreateModel,
+            concat_float_2_relaxed::is_ignored,
+            concat_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/concat_float_3.mod.py.cpp
new file mode 100644
index 0000000..659bab1
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_float_3 test
+#include "generated/examples/concat_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_float_3.model.cpp"
+} // namespace concat_float_3
+TEST_F(GeneratedTests, concat_float_3) {
+    execute(concat_float_3::CreateModel,
+            concat_float_3::is_ignored,
+            concat_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/concat_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..a763e46
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_float_3_relaxed test
+#include "generated/examples/concat_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_float_3_relaxed.model.cpp"
+} // namespace concat_float_3_relaxed
+TEST_F(GeneratedTests, concat_float_3_relaxed) {
+    execute(concat_float_3_relaxed::CreateModel,
+            concat_float_3_relaxed::is_ignored,
+            concat_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/concat_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..9219d52
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_quant8_1 test
+#include "generated/examples/concat_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_quant8_1.model.cpp"
+} // namespace concat_quant8_1
+TEST_F(GeneratedTests, concat_quant8_1) {
+    execute(concat_quant8_1::CreateModel,
+            concat_quant8_1::is_ignored,
+            concat_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/concat_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..bab3cd3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_quant8_2 test
+#include "generated/examples/concat_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_quant8_2.model.cpp"
+} // namespace concat_quant8_2
+TEST_F(GeneratedTests, concat_quant8_2) {
+    execute(concat_quant8_2::CreateModel,
+            concat_quant8_2::is_ignored,
+            concat_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/concat_quant8_3.mod.py.cpp b/nn/runtime/test/generated/tests/concat_quant8_3.mod.py.cpp
new file mode 100644
index 0000000..44ff383
--- /dev/null
+++ b/nn/runtime/test/generated/tests/concat_quant8_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace concat_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated concat_quant8_3 test
+#include "generated/examples/concat_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/concat_quant8_3.model.cpp"
+} // namespace concat_quant8_3
+TEST_F(GeneratedTests, concat_quant8_3) {
+    execute(concat_quant8_3::CreateModel,
+            concat_quant8_3::is_ignored,
+            concat_quant8_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_1_h3_w2_SAME.mod.py.cpp b/nn/runtime/test/generated/tests/conv_1_h3_w2_SAME.mod.py.cpp
new file mode 100644
index 0000000..3b8b2b0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_1_h3_w2_SAME.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_1_h3_w2_SAME {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_1_h3_w2_SAME test
+#include "generated/examples/conv_1_h3_w2_SAME.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_1_h3_w2_SAME.model.cpp"
+} // namespace conv_1_h3_w2_SAME
+TEST_F(GeneratedTests, conv_1_h3_w2_SAME) {
+    execute(conv_1_h3_w2_SAME::CreateModel,
+            conv_1_h3_w2_SAME::is_ignored,
+            conv_1_h3_w2_SAME::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_1_h3_w2_SAME_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_1_h3_w2_SAME_relaxed.mod.py.cpp
new file mode 100644
index 0000000..87bb436
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_1_h3_w2_SAME_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_1_h3_w2_SAME_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_1_h3_w2_SAME_relaxed test
+#include "generated/examples/conv_1_h3_w2_SAME_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_1_h3_w2_SAME_relaxed.model.cpp"
+} // namespace conv_1_h3_w2_SAME_relaxed
+TEST_F(GeneratedTests, conv_1_h3_w2_SAME_relaxed) {
+    execute(conv_1_h3_w2_SAME_relaxed::CreateModel,
+            conv_1_h3_w2_SAME_relaxed::is_ignored,
+            conv_1_h3_w2_SAME_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_1_h3_w2_VALID.mod.py.cpp b/nn/runtime/test/generated/tests/conv_1_h3_w2_VALID.mod.py.cpp
new file mode 100644
index 0000000..0682de1
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_1_h3_w2_VALID.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_1_h3_w2_VALID {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_1_h3_w2_VALID test
+#include "generated/examples/conv_1_h3_w2_VALID.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_1_h3_w2_VALID.model.cpp"
+} // namespace conv_1_h3_w2_VALID
+TEST_F(GeneratedTests, conv_1_h3_w2_VALID) {
+    execute(conv_1_h3_w2_VALID::CreateModel,
+            conv_1_h3_w2_VALID::is_ignored,
+            conv_1_h3_w2_VALID::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_1_h3_w2_VALID_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_1_h3_w2_VALID_relaxed.mod.py.cpp
new file mode 100644
index 0000000..5f8c50a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_1_h3_w2_VALID_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_1_h3_w2_VALID_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_1_h3_w2_VALID_relaxed test
+#include "generated/examples/conv_1_h3_w2_VALID_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_1_h3_w2_VALID_relaxed.model.cpp"
+} // namespace conv_1_h3_w2_VALID_relaxed
+TEST_F(GeneratedTests, conv_1_h3_w2_VALID_relaxed) {
+    execute(conv_1_h3_w2_VALID_relaxed::CreateModel,
+            conv_1_h3_w2_VALID_relaxed::is_ignored,
+            conv_1_h3_w2_VALID_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_3_h3_w2_SAME.mod.py.cpp b/nn/runtime/test/generated/tests/conv_3_h3_w2_SAME.mod.py.cpp
new file mode 100644
index 0000000..def6d3a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_3_h3_w2_SAME.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_3_h3_w2_SAME {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_3_h3_w2_SAME test
+#include "generated/examples/conv_3_h3_w2_SAME.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_3_h3_w2_SAME.model.cpp"
+} // namespace conv_3_h3_w2_SAME
+TEST_F(GeneratedTests, conv_3_h3_w2_SAME) {
+    execute(conv_3_h3_w2_SAME::CreateModel,
+            conv_3_h3_w2_SAME::is_ignored,
+            conv_3_h3_w2_SAME::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_3_h3_w2_SAME_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_3_h3_w2_SAME_relaxed.mod.py.cpp
new file mode 100644
index 0000000..6d30b04
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_3_h3_w2_SAME_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_3_h3_w2_SAME_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_3_h3_w2_SAME_relaxed test
+#include "generated/examples/conv_3_h3_w2_SAME_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_3_h3_w2_SAME_relaxed.model.cpp"
+} // namespace conv_3_h3_w2_SAME_relaxed
+TEST_F(GeneratedTests, conv_3_h3_w2_SAME_relaxed) {
+    execute(conv_3_h3_w2_SAME_relaxed::CreateModel,
+            conv_3_h3_w2_SAME_relaxed::is_ignored,
+            conv_3_h3_w2_SAME_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_3_h3_w2_VALID.mod.py.cpp b/nn/runtime/test/generated/tests/conv_3_h3_w2_VALID.mod.py.cpp
new file mode 100644
index 0000000..d63d2fe
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_3_h3_w2_VALID.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_3_h3_w2_VALID {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_3_h3_w2_VALID test
+#include "generated/examples/conv_3_h3_w2_VALID.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_3_h3_w2_VALID.model.cpp"
+} // namespace conv_3_h3_w2_VALID
+TEST_F(GeneratedTests, conv_3_h3_w2_VALID) {
+    execute(conv_3_h3_w2_VALID::CreateModel,
+            conv_3_h3_w2_VALID::is_ignored,
+            conv_3_h3_w2_VALID::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_3_h3_w2_VALID_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_3_h3_w2_VALID_relaxed.mod.py.cpp
new file mode 100644
index 0000000..e20361e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_3_h3_w2_VALID_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_3_h3_w2_VALID_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_3_h3_w2_VALID_relaxed test
+#include "generated/examples/conv_3_h3_w2_VALID_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_3_h3_w2_VALID_relaxed.model.cpp"
+} // namespace conv_3_h3_w2_VALID_relaxed
+TEST_F(GeneratedTests, conv_3_h3_w2_VALID_relaxed) {
+    execute(conv_3_h3_w2_VALID_relaxed::CreateModel,
+            conv_3_h3_w2_VALID_relaxed::is_ignored,
+            conv_3_h3_w2_VALID_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float.mod.py.cpp
new file mode 100644
index 0000000..1b46fb0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float test
+#include "generated/examples/conv_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float.model.cpp"
+} // namespace conv_float
+TEST_F(GeneratedTests, conv_float) {
+    execute(conv_float::CreateModel,
+            conv_float::is_ignored,
+            conv_float::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_2.mod.py.cpp
new file mode 100644
index 0000000..629019a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_2 test
+#include "generated/examples/conv_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_2.model.cpp"
+} // namespace conv_float_2
+TEST_F(GeneratedTests, conv_float_2) {
+    execute(conv_float_2::CreateModel,
+            conv_float_2::is_ignored,
+            conv_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..adab985
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_2_relaxed test
+#include "generated/examples/conv_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_2_relaxed.model.cpp"
+} // namespace conv_float_2_relaxed
+TEST_F(GeneratedTests, conv_float_2_relaxed) {
+    execute(conv_float_2_relaxed::CreateModel,
+            conv_float_2_relaxed::is_ignored,
+            conv_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_channels.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_channels.mod.py.cpp
new file mode 100644
index 0000000..dd1b2fa
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_channels.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_channels {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_channels test
+#include "generated/examples/conv_float_channels.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_channels.model.cpp"
+} // namespace conv_float_channels
+TEST_F(GeneratedTests, conv_float_channels) {
+    execute(conv_float_channels::CreateModel,
+            conv_float_channels::is_ignored,
+            conv_float_channels::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_channels_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_channels_relaxed.mod.py.cpp
new file mode 100644
index 0000000..759125a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_channels_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_channels_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_channels_relaxed test
+#include "generated/examples/conv_float_channels_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_channels_relaxed.model.cpp"
+} // namespace conv_float_channels_relaxed
+TEST_F(GeneratedTests, conv_float_channels_relaxed) {
+    execute(conv_float_channels_relaxed::CreateModel,
+            conv_float_channels_relaxed::is_ignored,
+            conv_float_channels_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_channels_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_channels_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..9d0df11
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_channels_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_channels_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_channels_weights_as_inputs test
+#include "generated/examples/conv_float_channels_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_channels_weights_as_inputs.model.cpp"
+} // namespace conv_float_channels_weights_as_inputs
+TEST_F(GeneratedTests, conv_float_channels_weights_as_inputs) {
+    execute(conv_float_channels_weights_as_inputs::CreateModel,
+            conv_float_channels_weights_as_inputs::is_ignored,
+            conv_float_channels_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_channels_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_channels_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2adf69a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_channels_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_channels_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_channels_weights_as_inputs_relaxed test
+#include "generated/examples/conv_float_channels_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_channels_weights_as_inputs_relaxed.model.cpp"
+} // namespace conv_float_channels_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, conv_float_channels_weights_as_inputs_relaxed) {
+    execute(conv_float_channels_weights_as_inputs_relaxed::CreateModel,
+            conv_float_channels_weights_as_inputs_relaxed::is_ignored,
+            conv_float_channels_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_large.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_large.mod.py.cpp
new file mode 100644
index 0000000..087f9a2
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_large {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_large test
+#include "generated/examples/conv_float_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_large.model.cpp"
+} // namespace conv_float_large
+TEST_F(GeneratedTests, conv_float_large) {
+    execute(conv_float_large::CreateModel,
+            conv_float_large::is_ignored,
+            conv_float_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_large_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_large_relaxed.mod.py.cpp
new file mode 100644
index 0000000..fa7ad45
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_large_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_large_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_large_relaxed test
+#include "generated/examples/conv_float_large_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_large_relaxed.model.cpp"
+} // namespace conv_float_large_relaxed
+TEST_F(GeneratedTests, conv_float_large_relaxed) {
+    execute(conv_float_large_relaxed::CreateModel,
+            conv_float_large_relaxed::is_ignored,
+            conv_float_large_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_large_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_large_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..506879c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_large_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_large_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_large_weights_as_inputs test
+#include "generated/examples/conv_float_large_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_large_weights_as_inputs.model.cpp"
+} // namespace conv_float_large_weights_as_inputs
+TEST_F(GeneratedTests, conv_float_large_weights_as_inputs) {
+    execute(conv_float_large_weights_as_inputs::CreateModel,
+            conv_float_large_weights_as_inputs::is_ignored,
+            conv_float_large_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_large_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_large_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..407db24
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_large_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_large_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_large_weights_as_inputs_relaxed test
+#include "generated/examples/conv_float_large_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_large_weights_as_inputs_relaxed.model.cpp"
+} // namespace conv_float_large_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, conv_float_large_weights_as_inputs_relaxed) {
+    execute(conv_float_large_weights_as_inputs_relaxed::CreateModel,
+            conv_float_large_weights_as_inputs_relaxed::is_ignored,
+            conv_float_large_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_relaxed.mod.py.cpp
new file mode 100644
index 0000000..14f71d4
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_relaxed test
+#include "generated/examples/conv_float_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_relaxed.model.cpp"
+} // namespace conv_float_relaxed
+TEST_F(GeneratedTests, conv_float_relaxed) {
+    execute(conv_float_relaxed::CreateModel,
+            conv_float_relaxed::is_ignored,
+            conv_float_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..cc1420d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_weights_as_inputs test
+#include "generated/examples/conv_float_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_weights_as_inputs.model.cpp"
+} // namespace conv_float_weights_as_inputs
+TEST_F(GeneratedTests, conv_float_weights_as_inputs) {
+    execute(conv_float_weights_as_inputs::CreateModel,
+            conv_float_weights_as_inputs::is_ignored,
+            conv_float_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_float_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/conv_float_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..1b99545
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_float_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_float_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_float_weights_as_inputs_relaxed test
+#include "generated/examples/conv_float_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_float_weights_as_inputs_relaxed.model.cpp"
+} // namespace conv_float_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, conv_float_weights_as_inputs_relaxed) {
+    execute(conv_float_weights_as_inputs_relaxed::CreateModel,
+            conv_float_weights_as_inputs_relaxed::is_ignored,
+            conv_float_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8.mod.py.cpp
new file mode 100644
index 0000000..b1c033a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8 test
+#include "generated/examples/conv_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8.model.cpp"
+} // namespace conv_quant8
+TEST_F(GeneratedTests, conv_quant8) {
+    execute(conv_quant8::CreateModel,
+            conv_quant8::is_ignored,
+            conv_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..cf913f3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_2 test
+#include "generated/examples/conv_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_2.model.cpp"
+} // namespace conv_quant8_2
+TEST_F(GeneratedTests, conv_quant8_2) {
+    execute(conv_quant8_2::CreateModel,
+            conv_quant8_2::is_ignored,
+            conv_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_channels.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_channels.mod.py.cpp
new file mode 100644
index 0000000..f090b1e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_channels.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_channels {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_channels test
+#include "generated/examples/conv_quant8_channels.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_channels.model.cpp"
+} // namespace conv_quant8_channels
+TEST_F(GeneratedTests, conv_quant8_channels) {
+    execute(conv_quant8_channels::CreateModel,
+            conv_quant8_channels::is_ignored,
+            conv_quant8_channels::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_channels_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_channels_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..4e30c65
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_channels_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_channels_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_channels_weights_as_inputs test
+#include "generated/examples/conv_quant8_channels_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_channels_weights_as_inputs.model.cpp"
+} // namespace conv_quant8_channels_weights_as_inputs
+TEST_F(GeneratedTests, conv_quant8_channels_weights_as_inputs) {
+    execute(conv_quant8_channels_weights_as_inputs::CreateModel,
+            conv_quant8_channels_weights_as_inputs::is_ignored,
+            conv_quant8_channels_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_large.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_large.mod.py.cpp
new file mode 100644
index 0000000..ce8bc1f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_large {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_large test
+#include "generated/examples/conv_quant8_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_large.model.cpp"
+} // namespace conv_quant8_large
+TEST_F(GeneratedTests, conv_quant8_large) {
+    execute(conv_quant8_large::CreateModel,
+            conv_quant8_large::is_ignored,
+            conv_quant8_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_large_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_large_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..cf176c7
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_large_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_large_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_large_weights_as_inputs test
+#include "generated/examples/conv_quant8_large_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_large_weights_as_inputs.model.cpp"
+} // namespace conv_quant8_large_weights_as_inputs
+TEST_F(GeneratedTests, conv_quant8_large_weights_as_inputs) {
+    execute(conv_quant8_large_weights_as_inputs::CreateModel,
+            conv_quant8_large_weights_as_inputs::is_ignored,
+            conv_quant8_large_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_overflow.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_overflow.mod.py.cpp
new file mode 100644
index 0000000..8fcd2d3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_overflow.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_overflow {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_overflow test
+#include "generated/examples/conv_quant8_overflow.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_overflow.model.cpp"
+} // namespace conv_quant8_overflow
+TEST_F(GeneratedTests, conv_quant8_overflow) {
+    execute(conv_quant8_overflow::CreateModel,
+            conv_quant8_overflow::is_ignored,
+            conv_quant8_overflow::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_overflow_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_overflow_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..689f0ea
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_overflow_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_overflow_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_overflow_weights_as_inputs test
+#include "generated/examples/conv_quant8_overflow_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_overflow_weights_as_inputs.model.cpp"
+} // namespace conv_quant8_overflow_weights_as_inputs
+TEST_F(GeneratedTests, conv_quant8_overflow_weights_as_inputs) {
+    execute(conv_quant8_overflow_weights_as_inputs::CreateModel,
+            conv_quant8_overflow_weights_as_inputs::is_ignored,
+            conv_quant8_overflow_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/conv_quant8_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/conv_quant8_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..870e6d8
--- /dev/null
+++ b/nn/runtime/test/generated/tests/conv_quant8_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace conv_quant8_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated conv_quant8_weights_as_inputs test
+#include "generated/examples/conv_quant8_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/conv_quant8_weights_as_inputs.model.cpp"
+} // namespace conv_quant8_weights_as_inputs
+TEST_F(GeneratedTests, conv_quant8_weights_as_inputs) {
+    execute(conv_quant8_weights_as_inputs::CreateModel,
+            conv_quant8_weights_as_inputs::is_ignored,
+            conv_quant8_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_float_1.mod.py.cpp
new file mode 100644
index 0000000..5471ed3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_float_1 test
+#include "generated/examples/depth_to_space_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_float_1.model.cpp"
+} // namespace depth_to_space_float_1
+TEST_F(GeneratedTests, depth_to_space_float_1) {
+    execute(depth_to_space_float_1::CreateModel,
+            depth_to_space_float_1::is_ignored,
+            depth_to_space_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..30dcfe2
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_float_1_relaxed test
+#include "generated/examples/depth_to_space_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_float_1_relaxed.model.cpp"
+} // namespace depth_to_space_float_1_relaxed
+TEST_F(GeneratedTests, depth_to_space_float_1_relaxed) {
+    execute(depth_to_space_float_1_relaxed::CreateModel,
+            depth_to_space_float_1_relaxed::is_ignored,
+            depth_to_space_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_float_2.mod.py.cpp
new file mode 100644
index 0000000..57992db
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_float_2 test
+#include "generated/examples/depth_to_space_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_float_2.model.cpp"
+} // namespace depth_to_space_float_2
+TEST_F(GeneratedTests, depth_to_space_float_2) {
+    execute(depth_to_space_float_2::CreateModel,
+            depth_to_space_float_2::is_ignored,
+            depth_to_space_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..a661104
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_float_2_relaxed test
+#include "generated/examples/depth_to_space_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_float_2_relaxed.model.cpp"
+} // namespace depth_to_space_float_2_relaxed
+TEST_F(GeneratedTests, depth_to_space_float_2_relaxed) {
+    execute(depth_to_space_float_2_relaxed::CreateModel,
+            depth_to_space_float_2_relaxed::is_ignored,
+            depth_to_space_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_float_3.mod.py.cpp
new file mode 100644
index 0000000..bc171a4
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_float_3 test
+#include "generated/examples/depth_to_space_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_float_3.model.cpp"
+} // namespace depth_to_space_float_3
+TEST_F(GeneratedTests, depth_to_space_float_3) {
+    execute(depth_to_space_float_3::CreateModel,
+            depth_to_space_float_3::is_ignored,
+            depth_to_space_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..203bed1
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_float_3_relaxed test
+#include "generated/examples/depth_to_space_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_float_3_relaxed.model.cpp"
+} // namespace depth_to_space_float_3_relaxed
+TEST_F(GeneratedTests, depth_to_space_float_3_relaxed) {
+    execute(depth_to_space_float_3_relaxed::CreateModel,
+            depth_to_space_float_3_relaxed::is_ignored,
+            depth_to_space_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..9f98d50
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_quant8_1 test
+#include "generated/examples/depth_to_space_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_quant8_1.model.cpp"
+} // namespace depth_to_space_quant8_1
+TEST_F(GeneratedTests, depth_to_space_quant8_1) {
+    execute(depth_to_space_quant8_1::CreateModel,
+            depth_to_space_quant8_1::is_ignored,
+            depth_to_space_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depth_to_space_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/depth_to_space_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..f6a041f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depth_to_space_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depth_to_space_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated depth_to_space_quant8_2 test
+#include "generated/examples/depth_to_space_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depth_to_space_quant8_2.model.cpp"
+} // namespace depth_to_space_quant8_2
+TEST_F(GeneratedTests, depth_to_space_quant8_2) {
+    execute(depth_to_space_quant8_2::CreateModel,
+            depth_to_space_quant8_2::is_ignored,
+            depth_to_space_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv.mod.py.cpp
new file mode 100644
index 0000000..2ccc2d2
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv test
+#include "generated/examples/depthwise_conv.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv.model.cpp"
+} // namespace depthwise_conv
+TEST_F(GeneratedTests, depthwise_conv) {
+    execute(depthwise_conv::CreateModel,
+            depthwise_conv::is_ignored,
+            depthwise_conv::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float.mod.py.cpp
new file mode 100644
index 0000000..c94dd46
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float test
+#include "generated/examples/depthwise_conv2d_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float.model.cpp"
+} // namespace depthwise_conv2d_float
+TEST_F(GeneratedTests, depthwise_conv2d_float) {
+    execute(depthwise_conv2d_float::CreateModel,
+            depthwise_conv2d_float::is_ignored,
+            depthwise_conv2d_float::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_2.mod.py.cpp
new file mode 100644
index 0000000..f3b0eaf
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_2 test
+#include "generated/examples/depthwise_conv2d_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_2.model.cpp"
+} // namespace depthwise_conv2d_float_2
+TEST_F(GeneratedTests, depthwise_conv2d_float_2) {
+    execute(depthwise_conv2d_float_2::CreateModel,
+            depthwise_conv2d_float_2::is_ignored,
+            depthwise_conv2d_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..d9463a8
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_2_relaxed test
+#include "generated/examples/depthwise_conv2d_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_2_relaxed.model.cpp"
+} // namespace depthwise_conv2d_float_2_relaxed
+TEST_F(GeneratedTests, depthwise_conv2d_float_2_relaxed) {
+    execute(depthwise_conv2d_float_2_relaxed::CreateModel,
+            depthwise_conv2d_float_2_relaxed::is_ignored,
+            depthwise_conv2d_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large.mod.py.cpp
new file mode 100644
index 0000000..b960b7b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large test
+#include "generated/examples/depthwise_conv2d_float_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large.model.cpp"
+} // namespace depthwise_conv2d_float_large
+TEST_F(GeneratedTests, depthwise_conv2d_float_large) {
+    execute(depthwise_conv2d_float_large::CreateModel,
+            depthwise_conv2d_float_large::is_ignored,
+            depthwise_conv2d_float_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2.mod.py.cpp
new file mode 100644
index 0000000..865c246
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large_2 test
+#include "generated/examples/depthwise_conv2d_float_large_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large_2.model.cpp"
+} // namespace depthwise_conv2d_float_large_2
+TEST_F(GeneratedTests, depthwise_conv2d_float_large_2) {
+    execute(depthwise_conv2d_float_large_2::CreateModel,
+            depthwise_conv2d_float_large_2::is_ignored,
+            depthwise_conv2d_float_large_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2b15d0c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large_2_relaxed test
+#include "generated/examples/depthwise_conv2d_float_large_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large_2_relaxed.model.cpp"
+} // namespace depthwise_conv2d_float_large_2_relaxed
+TEST_F(GeneratedTests, depthwise_conv2d_float_large_2_relaxed) {
+    execute(depthwise_conv2d_float_large_2_relaxed::CreateModel,
+            depthwise_conv2d_float_large_2_relaxed::is_ignored,
+            depthwise_conv2d_float_large_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..b18e8f9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large_2_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large_2_weights_as_inputs test
+#include "generated/examples/depthwise_conv2d_float_large_2_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large_2_weights_as_inputs.model.cpp"
+} // namespace depthwise_conv2d_float_large_2_weights_as_inputs
+TEST_F(GeneratedTests, depthwise_conv2d_float_large_2_weights_as_inputs) {
+    execute(depthwise_conv2d_float_large_2_weights_as_inputs::CreateModel,
+            depthwise_conv2d_float_large_2_weights_as_inputs::is_ignored,
+            depthwise_conv2d_float_large_2_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..25f2016
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large_2_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large_2_weights_as_inputs_relaxed test
+#include "generated/examples/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large_2_weights_as_inputs_relaxed.model.cpp"
+} // namespace depthwise_conv2d_float_large_2_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, depthwise_conv2d_float_large_2_weights_as_inputs_relaxed) {
+    execute(depthwise_conv2d_float_large_2_weights_as_inputs_relaxed::CreateModel,
+            depthwise_conv2d_float_large_2_weights_as_inputs_relaxed::is_ignored,
+            depthwise_conv2d_float_large_2_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_relaxed.mod.py.cpp
new file mode 100644
index 0000000..6de3af5
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large_relaxed test
+#include "generated/examples/depthwise_conv2d_float_large_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large_relaxed.model.cpp"
+} // namespace depthwise_conv2d_float_large_relaxed
+TEST_F(GeneratedTests, depthwise_conv2d_float_large_relaxed) {
+    execute(depthwise_conv2d_float_large_relaxed::CreateModel,
+            depthwise_conv2d_float_large_relaxed::is_ignored,
+            depthwise_conv2d_float_large_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..95686d4
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large_weights_as_inputs test
+#include "generated/examples/depthwise_conv2d_float_large_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large_weights_as_inputs.model.cpp"
+} // namespace depthwise_conv2d_float_large_weights_as_inputs
+TEST_F(GeneratedTests, depthwise_conv2d_float_large_weights_as_inputs) {
+    execute(depthwise_conv2d_float_large_weights_as_inputs::CreateModel,
+            depthwise_conv2d_float_large_weights_as_inputs::is_ignored,
+            depthwise_conv2d_float_large_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..7bb90f9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_large_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_large_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_large_weights_as_inputs_relaxed test
+#include "generated/examples/depthwise_conv2d_float_large_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_large_weights_as_inputs_relaxed.model.cpp"
+} // namespace depthwise_conv2d_float_large_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, depthwise_conv2d_float_large_weights_as_inputs_relaxed) {
+    execute(depthwise_conv2d_float_large_weights_as_inputs_relaxed::CreateModel,
+            depthwise_conv2d_float_large_weights_as_inputs_relaxed::is_ignored,
+            depthwise_conv2d_float_large_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_relaxed.mod.py.cpp
new file mode 100644
index 0000000..9441c58
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_relaxed test
+#include "generated/examples/depthwise_conv2d_float_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_relaxed.model.cpp"
+} // namespace depthwise_conv2d_float_relaxed
+TEST_F(GeneratedTests, depthwise_conv2d_float_relaxed) {
+    execute(depthwise_conv2d_float_relaxed::CreateModel,
+            depthwise_conv2d_float_relaxed::is_ignored,
+            depthwise_conv2d_float_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..6909645
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_weights_as_inputs test
+#include "generated/examples/depthwise_conv2d_float_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_weights_as_inputs.model.cpp"
+} // namespace depthwise_conv2d_float_weights_as_inputs
+TEST_F(GeneratedTests, depthwise_conv2d_float_weights_as_inputs) {
+    execute(depthwise_conv2d_float_weights_as_inputs::CreateModel,
+            depthwise_conv2d_float_weights_as_inputs::is_ignored,
+            depthwise_conv2d_float_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_float_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_float_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f8e664f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_float_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_float_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_float_weights_as_inputs_relaxed test
+#include "generated/examples/depthwise_conv2d_float_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_float_weights_as_inputs_relaxed.model.cpp"
+} // namespace depthwise_conv2d_float_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, depthwise_conv2d_float_weights_as_inputs_relaxed) {
+    execute(depthwise_conv2d_float_weights_as_inputs_relaxed::CreateModel,
+            depthwise_conv2d_float_weights_as_inputs_relaxed::is_ignored,
+            depthwise_conv2d_float_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8.mod.py.cpp
new file mode 100644
index 0000000..e17790b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_quant8 test
+#include "generated/examples/depthwise_conv2d_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_quant8.model.cpp"
+} // namespace depthwise_conv2d_quant8
+TEST_F(GeneratedTests, depthwise_conv2d_quant8) {
+    execute(depthwise_conv2d_quant8::CreateModel,
+            depthwise_conv2d_quant8::is_ignored,
+            depthwise_conv2d_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..37c2785
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_quant8_2 test
+#include "generated/examples/depthwise_conv2d_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_quant8_2.model.cpp"
+} // namespace depthwise_conv2d_quant8_2
+TEST_F(GeneratedTests, depthwise_conv2d_quant8_2) {
+    execute(depthwise_conv2d_quant8_2::CreateModel,
+            depthwise_conv2d_quant8_2::is_ignored,
+            depthwise_conv2d_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_large.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_large.mod.py.cpp
new file mode 100644
index 0000000..542bb1e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_quant8_large {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_quant8_large test
+#include "generated/examples/depthwise_conv2d_quant8_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_quant8_large.model.cpp"
+} // namespace depthwise_conv2d_quant8_large
+TEST_F(GeneratedTests, depthwise_conv2d_quant8_large) {
+    execute(depthwise_conv2d_quant8_large::CreateModel,
+            depthwise_conv2d_quant8_large::is_ignored,
+            depthwise_conv2d_quant8_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_large_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_large_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..d6e8cc7
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_large_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_quant8_large_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_quant8_large_weights_as_inputs test
+#include "generated/examples/depthwise_conv2d_quant8_large_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_quant8_large_weights_as_inputs.model.cpp"
+} // namespace depthwise_conv2d_quant8_large_weights_as_inputs
+TEST_F(GeneratedTests, depthwise_conv2d_quant8_large_weights_as_inputs) {
+    execute(depthwise_conv2d_quant8_large_weights_as_inputs::CreateModel,
+            depthwise_conv2d_quant8_large_weights_as_inputs::is_ignored,
+            depthwise_conv2d_quant8_large_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..eef5d00
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv2d_quant8_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_quant8_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv2d_quant8_weights_as_inputs test
+#include "generated/examples/depthwise_conv2d_quant8_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv2d_quant8_weights_as_inputs.model.cpp"
+} // namespace depthwise_conv2d_quant8_weights_as_inputs
+TEST_F(GeneratedTests, depthwise_conv2d_quant8_weights_as_inputs) {
+    execute(depthwise_conv2d_quant8_weights_as_inputs::CreateModel,
+            depthwise_conv2d_quant8_weights_as_inputs::is_ignored,
+            depthwise_conv2d_quant8_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/depthwise_conv_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/depthwise_conv_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2568594
--- /dev/null
+++ b/nn/runtime/test/generated/tests/depthwise_conv_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated depthwise_conv_relaxed test
+#include "generated/examples/depthwise_conv_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/depthwise_conv_relaxed.model.cpp"
+} // namespace depthwise_conv_relaxed
+TEST_F(GeneratedTests, depthwise_conv_relaxed) {
+    execute(depthwise_conv_relaxed::CreateModel,
+            depthwise_conv_relaxed::is_ignored,
+            depthwise_conv_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/dequantize.mod.py.cpp b/nn/runtime/test/generated/tests/dequantize.mod.py.cpp
new file mode 100644
index 0000000..a376a2f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/dequantize.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace dequantize {
+std::vector<MixedTypedExample> examples = {
+// Generated dequantize test
+#include "generated/examples/dequantize.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/dequantize.model.cpp"
+} // namespace dequantize
+TEST_F(GeneratedTests, dequantize) {
+    execute(dequantize::CreateModel,
+            dequantize::is_ignored,
+            dequantize::examples);
+}
diff --git a/nn/runtime/test/generated/tests/dequantize_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/dequantize_relaxed.mod.py.cpp
new file mode 100644
index 0000000..0069dd1
--- /dev/null
+++ b/nn/runtime/test/generated/tests/dequantize_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace dequantize_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated dequantize_relaxed test
+#include "generated/examples/dequantize_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/dequantize_relaxed.model.cpp"
+} // namespace dequantize_relaxed
+TEST_F(GeneratedTests, dequantize_relaxed) {
+    execute(dequantize_relaxed::CreateModel,
+            dequantize_relaxed::is_ignored,
+            dequantize_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/div.mod.py.cpp b/nn/runtime/test/generated/tests/div.mod.py.cpp
new file mode 100644
index 0000000..42daab5
--- /dev/null
+++ b/nn/runtime/test/generated/tests/div.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace div {
+std::vector<MixedTypedExample> examples = {
+// Generated div test
+#include "generated/examples/div.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/div.model.cpp"
+} // namespace div
+TEST_F(GeneratedTests, div) {
+    execute(div::CreateModel,
+            div::is_ignored,
+            div::examples);
+}
diff --git a/nn/runtime/test/generated/tests/div_broadcast_float.mod.py.cpp b/nn/runtime/test/generated/tests/div_broadcast_float.mod.py.cpp
new file mode 100644
index 0000000..05e2abe
--- /dev/null
+++ b/nn/runtime/test/generated/tests/div_broadcast_float.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace div_broadcast_float {
+std::vector<MixedTypedExample> examples = {
+// Generated div_broadcast_float test
+#include "generated/examples/div_broadcast_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/div_broadcast_float.model.cpp"
+} // namespace div_broadcast_float
+TEST_F(GeneratedTests, div_broadcast_float) {
+    execute(div_broadcast_float::CreateModel,
+            div_broadcast_float::is_ignored,
+            div_broadcast_float::examples);
+}
diff --git a/nn/runtime/test/generated/tests/div_broadcast_float_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/div_broadcast_float_relaxed.mod.py.cpp
new file mode 100644
index 0000000..75d7ffc
--- /dev/null
+++ b/nn/runtime/test/generated/tests/div_broadcast_float_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace div_broadcast_float_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated div_broadcast_float_relaxed test
+#include "generated/examples/div_broadcast_float_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/div_broadcast_float_relaxed.model.cpp"
+} // namespace div_broadcast_float_relaxed
+TEST_F(GeneratedTests, div_broadcast_float_relaxed) {
+    execute(div_broadcast_float_relaxed::CreateModel,
+            div_broadcast_float_relaxed::is_ignored,
+            div_broadcast_float_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/div_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/div_relaxed.mod.py.cpp
new file mode 100644
index 0000000..8da21d7
--- /dev/null
+++ b/nn/runtime/test/generated/tests/div_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace div_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated div_relaxed test
+#include "generated/examples/div_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/div_relaxed.model.cpp"
+} // namespace div_relaxed
+TEST_F(GeneratedTests, div_relaxed) {
+    execute(div_relaxed::CreateModel,
+            div_relaxed::is_ignored,
+            div_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/embedding_lookup.mod.py.cpp b/nn/runtime/test/generated/tests/embedding_lookup.mod.py.cpp
new file mode 100644
index 0000000..f57a3b0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/embedding_lookup.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace embedding_lookup {
+std::vector<MixedTypedExample> examples = {
+// Generated embedding_lookup test
+#include "generated/examples/embedding_lookup.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/embedding_lookup.model.cpp"
+} // namespace embedding_lookup
+TEST_F(GeneratedTests, embedding_lookup) {
+    execute(embedding_lookup::CreateModel,
+            embedding_lookup::is_ignored,
+            embedding_lookup::examples);
+}
diff --git a/nn/runtime/test/generated/tests/embedding_lookup_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/embedding_lookup_relaxed.mod.py.cpp
new file mode 100644
index 0000000..d4ace08
--- /dev/null
+++ b/nn/runtime/test/generated/tests/embedding_lookup_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace embedding_lookup_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated embedding_lookup_relaxed test
+#include "generated/examples/embedding_lookup_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/embedding_lookup_relaxed.model.cpp"
+} // namespace embedding_lookup_relaxed
+TEST_F(GeneratedTests, embedding_lookup_relaxed) {
+    execute(embedding_lookup_relaxed::CreateModel,
+            embedding_lookup_relaxed::is_ignored,
+            embedding_lookup_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/floor.mod.py.cpp b/nn/runtime/test/generated/tests/floor.mod.py.cpp
new file mode 100644
index 0000000..5eca0cb
--- /dev/null
+++ b/nn/runtime/test/generated/tests/floor.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace floor {
+std::vector<MixedTypedExample> examples = {
+// Generated floor test
+#include "generated/examples/floor.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/floor.model.cpp"
+} // namespace floor
+TEST_F(GeneratedTests, floor) {
+    execute(floor::CreateModel,
+            floor::is_ignored,
+            floor::examples);
+}
diff --git a/nn/runtime/test/generated/tests/floor_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/floor_relaxed.mod.py.cpp
new file mode 100644
index 0000000..3e248eb
--- /dev/null
+++ b/nn/runtime/test/generated/tests/floor_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace floor_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated floor_relaxed test
+#include "generated/examples/floor_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/floor_relaxed.model.cpp"
+} // namespace floor_relaxed
+TEST_F(GeneratedTests, floor_relaxed) {
+    execute(floor_relaxed::CreateModel,
+            floor_relaxed::is_ignored,
+            floor_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float.mod.py.cpp
new file mode 100644
index 0000000..7da5e3f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float test
+#include "generated/examples/fully_connected_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float.model.cpp"
+} // namespace fully_connected_float
+TEST_F(GeneratedTests, fully_connected_float) {
+    execute(fully_connected_float::CreateModel,
+            fully_connected_float::is_ignored,
+            fully_connected_float::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_2.mod.py.cpp
new file mode 100644
index 0000000..83e8f13
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_2 test
+#include "generated/examples/fully_connected_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_2.model.cpp"
+} // namespace fully_connected_float_2
+TEST_F(GeneratedTests, fully_connected_float_2) {
+    execute(fully_connected_float_2::CreateModel,
+            fully_connected_float_2::is_ignored,
+            fully_connected_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..48ec7f6
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_2_relaxed test
+#include "generated/examples/fully_connected_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_2_relaxed.model.cpp"
+} // namespace fully_connected_float_2_relaxed
+TEST_F(GeneratedTests, fully_connected_float_2_relaxed) {
+    execute(fully_connected_float_2_relaxed::CreateModel,
+            fully_connected_float_2_relaxed::is_ignored,
+            fully_connected_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_4d_simple.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_4d_simple.mod.py.cpp
new file mode 100644
index 0000000..1034770
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_4d_simple.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_4d_simple {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_4d_simple test
+#include "generated/examples/fully_connected_float_4d_simple.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_4d_simple.model.cpp"
+} // namespace fully_connected_float_4d_simple
+TEST_F(GeneratedTests, fully_connected_float_4d_simple) {
+    execute(fully_connected_float_4d_simple::CreateModel,
+            fully_connected_float_4d_simple::is_ignored,
+            fully_connected_float_4d_simple::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_4d_simple_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_4d_simple_relaxed.mod.py.cpp
new file mode 100644
index 0000000..8839877
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_4d_simple_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_4d_simple_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_4d_simple_relaxed test
+#include "generated/examples/fully_connected_float_4d_simple_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_4d_simple_relaxed.model.cpp"
+} // namespace fully_connected_float_4d_simple_relaxed
+TEST_F(GeneratedTests, fully_connected_float_4d_simple_relaxed) {
+    execute(fully_connected_float_4d_simple_relaxed::CreateModel,
+            fully_connected_float_4d_simple_relaxed::is_ignored,
+            fully_connected_float_4d_simple_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_large.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_large.mod.py.cpp
new file mode 100644
index 0000000..152b2e7
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_large {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_large test
+#include "generated/examples/fully_connected_float_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_large.model.cpp"
+} // namespace fully_connected_float_large
+TEST_F(GeneratedTests, fully_connected_float_large) {
+    execute(fully_connected_float_large::CreateModel,
+            fully_connected_float_large::is_ignored,
+            fully_connected_float_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_large_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_large_relaxed.mod.py.cpp
new file mode 100644
index 0000000..42301d0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_large_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_large_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_large_relaxed test
+#include "generated/examples/fully_connected_float_large_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_large_relaxed.model.cpp"
+} // namespace fully_connected_float_large_relaxed
+TEST_F(GeneratedTests, fully_connected_float_large_relaxed) {
+    execute(fully_connected_float_large_relaxed::CreateModel,
+            fully_connected_float_large_relaxed::is_ignored,
+            fully_connected_float_large_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_large_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_large_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..c1e0807
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_large_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_large_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_large_weights_as_inputs test
+#include "generated/examples/fully_connected_float_large_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_large_weights_as_inputs.model.cpp"
+} // namespace fully_connected_float_large_weights_as_inputs
+TEST_F(GeneratedTests, fully_connected_float_large_weights_as_inputs) {
+    execute(fully_connected_float_large_weights_as_inputs::CreateModel,
+            fully_connected_float_large_weights_as_inputs::is_ignored,
+            fully_connected_float_large_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_large_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_large_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2f28646
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_large_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_large_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_large_weights_as_inputs_relaxed test
+#include "generated/examples/fully_connected_float_large_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_large_weights_as_inputs_relaxed.model.cpp"
+} // namespace fully_connected_float_large_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, fully_connected_float_large_weights_as_inputs_relaxed) {
+    execute(fully_connected_float_large_weights_as_inputs_relaxed::CreateModel,
+            fully_connected_float_large_weights_as_inputs_relaxed::is_ignored,
+            fully_connected_float_large_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_relaxed.mod.py.cpp
new file mode 100644
index 0000000..e288b38
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_relaxed test
+#include "generated/examples/fully_connected_float_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_relaxed.model.cpp"
+} // namespace fully_connected_float_relaxed
+TEST_F(GeneratedTests, fully_connected_float_relaxed) {
+    execute(fully_connected_float_relaxed::CreateModel,
+            fully_connected_float_relaxed::is_ignored,
+            fully_connected_float_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..b237c7f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_weights_as_inputs test
+#include "generated/examples/fully_connected_float_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_weights_as_inputs.model.cpp"
+} // namespace fully_connected_float_weights_as_inputs
+TEST_F(GeneratedTests, fully_connected_float_weights_as_inputs) {
+    execute(fully_connected_float_weights_as_inputs::CreateModel,
+            fully_connected_float_weights_as_inputs::is_ignored,
+            fully_connected_float_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_float_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_float_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..174e250
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_float_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_float_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_float_weights_as_inputs_relaxed test
+#include "generated/examples/fully_connected_float_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_float_weights_as_inputs_relaxed.model.cpp"
+} // namespace fully_connected_float_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, fully_connected_float_weights_as_inputs_relaxed) {
+    execute(fully_connected_float_weights_as_inputs_relaxed::CreateModel,
+            fully_connected_float_weights_as_inputs_relaxed::is_ignored,
+            fully_connected_float_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_quant8.mod.py.cpp
new file mode 100644
index 0000000..270982b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_quant8 test
+#include "generated/examples/fully_connected_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_quant8.model.cpp"
+} // namespace fully_connected_quant8
+TEST_F(GeneratedTests, fully_connected_quant8) {
+    execute(fully_connected_quant8::CreateModel,
+            fully_connected_quant8::is_ignored,
+            fully_connected_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..f7e8ff0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_quant8_2 test
+#include "generated/examples/fully_connected_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_quant8_2.model.cpp"
+} // namespace fully_connected_quant8_2
+TEST_F(GeneratedTests, fully_connected_quant8_2) {
+    execute(fully_connected_quant8_2::CreateModel,
+            fully_connected_quant8_2::is_ignored,
+            fully_connected_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_quant8_large.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_quant8_large.mod.py.cpp
new file mode 100644
index 0000000..dbb09a9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_quant8_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_quant8_large {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_quant8_large test
+#include "generated/examples/fully_connected_quant8_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_quant8_large.model.cpp"
+} // namespace fully_connected_quant8_large
+TEST_F(GeneratedTests, fully_connected_quant8_large) {
+    execute(fully_connected_quant8_large::CreateModel,
+            fully_connected_quant8_large::is_ignored,
+            fully_connected_quant8_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_quant8_large_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_quant8_large_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..e37881b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_quant8_large_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_quant8_large_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_quant8_large_weights_as_inputs test
+#include "generated/examples/fully_connected_quant8_large_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_quant8_large_weights_as_inputs.model.cpp"
+} // namespace fully_connected_quant8_large_weights_as_inputs
+TEST_F(GeneratedTests, fully_connected_quant8_large_weights_as_inputs) {
+    execute(fully_connected_quant8_large_weights_as_inputs::CreateModel,
+            fully_connected_quant8_large_weights_as_inputs::is_ignored,
+            fully_connected_quant8_large_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/fully_connected_quant8_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/fully_connected_quant8_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..55f7034
--- /dev/null
+++ b/nn/runtime/test/generated/tests/fully_connected_quant8_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace fully_connected_quant8_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated fully_connected_quant8_weights_as_inputs test
+#include "generated/examples/fully_connected_quant8_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/fully_connected_quant8_weights_as_inputs.model.cpp"
+} // namespace fully_connected_quant8_weights_as_inputs
+TEST_F(GeneratedTests, fully_connected_quant8_weights_as_inputs) {
+    execute(fully_connected_quant8_weights_as_inputs::CreateModel,
+            fully_connected_quant8_weights_as_inputs::is_ignored,
+            fully_connected_quant8_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/hashtable_lookup_float.mod.py.cpp b/nn/runtime/test/generated/tests/hashtable_lookup_float.mod.py.cpp
new file mode 100644
index 0000000..1d46da6
--- /dev/null
+++ b/nn/runtime/test/generated/tests/hashtable_lookup_float.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace hashtable_lookup_float {
+std::vector<MixedTypedExample> examples = {
+// Generated hashtable_lookup_float test
+#include "generated/examples/hashtable_lookup_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/hashtable_lookup_float.model.cpp"
+} // namespace hashtable_lookup_float
+TEST_F(GeneratedTests, hashtable_lookup_float) {
+    execute(hashtable_lookup_float::CreateModel,
+            hashtable_lookup_float::is_ignored,
+            hashtable_lookup_float::examples);
+}
diff --git a/nn/runtime/test/generated/tests/hashtable_lookup_float_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/hashtable_lookup_float_relaxed.mod.py.cpp
new file mode 100644
index 0000000..c1f6543
--- /dev/null
+++ b/nn/runtime/test/generated/tests/hashtable_lookup_float_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace hashtable_lookup_float_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated hashtable_lookup_float_relaxed test
+#include "generated/examples/hashtable_lookup_float_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/hashtable_lookup_float_relaxed.model.cpp"
+} // namespace hashtable_lookup_float_relaxed
+TEST_F(GeneratedTests, hashtable_lookup_float_relaxed) {
+    execute(hashtable_lookup_float_relaxed::CreateModel,
+            hashtable_lookup_float_relaxed::is_ignored,
+            hashtable_lookup_float_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/hashtable_lookup_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/hashtable_lookup_quant8.mod.py.cpp
new file mode 100644
index 0000000..29afd68
--- /dev/null
+++ b/nn/runtime/test/generated/tests/hashtable_lookup_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace hashtable_lookup_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated hashtable_lookup_quant8 test
+#include "generated/examples/hashtable_lookup_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/hashtable_lookup_quant8.model.cpp"
+} // namespace hashtable_lookup_quant8
+TEST_F(GeneratedTests, hashtable_lookup_quant8) {
+    execute(hashtable_lookup_quant8::CreateModel,
+            hashtable_lookup_quant8::is_ignored,
+            hashtable_lookup_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_normalization.mod.py.cpp b/nn/runtime/test/generated/tests/l2_normalization.mod.py.cpp
new file mode 100644
index 0000000..574f717
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_normalization.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_normalization {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_normalization test
+#include "generated/examples/l2_normalization.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_normalization.model.cpp"
+} // namespace l2_normalization
+TEST_F(GeneratedTests, l2_normalization) {
+    execute(l2_normalization::CreateModel,
+            l2_normalization::is_ignored,
+            l2_normalization::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_normalization_2.mod.py.cpp b/nn/runtime/test/generated/tests/l2_normalization_2.mod.py.cpp
new file mode 100644
index 0000000..2aa2eb4
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_normalization_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_normalization_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_normalization_2 test
+#include "generated/examples/l2_normalization_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_normalization_2.model.cpp"
+} // namespace l2_normalization_2
+TEST_F(GeneratedTests, l2_normalization_2) {
+    execute(l2_normalization_2::CreateModel,
+            l2_normalization_2::is_ignored,
+            l2_normalization_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_normalization_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/l2_normalization_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..cc3d769
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_normalization_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_normalization_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_normalization_2_relaxed test
+#include "generated/examples/l2_normalization_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_normalization_2_relaxed.model.cpp"
+} // namespace l2_normalization_2_relaxed
+TEST_F(GeneratedTests, l2_normalization_2_relaxed) {
+    execute(l2_normalization_2_relaxed::CreateModel,
+            l2_normalization_2_relaxed::is_ignored,
+            l2_normalization_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_normalization_large.mod.py.cpp b/nn/runtime/test/generated/tests/l2_normalization_large.mod.py.cpp
new file mode 100644
index 0000000..16b7230
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_normalization_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_normalization_large {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_normalization_large test
+#include "generated/examples/l2_normalization_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_normalization_large.model.cpp"
+} // namespace l2_normalization_large
+TEST_F(GeneratedTests, l2_normalization_large) {
+    execute(l2_normalization_large::CreateModel,
+            l2_normalization_large::is_ignored,
+            l2_normalization_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_normalization_large_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/l2_normalization_large_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2657558
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_normalization_large_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_normalization_large_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_normalization_large_relaxed test
+#include "generated/examples/l2_normalization_large_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_normalization_large_relaxed.model.cpp"
+} // namespace l2_normalization_large_relaxed
+TEST_F(GeneratedTests, l2_normalization_large_relaxed) {
+    execute(l2_normalization_large_relaxed::CreateModel,
+            l2_normalization_large_relaxed::is_ignored,
+            l2_normalization_large_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_normalization_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/l2_normalization_relaxed.mod.py.cpp
new file mode 100644
index 0000000..dd04de4
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_normalization_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_normalization_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_normalization_relaxed test
+#include "generated/examples/l2_normalization_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_normalization_relaxed.model.cpp"
+} // namespace l2_normalization_relaxed
+TEST_F(GeneratedTests, l2_normalization_relaxed) {
+    execute(l2_normalization_relaxed::CreateModel,
+            l2_normalization_relaxed::is_ignored,
+            l2_normalization_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_pool_float.mod.py.cpp b/nn/runtime/test/generated/tests/l2_pool_float.mod.py.cpp
new file mode 100644
index 0000000..3fd6a3a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_pool_float.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_pool_float {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_pool_float test
+#include "generated/examples/l2_pool_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_pool_float.model.cpp"
+} // namespace l2_pool_float
+TEST_F(GeneratedTests, l2_pool_float) {
+    execute(l2_pool_float::CreateModel,
+            l2_pool_float::is_ignored,
+            l2_pool_float::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_pool_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/l2_pool_float_2.mod.py.cpp
new file mode 100644
index 0000000..94dbd90
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_pool_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_pool_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_pool_float_2 test
+#include "generated/examples/l2_pool_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_pool_float_2.model.cpp"
+} // namespace l2_pool_float_2
+TEST_F(GeneratedTests, l2_pool_float_2) {
+    execute(l2_pool_float_2::CreateModel,
+            l2_pool_float_2::is_ignored,
+            l2_pool_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_pool_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/l2_pool_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..9252904
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_pool_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_pool_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_pool_float_2_relaxed test
+#include "generated/examples/l2_pool_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_pool_float_2_relaxed.model.cpp"
+} // namespace l2_pool_float_2_relaxed
+TEST_F(GeneratedTests, l2_pool_float_2_relaxed) {
+    execute(l2_pool_float_2_relaxed::CreateModel,
+            l2_pool_float_2_relaxed::is_ignored,
+            l2_pool_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_pool_float_large.mod.py.cpp b/nn/runtime/test/generated/tests/l2_pool_float_large.mod.py.cpp
new file mode 100644
index 0000000..70eb1b2
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_pool_float_large.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_pool_float_large {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_pool_float_large test
+#include "generated/examples/l2_pool_float_large.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_pool_float_large.model.cpp"
+} // namespace l2_pool_float_large
+TEST_F(GeneratedTests, l2_pool_float_large) {
+    execute(l2_pool_float_large::CreateModel,
+            l2_pool_float_large::is_ignored,
+            l2_pool_float_large::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_pool_float_large_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/l2_pool_float_large_relaxed.mod.py.cpp
new file mode 100644
index 0000000..80610b8
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_pool_float_large_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_pool_float_large_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_pool_float_large_relaxed test
+#include "generated/examples/l2_pool_float_large_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_pool_float_large_relaxed.model.cpp"
+} // namespace l2_pool_float_large_relaxed
+TEST_F(GeneratedTests, l2_pool_float_large_relaxed) {
+    execute(l2_pool_float_large_relaxed::CreateModel,
+            l2_pool_float_large_relaxed::is_ignored,
+            l2_pool_float_large_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/l2_pool_float_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/l2_pool_float_relaxed.mod.py.cpp
new file mode 100644
index 0000000..183420d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/l2_pool_float_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace l2_pool_float_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated l2_pool_float_relaxed test
+#include "generated/examples/l2_pool_float_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/l2_pool_float_relaxed.model.cpp"
+} // namespace l2_pool_float_relaxed
+TEST_F(GeneratedTests, l2_pool_float_relaxed) {
+    execute(l2_pool_float_relaxed::CreateModel,
+            l2_pool_float_relaxed::is_ignored,
+            l2_pool_float_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_1.mod.py.cpp
new file mode 100644
index 0000000..4d8c76e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_1 test
+#include "generated/examples/local_response_norm_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_1.model.cpp"
+} // namespace local_response_norm_float_1
+TEST_F(GeneratedTests, local_response_norm_float_1) {
+    execute(local_response_norm_float_1::CreateModel,
+            local_response_norm_float_1::is_ignored,
+            local_response_norm_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..38d538d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_1_relaxed test
+#include "generated/examples/local_response_norm_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_1_relaxed.model.cpp"
+} // namespace local_response_norm_float_1_relaxed
+TEST_F(GeneratedTests, local_response_norm_float_1_relaxed) {
+    execute(local_response_norm_float_1_relaxed::CreateModel,
+            local_response_norm_float_1_relaxed::is_ignored,
+            local_response_norm_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_2.mod.py.cpp
new file mode 100644
index 0000000..08ab68e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_2 test
+#include "generated/examples/local_response_norm_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_2.model.cpp"
+} // namespace local_response_norm_float_2
+TEST_F(GeneratedTests, local_response_norm_float_2) {
+    execute(local_response_norm_float_2::CreateModel,
+            local_response_norm_float_2::is_ignored,
+            local_response_norm_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..800911c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_2_relaxed test
+#include "generated/examples/local_response_norm_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_2_relaxed.model.cpp"
+} // namespace local_response_norm_float_2_relaxed
+TEST_F(GeneratedTests, local_response_norm_float_2_relaxed) {
+    execute(local_response_norm_float_2_relaxed::CreateModel,
+            local_response_norm_float_2_relaxed::is_ignored,
+            local_response_norm_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_3.mod.py.cpp
new file mode 100644
index 0000000..ccb88e0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_3 test
+#include "generated/examples/local_response_norm_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_3.model.cpp"
+} // namespace local_response_norm_float_3
+TEST_F(GeneratedTests, local_response_norm_float_3) {
+    execute(local_response_norm_float_3::CreateModel,
+            local_response_norm_float_3::is_ignored,
+            local_response_norm_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..9d3b930
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_3_relaxed test
+#include "generated/examples/local_response_norm_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_3_relaxed.model.cpp"
+} // namespace local_response_norm_float_3_relaxed
+TEST_F(GeneratedTests, local_response_norm_float_3_relaxed) {
+    execute(local_response_norm_float_3_relaxed::CreateModel,
+            local_response_norm_float_3_relaxed::is_ignored,
+            local_response_norm_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_4.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_4.mod.py.cpp
new file mode 100644
index 0000000..5bc191e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_4.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_4 test
+#include "generated/examples/local_response_norm_float_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_4.model.cpp"
+} // namespace local_response_norm_float_4
+TEST_F(GeneratedTests, local_response_norm_float_4) {
+    execute(local_response_norm_float_4::CreateModel,
+            local_response_norm_float_4::is_ignored,
+            local_response_norm_float_4::examples);
+}
diff --git a/nn/runtime/test/generated/tests/local_response_norm_float_4_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/local_response_norm_float_4_relaxed.mod.py.cpp
new file mode 100644
index 0000000..c3e5843
--- /dev/null
+++ b/nn/runtime/test/generated/tests/local_response_norm_float_4_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace local_response_norm_float_4_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated local_response_norm_float_4_relaxed test
+#include "generated/examples/local_response_norm_float_4_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/local_response_norm_float_4_relaxed.model.cpp"
+} // namespace local_response_norm_float_4_relaxed
+TEST_F(GeneratedTests, local_response_norm_float_4_relaxed) {
+    execute(local_response_norm_float_4_relaxed::CreateModel,
+            local_response_norm_float_4_relaxed::is_ignored,
+            local_response_norm_float_4_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/logistic_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/logistic_float_1.mod.py.cpp
new file mode 100644
index 0000000..0d65353
--- /dev/null
+++ b/nn/runtime/test/generated/tests/logistic_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace logistic_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated logistic_float_1 test
+#include "generated/examples/logistic_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/logistic_float_1.model.cpp"
+} // namespace logistic_float_1
+TEST_F(GeneratedTests, logistic_float_1) {
+    execute(logistic_float_1::CreateModel,
+            logistic_float_1::is_ignored,
+            logistic_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/logistic_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/logistic_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..224b06e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/logistic_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace logistic_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated logistic_float_1_relaxed test
+#include "generated/examples/logistic_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/logistic_float_1_relaxed.model.cpp"
+} // namespace logistic_float_1_relaxed
+TEST_F(GeneratedTests, logistic_float_1_relaxed) {
+    execute(logistic_float_1_relaxed::CreateModel,
+            logistic_float_1_relaxed::is_ignored,
+            logistic_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/logistic_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/logistic_float_2.mod.py.cpp
new file mode 100644
index 0000000..ab6aba3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/logistic_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace logistic_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated logistic_float_2 test
+#include "generated/examples/logistic_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/logistic_float_2.model.cpp"
+} // namespace logistic_float_2
+TEST_F(GeneratedTests, logistic_float_2) {
+    execute(logistic_float_2::CreateModel,
+            logistic_float_2::is_ignored,
+            logistic_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/logistic_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/logistic_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..dd98690
--- /dev/null
+++ b/nn/runtime/test/generated/tests/logistic_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace logistic_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated logistic_float_2_relaxed test
+#include "generated/examples/logistic_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/logistic_float_2_relaxed.model.cpp"
+} // namespace logistic_float_2_relaxed
+TEST_F(GeneratedTests, logistic_float_2_relaxed) {
+    execute(logistic_float_2_relaxed::CreateModel,
+            logistic_float_2_relaxed::is_ignored,
+            logistic_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/logistic_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/logistic_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..1be4b3e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/logistic_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace logistic_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated logistic_quant8_1 test
+#include "generated/examples/logistic_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/logistic_quant8_1.model.cpp"
+} // namespace logistic_quant8_1
+TEST_F(GeneratedTests, logistic_quant8_1) {
+    execute(logistic_quant8_1::CreateModel,
+            logistic_quant8_1::is_ignored,
+            logistic_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/logistic_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/logistic_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..f14c67d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/logistic_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace logistic_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated logistic_quant8_2 test
+#include "generated/examples/logistic_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/logistic_quant8_2.model.cpp"
+} // namespace logistic_quant8_2
+TEST_F(GeneratedTests, logistic_quant8_2) {
+    execute(logistic_quant8_2::CreateModel,
+            logistic_quant8_2::is_ignored,
+            logistic_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lsh_projection.mod.py.cpp b/nn/runtime/test/generated/tests/lsh_projection.mod.py.cpp
new file mode 100644
index 0000000..2ca5f4c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lsh_projection.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lsh_projection {
+std::vector<MixedTypedExample> examples = {
+// Generated lsh_projection test
+#include "generated/examples/lsh_projection.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lsh_projection.model.cpp"
+} // namespace lsh_projection
+TEST_F(GeneratedTests, lsh_projection) {
+    execute(lsh_projection::CreateModel,
+            lsh_projection::is_ignored,
+            lsh_projection::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lsh_projection_2.mod.py.cpp b/nn/runtime/test/generated/tests/lsh_projection_2.mod.py.cpp
new file mode 100644
index 0000000..730c03e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lsh_projection_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lsh_projection_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated lsh_projection_2 test
+#include "generated/examples/lsh_projection_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lsh_projection_2.model.cpp"
+} // namespace lsh_projection_2
+TEST_F(GeneratedTests, lsh_projection_2) {
+    execute(lsh_projection_2::CreateModel,
+            lsh_projection_2::is_ignored,
+            lsh_projection_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lsh_projection_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lsh_projection_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..19a07df
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lsh_projection_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lsh_projection_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lsh_projection_2_relaxed test
+#include "generated/examples/lsh_projection_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lsh_projection_2_relaxed.model.cpp"
+} // namespace lsh_projection_2_relaxed
+TEST_F(GeneratedTests, lsh_projection_2_relaxed) {
+    execute(lsh_projection_2_relaxed::CreateModel,
+            lsh_projection_2_relaxed::is_ignored,
+            lsh_projection_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lsh_projection_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lsh_projection_relaxed.mod.py.cpp
new file mode 100644
index 0000000..14b3c15
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lsh_projection_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lsh_projection_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lsh_projection_relaxed test
+#include "generated/examples/lsh_projection_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lsh_projection_relaxed.model.cpp"
+} // namespace lsh_projection_relaxed
+TEST_F(GeneratedTests, lsh_projection_relaxed) {
+    execute(lsh_projection_relaxed::CreateModel,
+            lsh_projection_relaxed::is_ignored,
+            lsh_projection_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lsh_projection_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/lsh_projection_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..5332599
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lsh_projection_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lsh_projection_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated lsh_projection_weights_as_inputs test
+#include "generated/examples/lsh_projection_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lsh_projection_weights_as_inputs.model.cpp"
+} // namespace lsh_projection_weights_as_inputs
+TEST_F(GeneratedTests, lsh_projection_weights_as_inputs) {
+    execute(lsh_projection_weights_as_inputs::CreateModel,
+            lsh_projection_weights_as_inputs::is_ignored,
+            lsh_projection_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lsh_projection_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lsh_projection_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..05d734a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lsh_projection_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lsh_projection_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lsh_projection_weights_as_inputs_relaxed test
+#include "generated/examples/lsh_projection_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lsh_projection_weights_as_inputs_relaxed.model.cpp"
+} // namespace lsh_projection_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, lsh_projection_weights_as_inputs_relaxed) {
+    execute(lsh_projection_weights_as_inputs_relaxed::CreateModel,
+            lsh_projection_weights_as_inputs_relaxed::is_ignored,
+            lsh_projection_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm.mod.py.cpp b/nn/runtime/test/generated/tests/lstm.mod.py.cpp
new file mode 100644
index 0000000..6e51bff
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm test
+#include "generated/examples/lstm.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm.model.cpp"
+} // namespace lstm
+TEST_F(GeneratedTests, lstm) {
+    execute(lstm::CreateModel,
+            lstm::is_ignored,
+            lstm::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm2.mod.py.cpp b/nn/runtime/test/generated/tests/lstm2.mod.py.cpp
new file mode 100644
index 0000000..25cbf81
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm2 {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm2 test
+#include "generated/examples/lstm2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm2.model.cpp"
+} // namespace lstm2
+TEST_F(GeneratedTests, lstm2) {
+    execute(lstm2::CreateModel,
+            lstm2::is_ignored,
+            lstm2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..bbb4c1a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm2_relaxed test
+#include "generated/examples/lstm2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm2_relaxed.model.cpp"
+} // namespace lstm2_relaxed
+TEST_F(GeneratedTests, lstm2_relaxed) {
+    execute(lstm2_relaxed::CreateModel,
+            lstm2_relaxed::is_ignored,
+            lstm2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm2_state.mod.py.cpp b/nn/runtime/test/generated/tests/lstm2_state.mod.py.cpp
new file mode 100644
index 0000000..0ec138a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm2_state.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm2_state {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm2_state test
+#include "generated/examples/lstm2_state.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm2_state.model.cpp"
+} // namespace lstm2_state
+TEST_F(GeneratedTests, lstm2_state) {
+    execute(lstm2_state::CreateModel,
+            lstm2_state::is_ignored,
+            lstm2_state::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm2_state2.mod.py.cpp b/nn/runtime/test/generated/tests/lstm2_state2.mod.py.cpp
new file mode 100644
index 0000000..42edffc
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm2_state2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm2_state2 {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm2_state2 test
+#include "generated/examples/lstm2_state2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm2_state2.model.cpp"
+} // namespace lstm2_state2
+TEST_F(GeneratedTests, lstm2_state2) {
+    execute(lstm2_state2::CreateModel,
+            lstm2_state2::is_ignored,
+            lstm2_state2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm2_state2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm2_state2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..ca61d53
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm2_state2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm2_state2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm2_state2_relaxed test
+#include "generated/examples/lstm2_state2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm2_state2_relaxed.model.cpp"
+} // namespace lstm2_state2_relaxed
+TEST_F(GeneratedTests, lstm2_state2_relaxed) {
+    execute(lstm2_state2_relaxed::CreateModel,
+            lstm2_state2_relaxed::is_ignored,
+            lstm2_state2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm2_state_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm2_state_relaxed.mod.py.cpp
new file mode 100644
index 0000000..7a5c742
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm2_state_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm2_state_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm2_state_relaxed test
+#include "generated/examples/lstm2_state_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm2_state_relaxed.model.cpp"
+} // namespace lstm2_state_relaxed
+TEST_F(GeneratedTests, lstm2_state_relaxed) {
+    execute(lstm2_state_relaxed::CreateModel,
+            lstm2_state_relaxed::is_ignored,
+            lstm2_state_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3.mod.py.cpp
new file mode 100644
index 0000000..02319db
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3 {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3 test
+#include "generated/examples/lstm3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3.model.cpp"
+} // namespace lstm3
+TEST_F(GeneratedTests, lstm3) {
+    execute(lstm3::CreateModel,
+            lstm3::is_ignored,
+            lstm3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..9b4af0a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3_relaxed test
+#include "generated/examples/lstm3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3_relaxed.model.cpp"
+} // namespace lstm3_relaxed
+TEST_F(GeneratedTests, lstm3_relaxed) {
+    execute(lstm3_relaxed::CreateModel,
+            lstm3_relaxed::is_ignored,
+            lstm3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3_state.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3_state.mod.py.cpp
new file mode 100644
index 0000000..51ae18f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3_state.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3_state {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3_state test
+#include "generated/examples/lstm3_state.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3_state.model.cpp"
+} // namespace lstm3_state
+TEST_F(GeneratedTests, lstm3_state) {
+    execute(lstm3_state::CreateModel,
+            lstm3_state::is_ignored,
+            lstm3_state::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3_state2.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3_state2.mod.py.cpp
new file mode 100644
index 0000000..21c87b8
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3_state2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3_state2 {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3_state2 test
+#include "generated/examples/lstm3_state2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3_state2.model.cpp"
+} // namespace lstm3_state2
+TEST_F(GeneratedTests, lstm3_state2) {
+    execute(lstm3_state2::CreateModel,
+            lstm3_state2::is_ignored,
+            lstm3_state2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3_state2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3_state2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..8dbe6ab
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3_state2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3_state2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3_state2_relaxed test
+#include "generated/examples/lstm3_state2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3_state2_relaxed.model.cpp"
+} // namespace lstm3_state2_relaxed
+TEST_F(GeneratedTests, lstm3_state2_relaxed) {
+    execute(lstm3_state2_relaxed::CreateModel,
+            lstm3_state2_relaxed::is_ignored,
+            lstm3_state2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3_state3.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3_state3.mod.py.cpp
new file mode 100644
index 0000000..48d1905
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3_state3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3_state3 {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3_state3 test
+#include "generated/examples/lstm3_state3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3_state3.model.cpp"
+} // namespace lstm3_state3
+TEST_F(GeneratedTests, lstm3_state3) {
+    execute(lstm3_state3::CreateModel,
+            lstm3_state3::is_ignored,
+            lstm3_state3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3_state3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3_state3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..6c49357
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3_state3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3_state3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3_state3_relaxed test
+#include "generated/examples/lstm3_state3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3_state3_relaxed.model.cpp"
+} // namespace lstm3_state3_relaxed
+TEST_F(GeneratedTests, lstm3_state3_relaxed) {
+    execute(lstm3_state3_relaxed::CreateModel,
+            lstm3_state3_relaxed::is_ignored,
+            lstm3_state3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm3_state_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm3_state_relaxed.mod.py.cpp
new file mode 100644
index 0000000..caaba40
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm3_state_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm3_state_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm3_state_relaxed test
+#include "generated/examples/lstm3_state_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm3_state_relaxed.model.cpp"
+} // namespace lstm3_state_relaxed
+TEST_F(GeneratedTests, lstm3_state_relaxed) {
+    execute(lstm3_state_relaxed::CreateModel,
+            lstm3_state_relaxed::is_ignored,
+            lstm3_state_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f510f7b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm_relaxed test
+#include "generated/examples/lstm_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm_relaxed.model.cpp"
+} // namespace lstm_relaxed
+TEST_F(GeneratedTests, lstm_relaxed) {
+    execute(lstm_relaxed::CreateModel,
+            lstm_relaxed::is_ignored,
+            lstm_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm_state.mod.py.cpp b/nn/runtime/test/generated/tests/lstm_state.mod.py.cpp
new file mode 100644
index 0000000..7b8b250
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm_state.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm_state {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm_state test
+#include "generated/examples/lstm_state.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm_state.model.cpp"
+} // namespace lstm_state
+TEST_F(GeneratedTests, lstm_state) {
+    execute(lstm_state::CreateModel,
+            lstm_state::is_ignored,
+            lstm_state::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm_state2.mod.py.cpp b/nn/runtime/test/generated/tests/lstm_state2.mod.py.cpp
new file mode 100644
index 0000000..bb890e3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm_state2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm_state2 {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm_state2 test
+#include "generated/examples/lstm_state2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm_state2.model.cpp"
+} // namespace lstm_state2
+TEST_F(GeneratedTests, lstm_state2) {
+    execute(lstm_state2::CreateModel,
+            lstm_state2::is_ignored,
+            lstm_state2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm_state2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm_state2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..9b41834
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm_state2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm_state2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm_state2_relaxed test
+#include "generated/examples/lstm_state2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm_state2_relaxed.model.cpp"
+} // namespace lstm_state2_relaxed
+TEST_F(GeneratedTests, lstm_state2_relaxed) {
+    execute(lstm_state2_relaxed::CreateModel,
+            lstm_state2_relaxed::is_ignored,
+            lstm_state2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/lstm_state_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/lstm_state_relaxed.mod.py.cpp
new file mode 100644
index 0000000..3c5065d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/lstm_state_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace lstm_state_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated lstm_state_relaxed test
+#include "generated/examples/lstm_state_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/lstm_state_relaxed.model.cpp"
+} // namespace lstm_state_relaxed
+TEST_F(GeneratedTests, lstm_state_relaxed) {
+    execute(lstm_state_relaxed::CreateModel,
+            lstm_state_relaxed::is_ignored,
+            lstm_state_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_1.mod.py.cpp
new file mode 100644
index 0000000..1049c72
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_1 test
+#include "generated/examples/max_pool_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_1.model.cpp"
+} // namespace max_pool_float_1
+TEST_F(GeneratedTests, max_pool_float_1) {
+    execute(max_pool_float_1::CreateModel,
+            max_pool_float_1::is_ignored,
+            max_pool_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..790162c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_1_relaxed test
+#include "generated/examples/max_pool_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_1_relaxed.model.cpp"
+} // namespace max_pool_float_1_relaxed
+TEST_F(GeneratedTests, max_pool_float_1_relaxed) {
+    execute(max_pool_float_1_relaxed::CreateModel,
+            max_pool_float_1_relaxed::is_ignored,
+            max_pool_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_2.mod.py.cpp
new file mode 100644
index 0000000..0d015a8
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_2 test
+#include "generated/examples/max_pool_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_2.model.cpp"
+} // namespace max_pool_float_2
+TEST_F(GeneratedTests, max_pool_float_2) {
+    execute(max_pool_float_2::CreateModel,
+            max_pool_float_2::is_ignored,
+            max_pool_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..8a6083c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_2_relaxed test
+#include "generated/examples/max_pool_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_2_relaxed.model.cpp"
+} // namespace max_pool_float_2_relaxed
+TEST_F(GeneratedTests, max_pool_float_2_relaxed) {
+    execute(max_pool_float_2_relaxed::CreateModel,
+            max_pool_float_2_relaxed::is_ignored,
+            max_pool_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_3.mod.py.cpp
new file mode 100644
index 0000000..e0b2ea6
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_3 test
+#include "generated/examples/max_pool_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_3.model.cpp"
+} // namespace max_pool_float_3
+TEST_F(GeneratedTests, max_pool_float_3) {
+    execute(max_pool_float_3::CreateModel,
+            max_pool_float_3::is_ignored,
+            max_pool_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..eaa7080
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_3_relaxed test
+#include "generated/examples/max_pool_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_3_relaxed.model.cpp"
+} // namespace max_pool_float_3_relaxed
+TEST_F(GeneratedTests, max_pool_float_3_relaxed) {
+    execute(max_pool_float_3_relaxed::CreateModel,
+            max_pool_float_3_relaxed::is_ignored,
+            max_pool_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_4.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_4.mod.py.cpp
new file mode 100644
index 0000000..2f66986
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_4.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_4 test
+#include "generated/examples/max_pool_float_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_4.model.cpp"
+} // namespace max_pool_float_4
+TEST_F(GeneratedTests, max_pool_float_4) {
+    execute(max_pool_float_4::CreateModel,
+            max_pool_float_4::is_ignored,
+            max_pool_float_4::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_float_4_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_float_4_relaxed.mod.py.cpp
new file mode 100644
index 0000000..b8aec11
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_float_4_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_float_4_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_float_4_relaxed test
+#include "generated/examples/max_pool_float_4_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_float_4_relaxed.model.cpp"
+} // namespace max_pool_float_4_relaxed
+TEST_F(GeneratedTests, max_pool_float_4_relaxed) {
+    execute(max_pool_float_4_relaxed::CreateModel,
+            max_pool_float_4_relaxed::is_ignored,
+            max_pool_float_4_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..a643d34
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_quant8_1 test
+#include "generated/examples/max_pool_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_quant8_1.model.cpp"
+} // namespace max_pool_quant8_1
+TEST_F(GeneratedTests, max_pool_quant8_1) {
+    execute(max_pool_quant8_1::CreateModel,
+            max_pool_quant8_1::is_ignored,
+            max_pool_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..4475096
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_quant8_2 test
+#include "generated/examples/max_pool_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_quant8_2.model.cpp"
+} // namespace max_pool_quant8_2
+TEST_F(GeneratedTests, max_pool_quant8_2) {
+    execute(max_pool_quant8_2::CreateModel,
+            max_pool_quant8_2::is_ignored,
+            max_pool_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_quant8_3.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_quant8_3.mod.py.cpp
new file mode 100644
index 0000000..69e4876
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_quant8_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_quant8_3 test
+#include "generated/examples/max_pool_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_quant8_3.model.cpp"
+} // namespace max_pool_quant8_3
+TEST_F(GeneratedTests, max_pool_quant8_3) {
+    execute(max_pool_quant8_3::CreateModel,
+            max_pool_quant8_3::is_ignored,
+            max_pool_quant8_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/max_pool_quant8_4.mod.py.cpp b/nn/runtime/test/generated/tests/max_pool_quant8_4.mod.py.cpp
new file mode 100644
index 0000000..f69987b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/max_pool_quant8_4.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace max_pool_quant8_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated max_pool_quant8_4 test
+#include "generated/examples/max_pool_quant8_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/max_pool_quant8_4.model.cpp"
+} // namespace max_pool_quant8_4
+TEST_F(GeneratedTests, max_pool_quant8_4) {
+    execute(max_pool_quant8_4::CreateModel,
+            max_pool_quant8_4::is_ignored,
+            max_pool_quant8_4::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean.mod.py.cpp b/nn/runtime/test/generated/tests/mean.mod.py.cpp
new file mode 100644
index 0000000..34a2743
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean {
+std::vector<MixedTypedExample> examples = {
+// Generated mean test
+#include "generated/examples/mean.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean.model.cpp"
+} // namespace mean
+TEST_F(GeneratedTests, mean) {
+    execute(mean::CreateModel,
+            mean::is_ignored,
+            mean::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/mean_float_1.mod.py.cpp
new file mode 100644
index 0000000..b9656f9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_1 test
+#include "generated/examples/mean_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_float_1.model.cpp"
+} // namespace mean_float_1
+TEST_F(GeneratedTests, mean_float_1) {
+    execute(mean_float_1::CreateModel,
+            mean_float_1::is_ignored,
+            mean_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/mean_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..c5dffde
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_1_relaxed test
+#include "generated/examples/mean_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_float_1_relaxed.model.cpp"
+} // namespace mean_float_1_relaxed
+TEST_F(GeneratedTests, mean_float_1_relaxed) {
+    execute(mean_float_1_relaxed::CreateModel,
+            mean_float_1_relaxed::is_ignored,
+            mean_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/mean_float_2.mod.py.cpp
new file mode 100644
index 0000000..1a6500d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_2 test
+#include "generated/examples/mean_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_float_2.model.cpp"
+} // namespace mean_float_2
+TEST_F(GeneratedTests, mean_float_2) {
+    execute(mean_float_2::CreateModel,
+            mean_float_2::is_ignored,
+            mean_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/mean_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..81b80db
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_2_relaxed test
+#include "generated/examples/mean_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_float_2_relaxed.model.cpp"
+} // namespace mean_float_2_relaxed
+TEST_F(GeneratedTests, mean_float_2_relaxed) {
+    execute(mean_float_2_relaxed::CreateModel,
+            mean_float_2_relaxed::is_ignored,
+            mean_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/mean_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..6406dc3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_quant8_1 test
+#include "generated/examples/mean_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_quant8_1.model.cpp"
+} // namespace mean_quant8_1
+TEST_F(GeneratedTests, mean_quant8_1) {
+    execute(mean_quant8_1::CreateModel,
+            mean_quant8_1::is_ignored,
+            mean_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/mean_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..f4e6c91
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_quant8_2 test
+#include "generated/examples/mean_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_quant8_2.model.cpp"
+} // namespace mean_quant8_2
+TEST_F(GeneratedTests, mean_quant8_2) {
+    execute(mean_quant8_2::CreateModel,
+            mean_quant8_2::is_ignored,
+            mean_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mean_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/mean_relaxed.mod.py.cpp
new file mode 100644
index 0000000..3fda16b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mean_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mean_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_relaxed test
+#include "generated/examples/mean_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_relaxed.model.cpp"
+} // namespace mean_relaxed
+TEST_F(GeneratedTests, mean_relaxed) {
+    execute(mean_relaxed::CreateModel,
+            mean_relaxed::is_ignored,
+            mean_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mobilenet_224_gender_basic_fixed.mod.py.cpp b/nn/runtime/test/generated/tests/mobilenet_224_gender_basic_fixed.mod.py.cpp
new file mode 100644
index 0000000..b683968
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mobilenet_224_gender_basic_fixed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mobilenet_224_gender_basic_fixed {
+std::vector<MixedTypedExample> examples = {
+// Generated mobilenet_224_gender_basic_fixed test
+#include "generated/examples/mobilenet_224_gender_basic_fixed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mobilenet_224_gender_basic_fixed.model.cpp"
+} // namespace mobilenet_224_gender_basic_fixed
+TEST_F(GeneratedTests, mobilenet_224_gender_basic_fixed) {
+    execute(mobilenet_224_gender_basic_fixed::CreateModel,
+            mobilenet_224_gender_basic_fixed::is_ignored,
+            mobilenet_224_gender_basic_fixed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mobilenet_224_gender_basic_fixed_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/mobilenet_224_gender_basic_fixed_relaxed.mod.py.cpp
new file mode 100644
index 0000000..b832383
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mobilenet_224_gender_basic_fixed_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mobilenet_224_gender_basic_fixed_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated mobilenet_224_gender_basic_fixed_relaxed test
+#include "generated/examples/mobilenet_224_gender_basic_fixed_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mobilenet_224_gender_basic_fixed_relaxed.model.cpp"
+} // namespace mobilenet_224_gender_basic_fixed_relaxed
+TEST_F(GeneratedTests, mobilenet_224_gender_basic_fixed_relaxed) {
+    execute(mobilenet_224_gender_basic_fixed_relaxed::CreateModel,
+            mobilenet_224_gender_basic_fixed_relaxed::is_ignored,
+            mobilenet_224_gender_basic_fixed_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mobilenet_quantized.mod.py.cpp b/nn/runtime/test/generated/tests/mobilenet_quantized.mod.py.cpp
new file mode 100644
index 0000000..65a7e2e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mobilenet_quantized.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mobilenet_quantized {
+std::vector<MixedTypedExample> examples = {
+// Generated mobilenet_quantized test
+#include "generated/examples/mobilenet_quantized.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mobilenet_quantized.model.cpp"
+} // namespace mobilenet_quantized
+TEST_F(GeneratedTests, mobilenet_quantized) {
+    execute(mobilenet_quantized::CreateModel,
+            mobilenet_quantized::is_ignored,
+            mobilenet_quantized::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mul.mod.py.cpp b/nn/runtime/test/generated/tests/mul.mod.py.cpp
new file mode 100644
index 0000000..e2d5dd3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mul.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mul {
+std::vector<MixedTypedExample> examples = {
+// Generated mul test
+#include "generated/examples/mul.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mul.model.cpp"
+} // namespace mul
+TEST_F(GeneratedTests, mul) {
+    execute(mul::CreateModel,
+            mul::is_ignored,
+            mul::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mul_broadcast_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/mul_broadcast_quant8.mod.py.cpp
new file mode 100644
index 0000000..c4d8fd5
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mul_broadcast_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mul_broadcast_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated mul_broadcast_quant8 test
+#include "generated/examples/mul_broadcast_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mul_broadcast_quant8.model.cpp"
+} // namespace mul_broadcast_quant8
+TEST_F(GeneratedTests, mul_broadcast_quant8) {
+    execute(mul_broadcast_quant8::CreateModel,
+            mul_broadcast_quant8::is_ignored,
+            mul_broadcast_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mul_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/mul_quant8.mod.py.cpp
new file mode 100644
index 0000000..a7e95d0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mul_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mul_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated mul_quant8 test
+#include "generated/examples/mul_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mul_quant8.model.cpp"
+} // namespace mul_quant8
+TEST_F(GeneratedTests, mul_quant8) {
+    execute(mul_quant8::CreateModel,
+            mul_quant8::is_ignored,
+            mul_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mul_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/mul_relaxed.mod.py.cpp
new file mode 100644
index 0000000..e99cf6b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mul_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mul_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated mul_relaxed test
+#include "generated/examples/mul_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mul_relaxed.model.cpp"
+} // namespace mul_relaxed
+TEST_F(GeneratedTests, mul_relaxed) {
+    execute(mul_relaxed::CreateModel,
+            mul_relaxed::is_ignored,
+            mul_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mul_relu.mod.py.cpp b/nn/runtime/test/generated/tests/mul_relu.mod.py.cpp
new file mode 100644
index 0000000..90dd738
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mul_relu.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mul_relu {
+std::vector<MixedTypedExample> examples = {
+// Generated mul_relu test
+#include "generated/examples/mul_relu.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mul_relu.model.cpp"
+} // namespace mul_relu
+TEST_F(GeneratedTests, mul_relu) {
+    execute(mul_relu::CreateModel,
+            mul_relu::is_ignored,
+            mul_relu::examples);
+}
diff --git a/nn/runtime/test/generated/tests/mul_relu_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/mul_relu_relaxed.mod.py.cpp
new file mode 100644
index 0000000..df6d7da
--- /dev/null
+++ b/nn/runtime/test/generated/tests/mul_relu_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace mul_relu_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated mul_relu_relaxed test
+#include "generated/examples/mul_relu_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mul_relu_relaxed.model.cpp"
+} // namespace mul_relu_relaxed
+TEST_F(GeneratedTests, mul_relu_relaxed) {
+    execute(mul_relu_relaxed::CreateModel,
+            mul_relu_relaxed::is_ignored,
+            mul_relu_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/pad.mod.py.cpp b/nn/runtime/test/generated/tests/pad.mod.py.cpp
new file mode 100644
index 0000000..bae4c8a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/pad.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace pad {
+std::vector<MixedTypedExample> examples = {
+// Generated pad test
+#include "generated/examples/pad.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/pad.model.cpp"
+} // namespace pad
+TEST_F(GeneratedTests, pad) {
+    execute(pad::CreateModel,
+            pad::is_ignored,
+            pad::examples);
+}
diff --git a/nn/runtime/test/generated/tests/pad_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/pad_float_1.mod.py.cpp
new file mode 100644
index 0000000..ea00282
--- /dev/null
+++ b/nn/runtime/test/generated/tests/pad_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace pad_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated pad_float_1 test
+#include "generated/examples/pad_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/pad_float_1.model.cpp"
+} // namespace pad_float_1
+TEST_F(GeneratedTests, pad_float_1) {
+    execute(pad_float_1::CreateModel,
+            pad_float_1::is_ignored,
+            pad_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/pad_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/pad_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..ffac08c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/pad_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace pad_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated pad_float_1_relaxed test
+#include "generated/examples/pad_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/pad_float_1_relaxed.model.cpp"
+} // namespace pad_float_1_relaxed
+TEST_F(GeneratedTests, pad_float_1_relaxed) {
+    execute(pad_float_1_relaxed::CreateModel,
+            pad_float_1_relaxed::is_ignored,
+            pad_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/pad_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/pad_relaxed.mod.py.cpp
new file mode 100644
index 0000000..bb41abd
--- /dev/null
+++ b/nn/runtime/test/generated/tests/pad_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace pad_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated pad_relaxed test
+#include "generated/examples/pad_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/pad_relaxed.model.cpp"
+} // namespace pad_relaxed
+TEST_F(GeneratedTests, pad_relaxed) {
+    execute(pad_relaxed::CreateModel,
+            pad_relaxed::is_ignored,
+            pad_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu1_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/relu1_float_1.mod.py.cpp
new file mode 100644
index 0000000..c831d98
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu1_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu1_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu1_float_1 test
+#include "generated/examples/relu1_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu1_float_1.model.cpp"
+} // namespace relu1_float_1
+TEST_F(GeneratedTests, relu1_float_1) {
+    execute(relu1_float_1::CreateModel,
+            relu1_float_1::is_ignored,
+            relu1_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu1_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/relu1_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..e79f475
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu1_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu1_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated relu1_float_1_relaxed test
+#include "generated/examples/relu1_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu1_float_1_relaxed.model.cpp"
+} // namespace relu1_float_1_relaxed
+TEST_F(GeneratedTests, relu1_float_1_relaxed) {
+    execute(relu1_float_1_relaxed::CreateModel,
+            relu1_float_1_relaxed::is_ignored,
+            relu1_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu1_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/relu1_float_2.mod.py.cpp
new file mode 100644
index 0000000..5e0d95f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu1_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu1_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu1_float_2 test
+#include "generated/examples/relu1_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu1_float_2.model.cpp"
+} // namespace relu1_float_2
+TEST_F(GeneratedTests, relu1_float_2) {
+    execute(relu1_float_2::CreateModel,
+            relu1_float_2::is_ignored,
+            relu1_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu1_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/relu1_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..542b5f1
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu1_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu1_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated relu1_float_2_relaxed test
+#include "generated/examples/relu1_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu1_float_2_relaxed.model.cpp"
+} // namespace relu1_float_2_relaxed
+TEST_F(GeneratedTests, relu1_float_2_relaxed) {
+    execute(relu1_float_2_relaxed::CreateModel,
+            relu1_float_2_relaxed::is_ignored,
+            relu1_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu1_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/relu1_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..084785f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu1_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu1_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu1_quant8_1 test
+#include "generated/examples/relu1_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu1_quant8_1.model.cpp"
+} // namespace relu1_quant8_1
+TEST_F(GeneratedTests, relu1_quant8_1) {
+    execute(relu1_quant8_1::CreateModel,
+            relu1_quant8_1::is_ignored,
+            relu1_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu1_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/relu1_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..8d4fbfe
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu1_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu1_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu1_quant8_2 test
+#include "generated/examples/relu1_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu1_quant8_2.model.cpp"
+} // namespace relu1_quant8_2
+TEST_F(GeneratedTests, relu1_quant8_2) {
+    execute(relu1_quant8_2::CreateModel,
+            relu1_quant8_2::is_ignored,
+            relu1_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu6_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/relu6_float_1.mod.py.cpp
new file mode 100644
index 0000000..ab561ff
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu6_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu6_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu6_float_1 test
+#include "generated/examples/relu6_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu6_float_1.model.cpp"
+} // namespace relu6_float_1
+TEST_F(GeneratedTests, relu6_float_1) {
+    execute(relu6_float_1::CreateModel,
+            relu6_float_1::is_ignored,
+            relu6_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu6_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/relu6_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..e1d39f9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu6_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu6_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated relu6_float_1_relaxed test
+#include "generated/examples/relu6_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu6_float_1_relaxed.model.cpp"
+} // namespace relu6_float_1_relaxed
+TEST_F(GeneratedTests, relu6_float_1_relaxed) {
+    execute(relu6_float_1_relaxed::CreateModel,
+            relu6_float_1_relaxed::is_ignored,
+            relu6_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu6_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/relu6_float_2.mod.py.cpp
new file mode 100644
index 0000000..8d2bc6a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu6_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu6_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu6_float_2 test
+#include "generated/examples/relu6_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu6_float_2.model.cpp"
+} // namespace relu6_float_2
+TEST_F(GeneratedTests, relu6_float_2) {
+    execute(relu6_float_2::CreateModel,
+            relu6_float_2::is_ignored,
+            relu6_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu6_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/relu6_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..d2e49e3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu6_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu6_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated relu6_float_2_relaxed test
+#include "generated/examples/relu6_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu6_float_2_relaxed.model.cpp"
+} // namespace relu6_float_2_relaxed
+TEST_F(GeneratedTests, relu6_float_2_relaxed) {
+    execute(relu6_float_2_relaxed::CreateModel,
+            relu6_float_2_relaxed::is_ignored,
+            relu6_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu6_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/relu6_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..f209502
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu6_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu6_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu6_quant8_1 test
+#include "generated/examples/relu6_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu6_quant8_1.model.cpp"
+} // namespace relu6_quant8_1
+TEST_F(GeneratedTests, relu6_quant8_1) {
+    execute(relu6_quant8_1::CreateModel,
+            relu6_quant8_1::is_ignored,
+            relu6_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu6_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/relu6_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..f176a34
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu6_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu6_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu6_quant8_2 test
+#include "generated/examples/relu6_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu6_quant8_2.model.cpp"
+} // namespace relu6_quant8_2
+TEST_F(GeneratedTests, relu6_quant8_2) {
+    execute(relu6_quant8_2::CreateModel,
+            relu6_quant8_2::is_ignored,
+            relu6_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/relu_float_1.mod.py.cpp
new file mode 100644
index 0000000..4bff760
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu_float_1 test
+#include "generated/examples/relu_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu_float_1.model.cpp"
+} // namespace relu_float_1
+TEST_F(GeneratedTests, relu_float_1) {
+    execute(relu_float_1::CreateModel,
+            relu_float_1::is_ignored,
+            relu_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/relu_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..be561b2
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated relu_float_1_relaxed test
+#include "generated/examples/relu_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu_float_1_relaxed.model.cpp"
+} // namespace relu_float_1_relaxed
+TEST_F(GeneratedTests, relu_float_1_relaxed) {
+    execute(relu_float_1_relaxed::CreateModel,
+            relu_float_1_relaxed::is_ignored,
+            relu_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/relu_float_2.mod.py.cpp
new file mode 100644
index 0000000..d636b61
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu_float_2 test
+#include "generated/examples/relu_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu_float_2.model.cpp"
+} // namespace relu_float_2
+TEST_F(GeneratedTests, relu_float_2) {
+    execute(relu_float_2::CreateModel,
+            relu_float_2::is_ignored,
+            relu_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/relu_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..3fa6f0b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated relu_float_2_relaxed test
+#include "generated/examples/relu_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu_float_2_relaxed.model.cpp"
+} // namespace relu_float_2_relaxed
+TEST_F(GeneratedTests, relu_float_2_relaxed) {
+    execute(relu_float_2_relaxed::CreateModel,
+            relu_float_2_relaxed::is_ignored,
+            relu_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/relu_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..c50fda9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu_quant8_1 test
+#include "generated/examples/relu_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu_quant8_1.model.cpp"
+} // namespace relu_quant8_1
+TEST_F(GeneratedTests, relu_quant8_1) {
+    execute(relu_quant8_1::CreateModel,
+            relu_quant8_1::is_ignored,
+            relu_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/relu_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/relu_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..7636400
--- /dev/null
+++ b/nn/runtime/test/generated/tests/relu_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace relu_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated relu_quant8_2 test
+#include "generated/examples/relu_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/relu_quant8_2.model.cpp"
+} // namespace relu_quant8_2
+TEST_F(GeneratedTests, relu_quant8_2) {
+    execute(relu_quant8_2::CreateModel,
+            relu_quant8_2::is_ignored,
+            relu_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/reshape.mod.py.cpp b/nn/runtime/test/generated/tests/reshape.mod.py.cpp
new file mode 100644
index 0000000..65dce88
--- /dev/null
+++ b/nn/runtime/test/generated/tests/reshape.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace reshape {
+std::vector<MixedTypedExample> examples = {
+// Generated reshape test
+#include "generated/examples/reshape.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/reshape.model.cpp"
+} // namespace reshape
+TEST_F(GeneratedTests, reshape) {
+    execute(reshape::CreateModel,
+            reshape::is_ignored,
+            reshape::examples);
+}
diff --git a/nn/runtime/test/generated/tests/reshape_quant8.mod.py.cpp b/nn/runtime/test/generated/tests/reshape_quant8.mod.py.cpp
new file mode 100644
index 0000000..6dff358
--- /dev/null
+++ b/nn/runtime/test/generated/tests/reshape_quant8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace reshape_quant8 {
+std::vector<MixedTypedExample> examples = {
+// Generated reshape_quant8 test
+#include "generated/examples/reshape_quant8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/reshape_quant8.model.cpp"
+} // namespace reshape_quant8
+TEST_F(GeneratedTests, reshape_quant8) {
+    execute(reshape_quant8::CreateModel,
+            reshape_quant8::is_ignored,
+            reshape_quant8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/reshape_quant8_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/reshape_quant8_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..6aba304
--- /dev/null
+++ b/nn/runtime/test/generated/tests/reshape_quant8_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace reshape_quant8_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated reshape_quant8_weights_as_inputs test
+#include "generated/examples/reshape_quant8_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/reshape_quant8_weights_as_inputs.model.cpp"
+} // namespace reshape_quant8_weights_as_inputs
+TEST_F(GeneratedTests, reshape_quant8_weights_as_inputs) {
+    execute(reshape_quant8_weights_as_inputs::CreateModel,
+            reshape_quant8_weights_as_inputs::is_ignored,
+            reshape_quant8_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/reshape_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/reshape_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f1ea380
--- /dev/null
+++ b/nn/runtime/test/generated/tests/reshape_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace reshape_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated reshape_relaxed test
+#include "generated/examples/reshape_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/reshape_relaxed.model.cpp"
+} // namespace reshape_relaxed
+TEST_F(GeneratedTests, reshape_relaxed) {
+    execute(reshape_relaxed::CreateModel,
+            reshape_relaxed::is_ignored,
+            reshape_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/reshape_weights_as_inputs.mod.py.cpp b/nn/runtime/test/generated/tests/reshape_weights_as_inputs.mod.py.cpp
new file mode 100644
index 0000000..ae0a871
--- /dev/null
+++ b/nn/runtime/test/generated/tests/reshape_weights_as_inputs.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace reshape_weights_as_inputs {
+std::vector<MixedTypedExample> examples = {
+// Generated reshape_weights_as_inputs test
+#include "generated/examples/reshape_weights_as_inputs.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/reshape_weights_as_inputs.model.cpp"
+} // namespace reshape_weights_as_inputs
+TEST_F(GeneratedTests, reshape_weights_as_inputs) {
+    execute(reshape_weights_as_inputs::CreateModel,
+            reshape_weights_as_inputs::is_ignored,
+            reshape_weights_as_inputs::examples);
+}
diff --git a/nn/runtime/test/generated/tests/reshape_weights_as_inputs_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/reshape_weights_as_inputs_relaxed.mod.py.cpp
new file mode 100644
index 0000000..442ae4a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/reshape_weights_as_inputs_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace reshape_weights_as_inputs_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated reshape_weights_as_inputs_relaxed test
+#include "generated/examples/reshape_weights_as_inputs_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/reshape_weights_as_inputs_relaxed.model.cpp"
+} // namespace reshape_weights_as_inputs_relaxed
+TEST_F(GeneratedTests, reshape_weights_as_inputs_relaxed) {
+    execute(reshape_weights_as_inputs_relaxed::CreateModel,
+            reshape_weights_as_inputs_relaxed::is_ignored,
+            reshape_weights_as_inputs_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/resize_bilinear.mod.py.cpp b/nn/runtime/test/generated/tests/resize_bilinear.mod.py.cpp
new file mode 100644
index 0000000..973cbf3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/resize_bilinear.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace resize_bilinear {
+std::vector<MixedTypedExample> examples = {
+// Generated resize_bilinear test
+#include "generated/examples/resize_bilinear.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/resize_bilinear.model.cpp"
+} // namespace resize_bilinear
+TEST_F(GeneratedTests, resize_bilinear) {
+    execute(resize_bilinear::CreateModel,
+            resize_bilinear::is_ignored,
+            resize_bilinear::examples);
+}
diff --git a/nn/runtime/test/generated/tests/resize_bilinear_2.mod.py.cpp b/nn/runtime/test/generated/tests/resize_bilinear_2.mod.py.cpp
new file mode 100644
index 0000000..d247b3d
--- /dev/null
+++ b/nn/runtime/test/generated/tests/resize_bilinear_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace resize_bilinear_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated resize_bilinear_2 test
+#include "generated/examples/resize_bilinear_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/resize_bilinear_2.model.cpp"
+} // namespace resize_bilinear_2
+TEST_F(GeneratedTests, resize_bilinear_2) {
+    execute(resize_bilinear_2::CreateModel,
+            resize_bilinear_2::is_ignored,
+            resize_bilinear_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/resize_bilinear_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/resize_bilinear_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..83db5ae
--- /dev/null
+++ b/nn/runtime/test/generated/tests/resize_bilinear_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace resize_bilinear_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated resize_bilinear_2_relaxed test
+#include "generated/examples/resize_bilinear_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/resize_bilinear_2_relaxed.model.cpp"
+} // namespace resize_bilinear_2_relaxed
+TEST_F(GeneratedTests, resize_bilinear_2_relaxed) {
+    execute(resize_bilinear_2_relaxed::CreateModel,
+            resize_bilinear_2_relaxed::is_ignored,
+            resize_bilinear_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/resize_bilinear_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/resize_bilinear_relaxed.mod.py.cpp
new file mode 100644
index 0000000..ae770bb
--- /dev/null
+++ b/nn/runtime/test/generated/tests/resize_bilinear_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace resize_bilinear_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated resize_bilinear_relaxed test
+#include "generated/examples/resize_bilinear_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/resize_bilinear_relaxed.model.cpp"
+} // namespace resize_bilinear_relaxed
+TEST_F(GeneratedTests, resize_bilinear_relaxed) {
+    execute(resize_bilinear_relaxed::CreateModel,
+            resize_bilinear_relaxed::is_ignored,
+            resize_bilinear_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/rnn.mod.py.cpp b/nn/runtime/test/generated/tests/rnn.mod.py.cpp
new file mode 100644
index 0000000..b60be67
--- /dev/null
+++ b/nn/runtime/test/generated/tests/rnn.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace rnn {
+std::vector<MixedTypedExample> examples = {
+// Generated rnn test
+#include "generated/examples/rnn.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/rnn.model.cpp"
+} // namespace rnn
+TEST_F(GeneratedTests, rnn) {
+    execute(rnn::CreateModel,
+            rnn::is_ignored,
+            rnn::examples);
+}
diff --git a/nn/runtime/test/generated/tests/rnn_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/rnn_relaxed.mod.py.cpp
new file mode 100644
index 0000000..1b21ae7
--- /dev/null
+++ b/nn/runtime/test/generated/tests/rnn_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace rnn_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated rnn_relaxed test
+#include "generated/examples/rnn_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/rnn_relaxed.model.cpp"
+} // namespace rnn_relaxed
+TEST_F(GeneratedTests, rnn_relaxed) {
+    execute(rnn_relaxed::CreateModel,
+            rnn_relaxed::is_ignored,
+            rnn_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/rnn_state.mod.py.cpp b/nn/runtime/test/generated/tests/rnn_state.mod.py.cpp
new file mode 100644
index 0000000..26d9f2c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/rnn_state.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace rnn_state {
+std::vector<MixedTypedExample> examples = {
+// Generated rnn_state test
+#include "generated/examples/rnn_state.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/rnn_state.model.cpp"
+} // namespace rnn_state
+TEST_F(GeneratedTests, rnn_state) {
+    execute(rnn_state::CreateModel,
+            rnn_state::is_ignored,
+            rnn_state::examples);
+}
diff --git a/nn/runtime/test/generated/tests/rnn_state_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/rnn_state_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f3a1cd9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/rnn_state_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace rnn_state_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated rnn_state_relaxed test
+#include "generated/examples/rnn_state_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/rnn_state_relaxed.model.cpp"
+} // namespace rnn_state_relaxed
+TEST_F(GeneratedTests, rnn_state_relaxed) {
+    execute(rnn_state_relaxed::CreateModel,
+            rnn_state_relaxed::is_ignored,
+            rnn_state_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/softmax_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/softmax_float_1.mod.py.cpp
new file mode 100644
index 0000000..a922165
--- /dev/null
+++ b/nn/runtime/test/generated/tests/softmax_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace softmax_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated softmax_float_1 test
+#include "generated/examples/softmax_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/softmax_float_1.model.cpp"
+} // namespace softmax_float_1
+TEST_F(GeneratedTests, softmax_float_1) {
+    execute(softmax_float_1::CreateModel,
+            softmax_float_1::is_ignored,
+            softmax_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/softmax_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/softmax_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..973867c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/softmax_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace softmax_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated softmax_float_1_relaxed test
+#include "generated/examples/softmax_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/softmax_float_1_relaxed.model.cpp"
+} // namespace softmax_float_1_relaxed
+TEST_F(GeneratedTests, softmax_float_1_relaxed) {
+    execute(softmax_float_1_relaxed::CreateModel,
+            softmax_float_1_relaxed::is_ignored,
+            softmax_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/softmax_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/softmax_float_2.mod.py.cpp
new file mode 100644
index 0000000..b549da8
--- /dev/null
+++ b/nn/runtime/test/generated/tests/softmax_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace softmax_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated softmax_float_2 test
+#include "generated/examples/softmax_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/softmax_float_2.model.cpp"
+} // namespace softmax_float_2
+TEST_F(GeneratedTests, softmax_float_2) {
+    execute(softmax_float_2::CreateModel,
+            softmax_float_2::is_ignored,
+            softmax_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/softmax_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/softmax_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..75d21c3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/softmax_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace softmax_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated softmax_float_2_relaxed test
+#include "generated/examples/softmax_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/softmax_float_2_relaxed.model.cpp"
+} // namespace softmax_float_2_relaxed
+TEST_F(GeneratedTests, softmax_float_2_relaxed) {
+    execute(softmax_float_2_relaxed::CreateModel,
+            softmax_float_2_relaxed::is_ignored,
+            softmax_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/softmax_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/softmax_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..1144954
--- /dev/null
+++ b/nn/runtime/test/generated/tests/softmax_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace softmax_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated softmax_quant8_1 test
+#include "generated/examples/softmax_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/softmax_quant8_1.model.cpp"
+} // namespace softmax_quant8_1
+TEST_F(GeneratedTests, softmax_quant8_1) {
+    execute(softmax_quant8_1::CreateModel,
+            softmax_quant8_1::is_ignored,
+            softmax_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/softmax_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/softmax_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..ea28068
--- /dev/null
+++ b/nn/runtime/test/generated/tests/softmax_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace softmax_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated softmax_quant8_2 test
+#include "generated/examples/softmax_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/softmax_quant8_2.model.cpp"
+} // namespace softmax_quant8_2
+TEST_F(GeneratedTests, softmax_quant8_2) {
+    execute(softmax_quant8_2::CreateModel,
+            softmax_quant8_2::is_ignored,
+            softmax_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch.mod.py.cpp
new file mode 100644
index 0000000..ad89579
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch test
+#include "generated/examples/space_to_batch.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch.model.cpp"
+} // namespace space_to_batch
+TEST_F(GeneratedTests, space_to_batch) {
+    execute(space_to_batch::CreateModel,
+            space_to_batch::is_ignored,
+            space_to_batch::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_float_1.mod.py.cpp
new file mode 100644
index 0000000..414f52c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_1 test
+#include "generated/examples/space_to_batch_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_1.model.cpp"
+} // namespace space_to_batch_float_1
+TEST_F(GeneratedTests, space_to_batch_float_1) {
+    execute(space_to_batch_float_1::CreateModel,
+            space_to_batch_float_1::is_ignored,
+            space_to_batch_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..abae98c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_1_relaxed test
+#include "generated/examples/space_to_batch_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_1_relaxed.model.cpp"
+} // namespace space_to_batch_float_1_relaxed
+TEST_F(GeneratedTests, space_to_batch_float_1_relaxed) {
+    execute(space_to_batch_float_1_relaxed::CreateModel,
+            space_to_batch_float_1_relaxed::is_ignored,
+            space_to_batch_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_float_2.mod.py.cpp
new file mode 100644
index 0000000..6089a57
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_2 test
+#include "generated/examples/space_to_batch_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_2.model.cpp"
+} // namespace space_to_batch_float_2
+TEST_F(GeneratedTests, space_to_batch_float_2) {
+    execute(space_to_batch_float_2::CreateModel,
+            space_to_batch_float_2::is_ignored,
+            space_to_batch_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f1cceb9
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_2_relaxed test
+#include "generated/examples/space_to_batch_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_2_relaxed.model.cpp"
+} // namespace space_to_batch_float_2_relaxed
+TEST_F(GeneratedTests, space_to_batch_float_2_relaxed) {
+    execute(space_to_batch_float_2_relaxed::CreateModel,
+            space_to_batch_float_2_relaxed::is_ignored,
+            space_to_batch_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_float_3.mod.py.cpp
new file mode 100644
index 0000000..0eb2b47
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_3 test
+#include "generated/examples/space_to_batch_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_3.model.cpp"
+} // namespace space_to_batch_float_3
+TEST_F(GeneratedTests, space_to_batch_float_3) {
+    execute(space_to_batch_float_3::CreateModel,
+            space_to_batch_float_3::is_ignored,
+            space_to_batch_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..d7d6a37
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_3_relaxed test
+#include "generated/examples/space_to_batch_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_3_relaxed.model.cpp"
+} // namespace space_to_batch_float_3_relaxed
+TEST_F(GeneratedTests, space_to_batch_float_3_relaxed) {
+    execute(space_to_batch_float_3_relaxed::CreateModel,
+            space_to_batch_float_3_relaxed::is_ignored,
+            space_to_batch_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..cb8fcf7
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_1 test
+#include "generated/examples/space_to_batch_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_quant8_1.model.cpp"
+} // namespace space_to_batch_quant8_1
+TEST_F(GeneratedTests, space_to_batch_quant8_1) {
+    execute(space_to_batch_quant8_1::CreateModel,
+            space_to_batch_quant8_1::is_ignored,
+            space_to_batch_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..3ee9f31
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_2 test
+#include "generated/examples/space_to_batch_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_quant8_2.model.cpp"
+} // namespace space_to_batch_quant8_2
+TEST_F(GeneratedTests, space_to_batch_quant8_2) {
+    execute(space_to_batch_quant8_2::CreateModel,
+            space_to_batch_quant8_2::is_ignored,
+            space_to_batch_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_quant8_3.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_quant8_3.mod.py.cpp
new file mode 100644
index 0000000..cb0ff02
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_quant8_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_3 test
+#include "generated/examples/space_to_batch_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_quant8_3.model.cpp"
+} // namespace space_to_batch_quant8_3
+TEST_F(GeneratedTests, space_to_batch_quant8_3) {
+    execute(space_to_batch_quant8_3::CreateModel,
+            space_to_batch_quant8_3::is_ignored,
+            space_to_batch_quant8_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_batch_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_batch_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f6be325
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_batch_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_batch_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_relaxed test
+#include "generated/examples/space_to_batch_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_relaxed.model.cpp"
+} // namespace space_to_batch_relaxed
+TEST_F(GeneratedTests, space_to_batch_relaxed) {
+    execute(space_to_batch_relaxed::CreateModel,
+            space_to_batch_relaxed::is_ignored,
+            space_to_batch_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_float_1.mod.py.cpp
new file mode 100644
index 0000000..b666508
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_float_1 test
+#include "generated/examples/space_to_depth_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_float_1.model.cpp"
+} // namespace space_to_depth_float_1
+TEST_F(GeneratedTests, space_to_depth_float_1) {
+    execute(space_to_depth_float_1::CreateModel,
+            space_to_depth_float_1::is_ignored,
+            space_to_depth_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f94447a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_float_1_relaxed test
+#include "generated/examples/space_to_depth_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_float_1_relaxed.model.cpp"
+} // namespace space_to_depth_float_1_relaxed
+TEST_F(GeneratedTests, space_to_depth_float_1_relaxed) {
+    execute(space_to_depth_float_1_relaxed::CreateModel,
+            space_to_depth_float_1_relaxed::is_ignored,
+            space_to_depth_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_float_2.mod.py.cpp
new file mode 100644
index 0000000..adab8c3
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_float_2 test
+#include "generated/examples/space_to_depth_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_float_2.model.cpp"
+} // namespace space_to_depth_float_2
+TEST_F(GeneratedTests, space_to_depth_float_2) {
+    execute(space_to_depth_float_2::CreateModel,
+            space_to_depth_float_2::is_ignored,
+            space_to_depth_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..8a650b1
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_float_2_relaxed test
+#include "generated/examples/space_to_depth_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_float_2_relaxed.model.cpp"
+} // namespace space_to_depth_float_2_relaxed
+TEST_F(GeneratedTests, space_to_depth_float_2_relaxed) {
+    execute(space_to_depth_float_2_relaxed::CreateModel,
+            space_to_depth_float_2_relaxed::is_ignored,
+            space_to_depth_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_float_3.mod.py.cpp
new file mode 100644
index 0000000..84800ec
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_float_3 test
+#include "generated/examples/space_to_depth_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_float_3.model.cpp"
+} // namespace space_to_depth_float_3
+TEST_F(GeneratedTests, space_to_depth_float_3) {
+    execute(space_to_depth_float_3::CreateModel,
+            space_to_depth_float_3::is_ignored,
+            space_to_depth_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..28be662
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_float_3_relaxed test
+#include "generated/examples/space_to_depth_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_float_3_relaxed.model.cpp"
+} // namespace space_to_depth_float_3_relaxed
+TEST_F(GeneratedTests, space_to_depth_float_3_relaxed) {
+    execute(space_to_depth_float_3_relaxed::CreateModel,
+            space_to_depth_float_3_relaxed::is_ignored,
+            space_to_depth_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..925ec51
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_quant8_1 test
+#include "generated/examples/space_to_depth_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_quant8_1.model.cpp"
+} // namespace space_to_depth_quant8_1
+TEST_F(GeneratedTests, space_to_depth_quant8_1) {
+    execute(space_to_depth_quant8_1::CreateModel,
+            space_to_depth_quant8_1::is_ignored,
+            space_to_depth_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/space_to_depth_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/space_to_depth_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..46b3162
--- /dev/null
+++ b/nn/runtime/test/generated/tests/space_to_depth_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace space_to_depth_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_depth_quant8_2 test
+#include "generated/examples/space_to_depth_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_depth_quant8_2.model.cpp"
+} // namespace space_to_depth_quant8_2
+TEST_F(GeneratedTests, space_to_depth_quant8_2) {
+    execute(space_to_depth_quant8_2::CreateModel,
+            space_to_depth_quant8_2::is_ignored,
+            space_to_depth_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/squeeze.mod.py.cpp b/nn/runtime/test/generated/tests/squeeze.mod.py.cpp
new file mode 100644
index 0000000..07f3d3b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/squeeze.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace squeeze {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze test
+#include "generated/examples/squeeze.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/squeeze.model.cpp"
+} // namespace squeeze
+TEST_F(GeneratedTests, squeeze) {
+    execute(squeeze::CreateModel,
+            squeeze::is_ignored,
+            squeeze::examples);
+}
diff --git a/nn/runtime/test/generated/tests/squeeze_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/squeeze_float_1.mod.py.cpp
new file mode 100644
index 0000000..58a30f6
--- /dev/null
+++ b/nn/runtime/test/generated/tests/squeeze_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace squeeze_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_float_1 test
+#include "generated/examples/squeeze_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/squeeze_float_1.model.cpp"
+} // namespace squeeze_float_1
+TEST_F(GeneratedTests, squeeze_float_1) {
+    execute(squeeze_float_1::CreateModel,
+            squeeze_float_1::is_ignored,
+            squeeze_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/squeeze_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/squeeze_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2bdc843
--- /dev/null
+++ b/nn/runtime/test/generated/tests/squeeze_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace squeeze_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_float_1_relaxed test
+#include "generated/examples/squeeze_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/squeeze_float_1_relaxed.model.cpp"
+} // namespace squeeze_float_1_relaxed
+TEST_F(GeneratedTests, squeeze_float_1_relaxed) {
+    execute(squeeze_float_1_relaxed::CreateModel,
+            squeeze_float_1_relaxed::is_ignored,
+            squeeze_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/squeeze_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/squeeze_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..b0f77ea
--- /dev/null
+++ b/nn/runtime/test/generated/tests/squeeze_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace squeeze_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_quant8_1 test
+#include "generated/examples/squeeze_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/squeeze_quant8_1.model.cpp"
+} // namespace squeeze_quant8_1
+TEST_F(GeneratedTests, squeeze_quant8_1) {
+    execute(squeeze_quant8_1::CreateModel,
+            squeeze_quant8_1::is_ignored,
+            squeeze_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/squeeze_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/squeeze_relaxed.mod.py.cpp
new file mode 100644
index 0000000..997db38
--- /dev/null
+++ b/nn/runtime/test/generated/tests/squeeze_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace squeeze_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_relaxed test
+#include "generated/examples/squeeze_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/squeeze_relaxed.model.cpp"
+} // namespace squeeze_relaxed
+TEST_F(GeneratedTests, squeeze_relaxed) {
+    execute(squeeze_relaxed::CreateModel,
+            squeeze_relaxed::is_ignored,
+            squeeze_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice.mod.py.cpp
new file mode 100644
index 0000000..130256b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice test
+#include "generated/examples/strided_slice.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice.model.cpp"
+} // namespace strided_slice
+TEST_F(GeneratedTests, strided_slice) {
+    execute(strided_slice::CreateModel,
+            strided_slice::is_ignored,
+            strided_slice::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_1.mod.py.cpp
new file mode 100644
index 0000000..0c22f69
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_1 test
+#include "generated/examples/strided_slice_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_1.model.cpp"
+} // namespace strided_slice_float_1
+TEST_F(GeneratedTests, strided_slice_float_1) {
+    execute(strided_slice_float_1::CreateModel,
+            strided_slice_float_1::is_ignored,
+            strided_slice_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_10.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_10.mod.py.cpp
new file mode 100644
index 0000000..3952f4a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_10.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_10 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_10 test
+#include "generated/examples/strided_slice_float_10.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_10.model.cpp"
+} // namespace strided_slice_float_10
+TEST_F(GeneratedTests, strided_slice_float_10) {
+    execute(strided_slice_float_10::CreateModel,
+            strided_slice_float_10::is_ignored,
+            strided_slice_float_10::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_10_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_10_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2e01c0c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_10_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_10_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_10_relaxed test
+#include "generated/examples/strided_slice_float_10_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_10_relaxed.model.cpp"
+} // namespace strided_slice_float_10_relaxed
+TEST_F(GeneratedTests, strided_slice_float_10_relaxed) {
+    execute(strided_slice_float_10_relaxed::CreateModel,
+            strided_slice_float_10_relaxed::is_ignored,
+            strided_slice_float_10_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_11.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_11.mod.py.cpp
new file mode 100644
index 0000000..615af28
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_11.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_11 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_11 test
+#include "generated/examples/strided_slice_float_11.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_11.model.cpp"
+} // namespace strided_slice_float_11
+TEST_F(GeneratedTests, strided_slice_float_11) {
+    execute(strided_slice_float_11::CreateModel,
+            strided_slice_float_11::is_ignored,
+            strided_slice_float_11::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_11_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_11_relaxed.mod.py.cpp
new file mode 100644
index 0000000..191a009
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_11_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_11_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_11_relaxed test
+#include "generated/examples/strided_slice_float_11_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_11_relaxed.model.cpp"
+} // namespace strided_slice_float_11_relaxed
+TEST_F(GeneratedTests, strided_slice_float_11_relaxed) {
+    execute(strided_slice_float_11_relaxed::CreateModel,
+            strided_slice_float_11_relaxed::is_ignored,
+            strided_slice_float_11_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..f21f70e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_1_relaxed test
+#include "generated/examples/strided_slice_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_1_relaxed.model.cpp"
+} // namespace strided_slice_float_1_relaxed
+TEST_F(GeneratedTests, strided_slice_float_1_relaxed) {
+    execute(strided_slice_float_1_relaxed::CreateModel,
+            strided_slice_float_1_relaxed::is_ignored,
+            strided_slice_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_2.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_2.mod.py.cpp
new file mode 100644
index 0000000..f064d6c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_2 test
+#include "generated/examples/strided_slice_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_2.model.cpp"
+} // namespace strided_slice_float_2
+TEST_F(GeneratedTests, strided_slice_float_2) {
+    execute(strided_slice_float_2::CreateModel,
+            strided_slice_float_2::is_ignored,
+            strided_slice_float_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..afc991e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_2_relaxed test
+#include "generated/examples/strided_slice_float_2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_2_relaxed.model.cpp"
+} // namespace strided_slice_float_2_relaxed
+TEST_F(GeneratedTests, strided_slice_float_2_relaxed) {
+    execute(strided_slice_float_2_relaxed::CreateModel,
+            strided_slice_float_2_relaxed::is_ignored,
+            strided_slice_float_2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_3.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_3.mod.py.cpp
new file mode 100644
index 0000000..5861d36
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_3 test
+#include "generated/examples/strided_slice_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_3.model.cpp"
+} // namespace strided_slice_float_3
+TEST_F(GeneratedTests, strided_slice_float_3) {
+    execute(strided_slice_float_3::CreateModel,
+            strided_slice_float_3::is_ignored,
+            strided_slice_float_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_3_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_3_relaxed.mod.py.cpp
new file mode 100644
index 0000000..316d7b6
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_3_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_3_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_3_relaxed test
+#include "generated/examples/strided_slice_float_3_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_3_relaxed.model.cpp"
+} // namespace strided_slice_float_3_relaxed
+TEST_F(GeneratedTests, strided_slice_float_3_relaxed) {
+    execute(strided_slice_float_3_relaxed::CreateModel,
+            strided_slice_float_3_relaxed::is_ignored,
+            strided_slice_float_3_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_4.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_4.mod.py.cpp
new file mode 100644
index 0000000..e126bb0
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_4.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_4 test
+#include "generated/examples/strided_slice_float_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_4.model.cpp"
+} // namespace strided_slice_float_4
+TEST_F(GeneratedTests, strided_slice_float_4) {
+    execute(strided_slice_float_4::CreateModel,
+            strided_slice_float_4::is_ignored,
+            strided_slice_float_4::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_4_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_4_relaxed.mod.py.cpp
new file mode 100644
index 0000000..6b19478
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_4_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_4_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_4_relaxed test
+#include "generated/examples/strided_slice_float_4_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_4_relaxed.model.cpp"
+} // namespace strided_slice_float_4_relaxed
+TEST_F(GeneratedTests, strided_slice_float_4_relaxed) {
+    execute(strided_slice_float_4_relaxed::CreateModel,
+            strided_slice_float_4_relaxed::is_ignored,
+            strided_slice_float_4_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_5.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_5.mod.py.cpp
new file mode 100644
index 0000000..145263a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_5.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_5 test
+#include "generated/examples/strided_slice_float_5.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_5.model.cpp"
+} // namespace strided_slice_float_5
+TEST_F(GeneratedTests, strided_slice_float_5) {
+    execute(strided_slice_float_5::CreateModel,
+            strided_slice_float_5::is_ignored,
+            strided_slice_float_5::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_5_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_5_relaxed.mod.py.cpp
new file mode 100644
index 0000000..dddd5b2
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_5_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_5_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_5_relaxed test
+#include "generated/examples/strided_slice_float_5_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_5_relaxed.model.cpp"
+} // namespace strided_slice_float_5_relaxed
+TEST_F(GeneratedTests, strided_slice_float_5_relaxed) {
+    execute(strided_slice_float_5_relaxed::CreateModel,
+            strided_slice_float_5_relaxed::is_ignored,
+            strided_slice_float_5_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_6.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_6.mod.py.cpp
new file mode 100644
index 0000000..a1a3629
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_6.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_6 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_6 test
+#include "generated/examples/strided_slice_float_6.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_6.model.cpp"
+} // namespace strided_slice_float_6
+TEST_F(GeneratedTests, strided_slice_float_6) {
+    execute(strided_slice_float_6::CreateModel,
+            strided_slice_float_6::is_ignored,
+            strided_slice_float_6::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_6_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_6_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2adb392
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_6_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_6_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_6_relaxed test
+#include "generated/examples/strided_slice_float_6_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_6_relaxed.model.cpp"
+} // namespace strided_slice_float_6_relaxed
+TEST_F(GeneratedTests, strided_slice_float_6_relaxed) {
+    execute(strided_slice_float_6_relaxed::CreateModel,
+            strided_slice_float_6_relaxed::is_ignored,
+            strided_slice_float_6_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_7.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_7.mod.py.cpp
new file mode 100644
index 0000000..dbcf81a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_7.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_7 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_7 test
+#include "generated/examples/strided_slice_float_7.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_7.model.cpp"
+} // namespace strided_slice_float_7
+TEST_F(GeneratedTests, strided_slice_float_7) {
+    execute(strided_slice_float_7::CreateModel,
+            strided_slice_float_7::is_ignored,
+            strided_slice_float_7::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_7_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_7_relaxed.mod.py.cpp
new file mode 100644
index 0000000..ce6ab35
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_7_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_7_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_7_relaxed test
+#include "generated/examples/strided_slice_float_7_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_7_relaxed.model.cpp"
+} // namespace strided_slice_float_7_relaxed
+TEST_F(GeneratedTests, strided_slice_float_7_relaxed) {
+    execute(strided_slice_float_7_relaxed::CreateModel,
+            strided_slice_float_7_relaxed::is_ignored,
+            strided_slice_float_7_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_8.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_8.mod.py.cpp
new file mode 100644
index 0000000..87b4fbb
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_8 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_8 test
+#include "generated/examples/strided_slice_float_8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_8.model.cpp"
+} // namespace strided_slice_float_8
+TEST_F(GeneratedTests, strided_slice_float_8) {
+    execute(strided_slice_float_8::CreateModel,
+            strided_slice_float_8::is_ignored,
+            strided_slice_float_8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_8_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_8_relaxed.mod.py.cpp
new file mode 100644
index 0000000..208d85c
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_8_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_8_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_8_relaxed test
+#include "generated/examples/strided_slice_float_8_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_8_relaxed.model.cpp"
+} // namespace strided_slice_float_8_relaxed
+TEST_F(GeneratedTests, strided_slice_float_8_relaxed) {
+    execute(strided_slice_float_8_relaxed::CreateModel,
+            strided_slice_float_8_relaxed::is_ignored,
+            strided_slice_float_8_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_9.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_9.mod.py.cpp
new file mode 100644
index 0000000..77595ed
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_9.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_9 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_9 test
+#include "generated/examples/strided_slice_float_9.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_9.model.cpp"
+} // namespace strided_slice_float_9
+TEST_F(GeneratedTests, strided_slice_float_9) {
+    execute(strided_slice_float_9::CreateModel,
+            strided_slice_float_9::is_ignored,
+            strided_slice_float_9::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_float_9_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_float_9_relaxed.mod.py.cpp
new file mode 100644
index 0000000..19bec92
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_float_9_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_float_9_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_9_relaxed test
+#include "generated/examples/strided_slice_float_9_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_9_relaxed.model.cpp"
+} // namespace strided_slice_float_9_relaxed
+TEST_F(GeneratedTests, strided_slice_float_9_relaxed) {
+    execute(strided_slice_float_9_relaxed::CreateModel,
+            strided_slice_float_9_relaxed::is_ignored,
+            strided_slice_float_9_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_qaunt8_10.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_qaunt8_10.mod.py.cpp
new file mode 100644
index 0000000..53b4f61
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_qaunt8_10.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_qaunt8_10 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_qaunt8_10 test
+#include "generated/examples/strided_slice_qaunt8_10.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_qaunt8_10.model.cpp"
+} // namespace strided_slice_qaunt8_10
+TEST_F(GeneratedTests, strided_slice_qaunt8_10) {
+    execute(strided_slice_qaunt8_10::CreateModel,
+            strided_slice_qaunt8_10::is_ignored,
+            strided_slice_qaunt8_10::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_qaunt8_11.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_qaunt8_11.mod.py.cpp
new file mode 100644
index 0000000..4baca35
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_qaunt8_11.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_qaunt8_11 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_qaunt8_11 test
+#include "generated/examples/strided_slice_qaunt8_11.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_qaunt8_11.model.cpp"
+} // namespace strided_slice_qaunt8_11
+TEST_F(GeneratedTests, strided_slice_qaunt8_11) {
+    execute(strided_slice_qaunt8_11::CreateModel,
+            strided_slice_qaunt8_11::is_ignored,
+            strided_slice_qaunt8_11::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..e25e99f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_1 test
+#include "generated/examples/strided_slice_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_1.model.cpp"
+} // namespace strided_slice_quant8_1
+TEST_F(GeneratedTests, strided_slice_quant8_1) {
+    execute(strided_slice_quant8_1::CreateModel,
+            strided_slice_quant8_1::is_ignored,
+            strided_slice_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_2.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_2.mod.py.cpp
new file mode 100644
index 0000000..6115fd5
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_2 test
+#include "generated/examples/strided_slice_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_2.model.cpp"
+} // namespace strided_slice_quant8_2
+TEST_F(GeneratedTests, strided_slice_quant8_2) {
+    execute(strided_slice_quant8_2::CreateModel,
+            strided_slice_quant8_2::is_ignored,
+            strided_slice_quant8_2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_3.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_3.mod.py.cpp
new file mode 100644
index 0000000..601f3ff
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_3.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_3 test
+#include "generated/examples/strided_slice_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_3.model.cpp"
+} // namespace strided_slice_quant8_3
+TEST_F(GeneratedTests, strided_slice_quant8_3) {
+    execute(strided_slice_quant8_3::CreateModel,
+            strided_slice_quant8_3::is_ignored,
+            strided_slice_quant8_3::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_4.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_4.mod.py.cpp
new file mode 100644
index 0000000..dbe0a87
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_4.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_4 test
+#include "generated/examples/strided_slice_quant8_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_4.model.cpp"
+} // namespace strided_slice_quant8_4
+TEST_F(GeneratedTests, strided_slice_quant8_4) {
+    execute(strided_slice_quant8_4::CreateModel,
+            strided_slice_quant8_4::is_ignored,
+            strided_slice_quant8_4::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_5.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_5.mod.py.cpp
new file mode 100644
index 0000000..f9e8dfe
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_5.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_5 test
+#include "generated/examples/strided_slice_quant8_5.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_5.model.cpp"
+} // namespace strided_slice_quant8_5
+TEST_F(GeneratedTests, strided_slice_quant8_5) {
+    execute(strided_slice_quant8_5::CreateModel,
+            strided_slice_quant8_5::is_ignored,
+            strided_slice_quant8_5::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_6.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_6.mod.py.cpp
new file mode 100644
index 0000000..621c177
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_6.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_6 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_6 test
+#include "generated/examples/strided_slice_quant8_6.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_6.model.cpp"
+} // namespace strided_slice_quant8_6
+TEST_F(GeneratedTests, strided_slice_quant8_6) {
+    execute(strided_slice_quant8_6::CreateModel,
+            strided_slice_quant8_6::is_ignored,
+            strided_slice_quant8_6::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_7.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_7.mod.py.cpp
new file mode 100644
index 0000000..549e303
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_7.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_7 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_7 test
+#include "generated/examples/strided_slice_quant8_7.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_7.model.cpp"
+} // namespace strided_slice_quant8_7
+TEST_F(GeneratedTests, strided_slice_quant8_7) {
+    execute(strided_slice_quant8_7::CreateModel,
+            strided_slice_quant8_7::is_ignored,
+            strided_slice_quant8_7::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_8.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_8.mod.py.cpp
new file mode 100644
index 0000000..cc84f65
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_8.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_8 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_8 test
+#include "generated/examples/strided_slice_quant8_8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_8.model.cpp"
+} // namespace strided_slice_quant8_8
+TEST_F(GeneratedTests, strided_slice_quant8_8) {
+    execute(strided_slice_quant8_8::CreateModel,
+            strided_slice_quant8_8::is_ignored,
+            strided_slice_quant8_8::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_quant8_9.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_quant8_9.mod.py.cpp
new file mode 100644
index 0000000..55942cf
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_quant8_9.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_quant8_9 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_9 test
+#include "generated/examples/strided_slice_quant8_9.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_9.model.cpp"
+} // namespace strided_slice_quant8_9
+TEST_F(GeneratedTests, strided_slice_quant8_9) {
+    execute(strided_slice_quant8_9::CreateModel,
+            strided_slice_quant8_9::is_ignored,
+            strided_slice_quant8_9::examples);
+}
diff --git a/nn/runtime/test/generated/tests/strided_slice_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/strided_slice_relaxed.mod.py.cpp
new file mode 100644
index 0000000..78719be
--- /dev/null
+++ b/nn/runtime/test/generated/tests/strided_slice_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace strided_slice_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_relaxed test
+#include "generated/examples/strided_slice_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_relaxed.model.cpp"
+} // namespace strided_slice_relaxed
+TEST_F(GeneratedTests, strided_slice_relaxed) {
+    execute(strided_slice_relaxed::CreateModel,
+            strided_slice_relaxed::is_ignored,
+            strided_slice_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/sub.mod.py.cpp b/nn/runtime/test/generated/tests/sub.mod.py.cpp
new file mode 100644
index 0000000..779d1ee
--- /dev/null
+++ b/nn/runtime/test/generated/tests/sub.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace sub {
+std::vector<MixedTypedExample> examples = {
+// Generated sub test
+#include "generated/examples/sub.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/sub.model.cpp"
+} // namespace sub
+TEST_F(GeneratedTests, sub) {
+    execute(sub::CreateModel,
+            sub::is_ignored,
+            sub::examples);
+}
diff --git a/nn/runtime/test/generated/tests/sub_broadcast_float.mod.py.cpp b/nn/runtime/test/generated/tests/sub_broadcast_float.mod.py.cpp
new file mode 100644
index 0000000..30f9bfb
--- /dev/null
+++ b/nn/runtime/test/generated/tests/sub_broadcast_float.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace sub_broadcast_float {
+std::vector<MixedTypedExample> examples = {
+// Generated sub_broadcast_float test
+#include "generated/examples/sub_broadcast_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/sub_broadcast_float.model.cpp"
+} // namespace sub_broadcast_float
+TEST_F(GeneratedTests, sub_broadcast_float) {
+    execute(sub_broadcast_float::CreateModel,
+            sub_broadcast_float::is_ignored,
+            sub_broadcast_float::examples);
+}
diff --git a/nn/runtime/test/generated/tests/sub_broadcast_float_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/sub_broadcast_float_relaxed.mod.py.cpp
new file mode 100644
index 0000000..28b7280
--- /dev/null
+++ b/nn/runtime/test/generated/tests/sub_broadcast_float_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace sub_broadcast_float_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated sub_broadcast_float_relaxed test
+#include "generated/examples/sub_broadcast_float_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/sub_broadcast_float_relaxed.model.cpp"
+} // namespace sub_broadcast_float_relaxed
+TEST_F(GeneratedTests, sub_broadcast_float_relaxed) {
+    execute(sub_broadcast_float_relaxed::CreateModel,
+            sub_broadcast_float_relaxed::is_ignored,
+            sub_broadcast_float_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/sub_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/sub_relaxed.mod.py.cpp
new file mode 100644
index 0000000..6a49b98
--- /dev/null
+++ b/nn/runtime/test/generated/tests/sub_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace sub_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated sub_relaxed test
+#include "generated/examples/sub_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/sub_relaxed.model.cpp"
+} // namespace sub_relaxed
+TEST_F(GeneratedTests, sub_relaxed) {
+    execute(sub_relaxed::CreateModel,
+            sub_relaxed::is_ignored,
+            sub_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/svdf.mod.py.cpp b/nn/runtime/test/generated/tests/svdf.mod.py.cpp
new file mode 100644
index 0000000..e1e450b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/svdf.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace svdf {
+std::vector<MixedTypedExample> examples = {
+// Generated svdf test
+#include "generated/examples/svdf.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/svdf.model.cpp"
+} // namespace svdf
+TEST_F(GeneratedTests, svdf) {
+    execute(svdf::CreateModel,
+            svdf::is_ignored,
+            svdf::examples);
+}
diff --git a/nn/runtime/test/generated/tests/svdf2.mod.py.cpp b/nn/runtime/test/generated/tests/svdf2.mod.py.cpp
new file mode 100644
index 0000000..55b5468
--- /dev/null
+++ b/nn/runtime/test/generated/tests/svdf2.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace svdf2 {
+std::vector<MixedTypedExample> examples = {
+// Generated svdf2 test
+#include "generated/examples/svdf2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/svdf2.model.cpp"
+} // namespace svdf2
+TEST_F(GeneratedTests, svdf2) {
+    execute(svdf2::CreateModel,
+            svdf2::is_ignored,
+            svdf2::examples);
+}
diff --git a/nn/runtime/test/generated/tests/svdf2_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/svdf2_relaxed.mod.py.cpp
new file mode 100644
index 0000000..ce570d7
--- /dev/null
+++ b/nn/runtime/test/generated/tests/svdf2_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace svdf2_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated svdf2_relaxed test
+#include "generated/examples/svdf2_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/svdf2_relaxed.model.cpp"
+} // namespace svdf2_relaxed
+TEST_F(GeneratedTests, svdf2_relaxed) {
+    execute(svdf2_relaxed::CreateModel,
+            svdf2_relaxed::is_ignored,
+            svdf2_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/svdf_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/svdf_relaxed.mod.py.cpp
new file mode 100644
index 0000000..2cdaf66
--- /dev/null
+++ b/nn/runtime/test/generated/tests/svdf_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace svdf_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated svdf_relaxed test
+#include "generated/examples/svdf_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/svdf_relaxed.model.cpp"
+} // namespace svdf_relaxed
+TEST_F(GeneratedTests, svdf_relaxed) {
+    execute(svdf_relaxed::CreateModel,
+            svdf_relaxed::is_ignored,
+            svdf_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/svdf_state.mod.py.cpp b/nn/runtime/test/generated/tests/svdf_state.mod.py.cpp
new file mode 100644
index 0000000..b9b287f
--- /dev/null
+++ b/nn/runtime/test/generated/tests/svdf_state.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace svdf_state {
+std::vector<MixedTypedExample> examples = {
+// Generated svdf_state test
+#include "generated/examples/svdf_state.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/svdf_state.model.cpp"
+} // namespace svdf_state
+TEST_F(GeneratedTests, svdf_state) {
+    execute(svdf_state::CreateModel,
+            svdf_state::is_ignored,
+            svdf_state::examples);
+}
diff --git a/nn/runtime/test/generated/tests/svdf_state_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/svdf_state_relaxed.mod.py.cpp
new file mode 100644
index 0000000..fe96372
--- /dev/null
+++ b/nn/runtime/test/generated/tests/svdf_state_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace svdf_state_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated svdf_state_relaxed test
+#include "generated/examples/svdf_state_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/svdf_state_relaxed.model.cpp"
+} // namespace svdf_state_relaxed
+TEST_F(GeneratedTests, svdf_state_relaxed) {
+    execute(svdf_state_relaxed::CreateModel,
+            svdf_state_relaxed::is_ignored,
+            svdf_state_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/tanh.mod.py.cpp b/nn/runtime/test/generated/tests/tanh.mod.py.cpp
new file mode 100644
index 0000000..f3ee37e
--- /dev/null
+++ b/nn/runtime/test/generated/tests/tanh.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace tanh {
+std::vector<MixedTypedExample> examples = {
+// Generated tanh test
+#include "generated/examples/tanh.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/tanh.model.cpp"
+} // namespace tanh
+TEST_F(GeneratedTests, tanh) {
+    execute(tanh::CreateModel,
+            tanh::is_ignored,
+            tanh::examples);
+}
diff --git a/nn/runtime/test/generated/tests/tanh_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/tanh_relaxed.mod.py.cpp
new file mode 100644
index 0000000..dd8847b
--- /dev/null
+++ b/nn/runtime/test/generated/tests/tanh_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace tanh_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated tanh_relaxed test
+#include "generated/examples/tanh_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/tanh_relaxed.model.cpp"
+} // namespace tanh_relaxed
+TEST_F(GeneratedTests, tanh_relaxed) {
+    execute(tanh_relaxed::CreateModel,
+            tanh_relaxed::is_ignored,
+            tanh_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/transpose.mod.py.cpp b/nn/runtime/test/generated/tests/transpose.mod.py.cpp
new file mode 100644
index 0000000..cb98578
--- /dev/null
+++ b/nn/runtime/test/generated/tests/transpose.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace transpose {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose test
+#include "generated/examples/transpose.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/transpose.model.cpp"
+} // namespace transpose
+TEST_F(GeneratedTests, transpose) {
+    execute(transpose::CreateModel,
+            transpose::is_ignored,
+            transpose::examples);
+}
diff --git a/nn/runtime/test/generated/tests/transpose_float_1.mod.py.cpp b/nn/runtime/test/generated/tests/transpose_float_1.mod.py.cpp
new file mode 100644
index 0000000..37615c4
--- /dev/null
+++ b/nn/runtime/test/generated/tests/transpose_float_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace transpose_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_float_1 test
+#include "generated/examples/transpose_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/transpose_float_1.model.cpp"
+} // namespace transpose_float_1
+TEST_F(GeneratedTests, transpose_float_1) {
+    execute(transpose_float_1::CreateModel,
+            transpose_float_1::is_ignored,
+            transpose_float_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/transpose_float_1_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/transpose_float_1_relaxed.mod.py.cpp
new file mode 100644
index 0000000..4f9d224
--- /dev/null
+++ b/nn/runtime/test/generated/tests/transpose_float_1_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace transpose_float_1_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_float_1_relaxed test
+#include "generated/examples/transpose_float_1_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/transpose_float_1_relaxed.model.cpp"
+} // namespace transpose_float_1_relaxed
+TEST_F(GeneratedTests, transpose_float_1_relaxed) {
+    execute(transpose_float_1_relaxed::CreateModel,
+            transpose_float_1_relaxed::is_ignored,
+            transpose_float_1_relaxed::examples);
+}
diff --git a/nn/runtime/test/generated/tests/transpose_quant8_1.mod.py.cpp b/nn/runtime/test/generated/tests/transpose_quant8_1.mod.py.cpp
new file mode 100644
index 0000000..1913fdf
--- /dev/null
+++ b/nn/runtime/test/generated/tests/transpose_quant8_1.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace transpose_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_quant8_1 test
+#include "generated/examples/transpose_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/transpose_quant8_1.model.cpp"
+} // namespace transpose_quant8_1
+TEST_F(GeneratedTests, transpose_quant8_1) {
+    execute(transpose_quant8_1::CreateModel,
+            transpose_quant8_1::is_ignored,
+            transpose_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/tests/transpose_relaxed.mod.py.cpp b/nn/runtime/test/generated/tests/transpose_relaxed.mod.py.cpp
new file mode 100644
index 0000000..6cec57a
--- /dev/null
+++ b/nn/runtime/test/generated/tests/transpose_relaxed.mod.py.cpp
@@ -0,0 +1,17 @@
+// DO NOT EDIT;
+// Generated by ml/nn/runtime/test/specs/generate_test.sh
+#include "../../TestGenerated.h"
+
+namespace transpose_relaxed {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_relaxed test
+#include "generated/examples/transpose_relaxed.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/transpose_relaxed.model.cpp"
+} // namespace transpose_relaxed
+TEST_F(GeneratedTests, transpose_relaxed) {
+    execute(transpose_relaxed::CreateModel,
+            transpose_relaxed::is_ignored,
+            transpose_relaxed::examples);
+}
diff --git a/nn/runtime/test/specs/generate_test.sh b/nn/runtime/test/specs/generate_test.sh
index 0b488f3..9cef081 100755
--- a/nn/runtime/test/specs/generate_test.sh
+++ b/nn/runtime/test/specs/generate_test.sh
@@ -79,11 +79,13 @@
     shift
   fi
   cd $ANDROID_BUILD_TOP/$TEST_DIR/specs
-  OUTFILE=$ANDROID_BUILD_TOP/$TEST_DIR/generated/all_generated_tests.cpp
-  echo "// DO NOT EDIT;" > $OUTFILE
-  echo "// Generated by ml/nn/runtime/test/specs/generate_test.sh" >> $OUTFILE
   FOUND=0
 
+  CTSONEFILE=$ANDROID_BUILD_TOP/$TEST_DIR/for-cts/TestGeneratedOneFile.cpp
+  echo "// DO NOT EDIT;" > $CTSONEFILE
+  echo "// Generated by ml/nn/runtime/test/specs/generate_test.sh" >> $CTSONEFILE
+  echo "#include \"../GeneratedUtils.cpp\"" >> $CTSONEFILE
+
   for ver in $NNAPI_VERSION;
   do
     VER_DIR=$ANDROID_BUILD_TOP/$TEST_DIR/specs/$ver
@@ -92,7 +94,12 @@
     for f in $@;
     do
       if [ -f $(basename $f) ]; then
+        OUTFILE=$ANDROID_BUILD_TOP/$TEST_DIR/generated/tests/$(basename $f).cpp
+        echo "// DO NOT EDIT;" > $OUTFILE
+        echo "// Generated by ml/nn/runtime/test/specs/generate_test.sh" >> $OUTFILE
+        echo "#include \"../../TestGenerated.h\"" >> $OUTFILE
         generate_one_testcase $f "$LOGFILE" >> $OUTFILE
+        echo "#include \"../generated/tests/$(basename $f).cpp\"" >> $CTSONEFILE
         if [ $? -ne 0 ]; then
           echo "Failed processing $f"
           return $?