IVGCVSW-6470 Create MemoryStrategyBenchmark

 * Refactor the strategy library to be more generic
 * Shorten the names of the current strategies
 * Change validatorStrat to throw exceptions

Change-Id: I0d9c9ef609b2d8675e5788610d1accac6767c660
Signed-off-by: Finn Williams <finwil01@e127804.cambridge.arm.com>
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
diff --git a/tests/MemoryStrategyBenchmark/CMakeLists.txt b/tests/MemoryStrategyBenchmark/CMakeLists.txt
new file mode 100644
index 0000000..9ed79ba
--- /dev/null
+++ b/tests/MemoryStrategyBenchmark/CMakeLists.txt
@@ -0,0 +1,16 @@
+add_executable(MemoryStrategyBenchmark
+               MemoryStrategyBenchmark.cpp
+               TestBlocks.hpp
+               TestStrategy.hpp
+               TestStrategy.cpp
+               ../../include/armnn/Exceptions.hpp
+               ../../src/armnn/Exceptions.cpp)
+
+target_link_libraries(MemoryStrategyBenchmark armnnMemoryOptimizationStrategies)
+target_include_directories(MemoryStrategyBenchmark PRIVATE
+                           ../../include/armnn/backends
+                           ../../src/backends/backendsCommon/memoryOptimizerStrategyLibrary
+                           ../../third-party/cxxopts)
+
+
+set_target_properties(MemoryStrategyBenchmark PROPERTIES LINKER_LANGUAGE CXX)
\ No newline at end of file
diff --git a/tests/MemoryStrategyBenchmark/MemoryStrategyBenchmark.cpp b/tests/MemoryStrategyBenchmark/MemoryStrategyBenchmark.cpp
new file mode 100644
index 0000000..5924757
--- /dev/null
+++ b/tests/MemoryStrategyBenchmark/MemoryStrategyBenchmark.cpp
@@ -0,0 +1,206 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#include "TestBlocks.hpp"
+#include "TestStrategy.hpp"
+
+#include <IMemoryOptimizerStrategy.hpp>
+#include <MemoryOptimizerStrategyLibrary.hpp>
+#include <strategies/StrategyValidator.hpp>
+
+
+#include <cxxopts.hpp>
+
+#include <iostream>
+#include <algorithm>
+#include <iomanip>
+
+std::vector<TestBlock> testBlocks
+{
+    {"inceptionv4", inceptionv4},
+    {"deeplabv3", deeplabv3},
+    {"deepspeechv1", deepspeechv1},
+    {"ssd_mobilenetv2", ssd_mobilenetv2},
+    {"resnetv2", resnetv2},
+    {"yolov3",yolov3}
+};
+
+void PrintModels()
+{
+    std::cout << "Available models:\n";
+    for (const auto& model : testBlocks)
+    {
+        std::cout << model.m_Name << "\n";
+    }
+    std::cout << "\n";
+}
+
+size_t GetMinPossibleMemorySize(const std::vector<armnn::MemBlock> blocks)
+{
+   std::vector<size_t> lifetimes(1000);
+   for (const auto& block : blocks)
+   {
+       for (auto lifetime = block.m_StartOfLife; lifetime <= block.m_EndOfLife; ++lifetime)
+       {
+           lifetimes[lifetime] += block.m_MemSize;
+       }
+   }
+   return *std::max_element(lifetimes.begin(), lifetimes.end());
+}
+
+void RunBenchmark(armnn::IMemoryOptimizerStrategy* strategy, std::vector<TestBlock>* models)
+{
+    using Clock = std::chrono::high_resolution_clock;
+    float avgEfficiency = 0;
+    std::chrono::duration<double, std::milli> avgDuration{};
+    std::cout << "\nMemory Strategy: "  << strategy->GetName()<< "\n";
+    std::cout << "===============================================\n";
+    for (auto& model : *models)
+    {
+        auto now = Clock::now();
+        const std::vector<armnn::MemBin> result = strategy->Optimize(model.m_Blocks);
+        auto duration = std::chrono::duration<double, std::milli>(Clock::now() - now);
+
+        avgDuration += duration;
+        size_t memoryUsage = 0;
+        for (auto bin : result)
+        {
+            memoryUsage += bin.m_MemSize;
+        }
+        size_t minSize = GetMinPossibleMemorySize(model.m_Blocks);
+
+        float efficiency = static_cast<float>(minSize) / static_cast<float>(memoryUsage);
+        efficiency*=100;
+        avgEfficiency += efficiency;
+        std::cout << "\nModel: " << model.m_Name << "\n";
+
+        std::cout << "Strategy execution time: " << std::setprecision(4) << duration.count() << " milliseconds\n";
+
+        std::cout << "Memory usage: " << memoryUsage/1024 << " kb\n";
+
+        std::cout << "Minimum possible usage: " << minSize/1024 << " kb\n";
+
+        std::cout << "Memory efficiency: " << std::setprecision(3) << efficiency << "%\n";
+    }
+
+    avgDuration/= static_cast<double>(models->size());
+    avgEfficiency/= static_cast<float>(models->size());
+
+    std::cout << "\n===============================================\n";
+    std::cout << "Average memory duration: " << std::setprecision(4) << avgDuration.count() << " milliseconds\n";
+    std::cout << "Average memory efficiency: " << std::setprecision(3) << avgEfficiency << "%\n";
+}
+
+struct BenchmarkOptions
+{
+    std::string m_StrategyName;
+    std::string m_ModelName;
+    bool m_UseDefaultStrategy = false;
+    bool m_Validate = false;
+};
+
+BenchmarkOptions ParseOptions(int argc, char* argv[])
+{
+    cxxopts::Options options("Memory Benchmark", "Tests memory optimization strategies on different models");
+
+    options.add_options()
+        ("s, strategy", "Strategy name, do not specify to use default strategy", cxxopts::value<std::string>())
+        ("m, model", "Model name", cxxopts::value<std::string>())
+        ("v, validate", "Validate strategy", cxxopts::value<bool>()->default_value("false")->implicit_value("true"))
+        ("h,help", "Display usage information");
+
+    auto result = options.parse(argc, argv);
+    if (result.count("help"))
+    {
+        std::cout << options.help() << std::endl;
+        PrintModels();
+
+        std::cout << "\nAvailable strategies:\n";
+
+        for (const auto& s :armnn::GetMemoryOptimizerStrategyNames())
+        {
+            std::cout << s << "\n";
+        }
+        exit(EXIT_SUCCESS);
+    }
+
+    BenchmarkOptions benchmarkOptions;
+
+    if(result.count("strategy"))
+    {
+        benchmarkOptions.m_StrategyName = result["strategy"].as<std::string>();
+    }
+    else
+    {
+        std::cout << "No Strategy given, using default strategy";
+
+        benchmarkOptions.m_UseDefaultStrategy = true;
+    }
+
+    if(result.count("model"))
+    {
+        benchmarkOptions.m_ModelName = result["model"].as<std::string>();
+    }
+
+    benchmarkOptions.m_Validate = result["validate"].as<bool>();
+
+    return benchmarkOptions;
+}
+
+int main(int argc, char* argv[])
+{
+    BenchmarkOptions benchmarkOptions = ParseOptions(argc, argv);
+
+    std::shared_ptr<armnn::IMemoryOptimizerStrategy> strategy;
+
+    if (benchmarkOptions.m_UseDefaultStrategy)
+    {
+        strategy = std::make_shared<armnn::TestStrategy>();
+    }
+    else
+    {
+        strategy = armnn::GetMemoryOptimizerStrategy(benchmarkOptions.m_StrategyName);
+
+        if (!strategy)
+        {
+            std::cout << "Strategy name not found\n";
+            return 0;
+        }
+    }
+
+    std::vector<TestBlock> model;
+    std::vector<TestBlock>* modelsToTest = &testBlocks;
+    if (benchmarkOptions.m_ModelName.size() != 0)
+    {
+        auto it = std::find_if(testBlocks.cbegin(), testBlocks.cend(), [&](const TestBlock testBlock)
+        {
+            return testBlock.m_Name == benchmarkOptions.m_ModelName;
+        });
+
+        if (it == testBlocks.end())
+        {
+            std::cout << "Model name not found\n";
+            return 0;
+        }
+        else
+        {
+            model.push_back(*it);
+            modelsToTest = &model;
+        }
+    }
+
+    if (benchmarkOptions.m_Validate)
+    {
+        armnn::StrategyValidator strategyValidator;
+
+        strategyValidator.SetStrategy(strategy);
+
+        RunBenchmark(&strategyValidator, modelsToTest);
+    }
+    else
+    {
+        RunBenchmark(strategy.get(), modelsToTest);
+    }
+
+}
\ No newline at end of file
diff --git a/tests/MemoryStrategyBenchmark/TestBlocks.hpp b/tests/MemoryStrategyBenchmark/TestBlocks.hpp
new file mode 100644
index 0000000..280307c
--- /dev/null
+++ b/tests/MemoryStrategyBenchmark/TestBlocks.hpp
@@ -0,0 +1,1575 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include <vector>
+#include <IMemoryOptimizerStrategy.hpp>
+
+struct TestBlock
+{
+    std::string m_Name;
+    std::vector<armnn::MemBlock>& m_Blocks;
+};
+
+// Generated from inception_v4_299_quant.tflite
+std::vector<armnn::MemBlock> inceptionv4
+{
+    { 0, 1, 268203, 0, 0 },
+    { 1, 5, 710432, 0, 1 },
+    { 4, 9, 691488, 0, 4 },
+    { 5, 12, 1382976, 0, 5 },
+    { 6, 14, 341056, 0, 6 },
+    { 7, 15, 511584, 0, 7 },
+    { 8, 18, 852640, 0, 8 },
+    { 9, 20, 341056, 0, 9 },
+    { 10, 22, 341056, 0, 10 },
+    { 12, 25, 341056, 0, 12 },
+    { 13, 27, 341056, 0, 13 },
+    { 11, 26, 483936, 0, 11 },
+    { 14, 29, 483936, 0, 14 },
+    { 15, 32, 967872, 0, 15 },
+    { 17, 35, 235200, 0, 17 },
+    { 16, 34, 235200, 0, 16 },
+    { 18, 40, 470400, 0, 18 },
+    { 21, 44, 78400, 0, 21 },
+    { 22, 46, 78400, 0, 22 },
+    { 19, 44, 470400, 0, 19 },
+    { 24, 50, 117600, 0, 24 },
+    { 20, 47, 117600, 0, 20 },
+    { 23, 50, 117600, 0, 23 },
+    { 26, 53, 117600, 0, 26 },
+    { 25, 52, 117600, 0, 25 },
+    { 27, 58, 470400, 0, 27 },
+    { 30, 62, 78400, 0, 30 },
+    { 31, 64, 78400, 0, 31 },
+    { 28, 62, 470400, 0, 28 },
+    { 33, 68, 117600, 0, 33 },
+    { 29, 65, 117600, 0, 29 },
+    { 32, 68, 117600, 0, 32 },
+    { 35, 71, 117600, 0, 35 },
+    { 34, 70, 117600, 0, 34 },
+    { 36, 76, 470400, 0, 36 },
+    { 39, 80, 78400, 0, 39 },
+    { 40, 82, 78400, 0, 40 },
+    { 37, 80, 470400, 0, 37 },
+    { 42, 86, 117600, 0, 42 },
+    { 38, 83, 117600, 0, 38 },
+    { 41, 86, 117600, 0, 41 },
+    { 44, 89, 117600, 0, 44 },
+    { 43, 88, 117600, 0, 43 },
+    { 45, 94, 470400, 0, 45 },
+    { 48, 98, 78400, 0, 48 },
+    { 49, 100, 78400, 0, 49 },
+    { 46, 98, 470400, 0, 46 },
+    { 51, 104, 117600, 0, 51 },
+    { 47, 101, 117600, 0, 47 },
+    { 50, 104, 117600, 0, 50 },
+    { 53, 107, 117600, 0, 53 },
+    { 52, 106, 117600, 0, 52 },
+    { 54, 111, 470400, 0, 54 },
+    { 57, 115, 235200, 0, 57 },
+    { 58, 117, 274400, 0, 58 },
+    { 56, 116, 110976, 0, 56 },
+    { 59, 119, 73984, 0, 59 },
+    { 55, 115, 110976, 0, 55 },
+    { 60, 124, 295936, 0, 60 },
+    { 63, 128, 55488, 0, 63 },
+    { 64, 130, 55488, 0, 64 },
+    { 61, 128, 295936, 0, 61 },
+    { 65, 133, 64736, 0, 65 },
+    { 66, 135, 55488, 0, 66 },
+    { 69, 139, 64736, 0, 69 },
+    { 70, 141, 64736, 0, 70 },
+    { 62, 134, 110976, 0, 62 },
+    { 68, 140, 73984, 0, 68 },
+    { 71, 143, 73984, 0, 71 },
+    { 67, 139, 36992, 0, 67 },
+    { 72, 148, 295936, 0, 72 },
+    { 75, 152, 55488, 0, 75 },
+    { 76, 154, 55488, 0, 76 },
+    { 73, 152, 295936, 0, 73 },
+    { 77, 157, 64736, 0, 77 },
+    { 78, 159, 55488, 0, 78 },
+    { 81, 163, 64736, 0, 81 },
+    { 82, 165, 64736, 0, 82 },
+    { 74, 158, 110976, 0, 74 },
+    { 80, 164, 73984, 0, 80 },
+    { 83, 167, 73984, 0, 83 },
+    { 79, 163, 36992, 0, 79 },
+    { 84, 172, 295936, 0, 84 },
+    { 87, 176, 55488, 0, 87 },
+    { 88, 178, 55488, 0, 88 },
+    { 85, 176, 295936, 0, 85 },
+    { 89, 181, 64736, 0, 89 },
+    { 90, 183, 55488, 0, 90 },
+    { 93, 187, 64736, 0, 93 },
+    { 94, 189, 64736, 0, 94 },
+    { 86, 182, 110976, 0, 86 },
+    { 92, 188, 73984, 0, 92 },
+    { 95, 191, 73984, 0, 95 },
+    { 91, 187, 36992, 0, 91 },
+    { 96, 196, 295936, 0, 96 },
+    { 99, 200, 55488, 0, 99 },
+    { 100, 202, 55488, 0, 100 },
+    { 97, 200, 295936, 0, 97 },
+    { 101, 205, 64736, 0, 101 },
+    { 102, 207, 55488, 0, 102 },
+    { 105, 211, 64736, 0, 105 },
+    { 106, 213, 64736, 0, 106 },
+    { 98, 206, 110976, 0, 98 },
+    { 104, 212, 73984, 0, 104 },
+    { 107, 215, 73984, 0, 107 },
+    { 103, 211, 36992, 0, 103 },
+    { 108, 220, 295936, 0, 108 },
+    { 111, 224, 55488, 0, 111 },
+    { 112, 226, 55488, 0, 112 },
+    { 109, 224, 295936, 0, 109 },
+    { 113, 229, 64736, 0, 113 },
+    { 114, 231, 55488, 0, 114 },
+    { 117, 235, 64736, 0, 117 },
+    { 118, 237, 64736, 0, 118 },
+    { 110, 230, 110976, 0, 110 },
+    { 116, 236, 73984, 0, 116 },
+    { 119, 239, 73984, 0, 119 },
+    { 115, 235, 36992, 0, 115 },
+    { 120, 244, 295936, 0, 120 },
+    { 123, 248, 55488, 0, 123 },
+    { 124, 250, 55488, 0, 124 },
+    { 121, 248, 295936, 0, 121 },
+    { 125, 253, 64736, 0, 125 },
+    { 126, 255, 55488, 0, 126 },
+    { 129, 259, 64736, 0, 129 },
+    { 130, 261, 64736, 0, 130 },
+    { 122, 254, 110976, 0, 122 },
+    { 128, 260, 73984, 0, 128 },
+    { 131, 263, 73984, 0, 131 },
+    { 127, 259, 36992, 0, 127 },
+    { 132, 268, 295936, 0, 132 },
+    { 135, 272, 55488, 0, 135 },
+    { 136, 274, 55488, 0, 136 },
+    { 133, 272, 295936, 0, 133 },
+    { 137, 277, 64736, 0, 137 },
+    { 138, 279, 55488, 0, 138 },
+    { 141, 283, 64736, 0, 141 },
+    { 142, 285, 64736, 0, 142 },
+    { 134, 278, 110976, 0, 134 },
+    { 140, 284, 73984, 0, 140 },
+    { 143, 287, 73984, 0, 143 },
+    { 139, 283, 36992, 0, 139 },
+    { 144, 291, 295936, 0, 144 },
+    { 146, 294, 55488, 0, 146 },
+    { 147, 296, 73984, 0, 147 },
+    { 149, 299, 73984, 0, 149 },
+    { 150, 301, 92480, 0, 150 },
+    { 148, 300, 12288, 0, 148 },
+    { 151, 303, 20480, 0, 151 },
+    { 145, 297, 65536, 0, 145 },
+    { 152, 308, 98304, 0, 152 },
+    { 155, 313, 24576, 0, 155 },
+    { 156, 315, 24576, 0, 156 },
+    { 153, 313, 98304, 0, 153 },
+    { 157, 318, 16384, 0, 157 },
+    { 158, 319, 16384, 0, 158 },
+    { 159, 321, 28672, 0, 159 },
+    { 162, 326, 32768, 0, 162 },
+    { 163, 328, 16384, 0, 163 },
+    { 164, 329, 16384, 0, 164 },
+    { 154, 320, 16384, 0, 154 },
+    { 161, 327, 32768, 0, 161 },
+    { 165, 331, 32768, 0, 165 },
+    { 160, 326, 16384, 0, 160 },
+    { 166, 336, 98304, 0, 166 },
+    { 169, 341, 24576, 0, 169 },
+    { 170, 343, 24576, 0, 170 },
+    { 167, 341, 98304, 0, 167 },
+    { 171, 346, 16384, 0, 171 },
+    { 172, 347, 16384, 0, 172 },
+    { 173, 349, 28672, 0, 173 },
+    { 176, 354, 32768, 0, 176 },
+    { 177, 356, 16384, 0, 177 },
+    { 178, 357, 16384, 0, 178 },
+    { 168, 348, 16384, 0, 168 },
+    { 175, 355, 32768, 0, 175 },
+    { 179, 359, 32768, 0, 179 },
+    { 174, 354, 16384, 0, 174 },
+    { 180, 364, 98304, 0, 180 },
+    { 183, 369, 24576, 0, 183 },
+    { 184, 371, 24576, 0, 184 },
+    { 181, 369, 98304, 0, 181 },
+    { 185, 374, 16384, 0, 185 },
+    { 186, 375, 16384, 0, 186 },
+    { 187, 377, 28672, 0, 187 },
+    { 190, 382, 32768, 0, 190 },
+    { 191, 384, 16384, 0, 191 },
+    { 192, 385, 16384, 0, 192 },
+    { 182, 376, 16384, 0, 182 },
+    { 189, 383, 32768, 0, 189 },
+    { 193, 387, 32768, 0, 193 },
+    { 188, 382, 16384, 0, 188 },
+    { 194, 389, 98304, 0, 194 },
+    { 195, 391, 1536, 0, 195 },
+    { 196, 393, 1536, 0, 196 },
+    { 197, 395, 1001, 0, 197 },
+    { 198, 397, 1001, 0, 198 }
+};
+
+// Generated from deepspeechv1_float32.tflite
+std::vector<armnn::MemBlock> deepspeechv1
+{
+    { 0, 3, 31616, 0, 0 },
+    { 3, 39, 31616, 0, 3 },
+    { 36, 73, 131072, 0, 36 },
+    { 37, 75, 131072, 0, 37 },
+    { 38, 77, 131072, 0, 38 },
+    { 39, 79, 131072, 0, 39 },
+    { 40, 81, 131072, 0, 40 },
+    { 41, 83, 131072, 0, 41 },
+    { 42, 85, 131072, 0, 42 },
+    { 43, 87, 131072, 0, 43 },
+    { 44, 89, 131072, 0, 44 },
+    { 45, 91, 131072, 0, 45 },
+    { 46, 93, 8192, 0, 46 },
+    { 46, 94, 8192, 0, 47 },
+    { 46, 95, 8192, 0, 48 },
+    { 46, 96, 8192, 0, 49 },
+    { 46, 97, 8192, 0, 50 },
+    { 46, 98, 8192, 0, 51 },
+    { 46, 99, 8192, 0, 52 },
+    { 46, 100, 8192, 0, 53 },
+    { 46, 101, 8192, 0, 54 },
+    { 46, 102, 8192, 0, 55 },
+    { 46, 103, 8192, 0, 56 },
+    { 46, 104, 8192, 0, 57 },
+    { 46, 105, 8192, 0, 58 },
+    { 46, 106, 8192, 0, 59 },
+    { 46, 107, 8192, 0, 60 },
+    { 46, 108, 8192, 0, 61 },
+    { 47, 110, 8192, 0, 62 },
+    { 1, 64, 8192, 0, 1 },
+    { 63, 127, 16384, 0, 78 },
+    { 64, 129, 32768, 0, 79 },
+    { 65, 131, 8192, 0, 82 },
+    { 65, 132, 8192, 0, 80 },
+    { 65, 133, 8192, 0, 81 },
+    { 65, 134, 8192, 0, 83 },
+    { 66, 136, 8192, 0, 84 },
+    { 67, 138, 8192, 0, 85 },
+    { 68, 139, 8192, 0, 86 },
+    { 70, 142, 8192, 0, 88 },
+    { 2, 74, 8192, 0, 2 },
+    { 72, 145, 8192, 0, 90 },
+    { 71, 144, 8192, 0, 89 },
+    { 69, 144, 8192, 0, 87 },
+    { 74, 149, 8192, 0, 92 },
+    { 48, 124, 8192, 0, 63 },
+    { 76, 153, 16384, 0, 94 },
+    { 77, 155, 32768, 0, 95 },
+    { 78, 157, 8192, 0, 98 },
+    { 78, 158, 8192, 0, 96 },
+    { 78, 159, 8192, 0, 97 },
+    { 78, 160, 8192, 0, 99 },
+    { 79, 162, 8192, 0, 100 },
+    { 80, 164, 8192, 0, 101 },
+    { 81, 165, 8192, 0, 102 },
+    { 83, 168, 8192, 0, 104 },
+    { 73, 158, 8192, 0, 91 },
+    { 85, 171, 8192, 0, 106 },
+    { 84, 170, 8192, 0, 105 },
+    { 82, 170, 8192, 0, 103 },
+    { 87, 175, 8192, 0, 108 },
+    { 49, 138, 8192, 0, 64 },
+    { 89, 179, 16384, 0, 110 },
+    { 90, 181, 32768, 0, 111 },
+    { 91, 183, 8192, 0, 114 },
+    { 91, 184, 8192, 0, 112 },
+    { 91, 185, 8192, 0, 113 },
+    { 91, 186, 8192, 0, 115 },
+    { 92, 188, 8192, 0, 116 },
+    { 93, 190, 8192, 0, 117 },
+    { 94, 191, 8192, 0, 118 },
+    { 96, 194, 8192, 0, 120 },
+    { 86, 184, 8192, 0, 107 },
+    { 98, 197, 8192, 0, 122 },
+    { 97, 196, 8192, 0, 121 },
+    { 95, 196, 8192, 0, 119 },
+    { 100, 201, 8192, 0, 124 },
+    { 50, 152, 8192, 0, 65 },
+    { 102, 205, 16384, 0, 126 },
+    { 103, 207, 32768, 0, 127 },
+    { 104, 209, 8192, 0, 130 },
+    { 104, 210, 8192, 0, 128 },
+    { 104, 211, 8192, 0, 129 },
+    { 104, 212, 8192, 0, 131 },
+    { 105, 214, 8192, 0, 132 },
+    { 106, 216, 8192, 0, 133 },
+    { 107, 217, 8192, 0, 134 },
+    { 109, 220, 8192, 0, 136 },
+    { 99, 210, 8192, 0, 123 },
+    { 111, 223, 8192, 0, 138 },
+    { 110, 222, 8192, 0, 137 },
+    { 108, 222, 8192, 0, 135 },
+    { 113, 227, 8192, 0, 140 },
+    { 51, 166, 8192, 0, 66 },
+    { 115, 231, 16384, 0, 142 },
+    { 116, 233, 32768, 0, 143 },
+    { 117, 235, 8192, 0, 146 },
+    { 117, 236, 8192, 0, 144 },
+    { 117, 237, 8192, 0, 145 },
+    { 117, 238, 8192, 0, 147 },
+    { 118, 240, 8192, 0, 148 },
+    { 119, 242, 8192, 0, 149 },
+    { 120, 243, 8192, 0, 150 },
+    { 122, 246, 8192, 0, 152 },
+    { 112, 236, 8192, 0, 139 },
+    { 124, 249, 8192, 0, 154 },
+    { 123, 248, 8192, 0, 153 },
+    { 121, 248, 8192, 0, 151 },
+    { 126, 253, 8192, 0, 156 },
+    { 52, 180, 8192, 0, 67 },
+    { 128, 257, 16384, 0, 158 },
+    { 129, 259, 32768, 0, 159 },
+    { 130, 261, 8192, 0, 162 },
+    { 130, 262, 8192, 0, 160 },
+    { 130, 263, 8192, 0, 161 },
+    { 130, 264, 8192, 0, 163 },
+    { 131, 266, 8192, 0, 164 },
+    { 132, 268, 8192, 0, 165 },
+    { 133, 269, 8192, 0, 166 },
+    { 135, 272, 8192, 0, 168 },
+    { 125, 262, 8192, 0, 155 },
+    { 137, 275, 8192, 0, 170 },
+    { 136, 274, 8192, 0, 169 },
+    { 134, 274, 8192, 0, 167 },
+    { 139, 279, 8192, 0, 172 },
+    { 53, 194, 8192, 0, 68 },
+    { 141, 283, 16384, 0, 174 },
+    { 142, 285, 32768, 0, 175 },
+    { 143, 287, 8192, 0, 178 },
+    { 143, 288, 8192, 0, 176 },
+    { 143, 289, 8192, 0, 177 },
+    { 143, 290, 8192, 0, 179 },
+    { 144, 292, 8192, 0, 180 },
+    { 145, 294, 8192, 0, 181 },
+    { 146, 295, 8192, 0, 182 },
+    { 148, 298, 8192, 0, 184 },
+    { 138, 288, 8192, 0, 171 },
+    { 150, 301, 8192, 0, 186 },
+    { 149, 300, 8192, 0, 185 },
+    { 147, 300, 8192, 0, 183 },
+    { 152, 305, 8192, 0, 188 },
+    { 54, 208, 8192, 0, 69 },
+    { 154, 309, 16384, 0, 190 },
+    { 155, 311, 32768, 0, 191 },
+    { 156, 313, 8192, 0, 194 },
+    { 156, 314, 8192, 0, 192 },
+    { 156, 315, 8192, 0, 193 },
+    { 156, 316, 8192, 0, 195 },
+    { 157, 318, 8192, 0, 196 },
+    { 158, 320, 8192, 0, 197 },
+    { 159, 321, 8192, 0, 198 },
+    { 161, 324, 8192, 0, 200 },
+    { 151, 314, 8192, 0, 187 },
+    { 163, 327, 8192, 0, 202 },
+    { 162, 326, 8192, 0, 201 },
+    { 160, 326, 8192, 0, 199 },
+    { 165, 331, 8192, 0, 204 },
+    { 55, 222, 8192, 0, 70 },
+    { 167, 335, 16384, 0, 206 },
+    { 168, 337, 32768, 0, 207 },
+    { 169, 339, 8192, 0, 210 },
+    { 169, 340, 8192, 0, 208 },
+    { 169, 341, 8192, 0, 209 },
+    { 169, 342, 8192, 0, 211 },
+    { 170, 344, 8192, 0, 212 },
+    { 171, 346, 8192, 0, 213 },
+    { 172, 347, 8192, 0, 214 },
+    { 174, 350, 8192, 0, 216 },
+    { 164, 340, 8192, 0, 203 },
+    { 176, 353, 8192, 0, 218 },
+    { 175, 352, 8192, 0, 217 },
+    { 173, 352, 8192, 0, 215 },
+    { 178, 357, 8192, 0, 220 },
+    { 56, 236, 8192, 0, 71 },
+    { 180, 361, 16384, 0, 222 },
+    { 181, 363, 32768, 0, 223 },
+    { 182, 365, 8192, 0, 226 },
+    { 182, 366, 8192, 0, 224 },
+    { 182, 367, 8192, 0, 225 },
+    { 182, 368, 8192, 0, 227 },
+    { 183, 370, 8192, 0, 228 },
+    { 184, 372, 8192, 0, 229 },
+    { 185, 373, 8192, 0, 230 },
+    { 187, 376, 8192, 0, 232 },
+    { 177, 366, 8192, 0, 219 },
+    { 189, 379, 8192, 0, 234 },
+    { 188, 378, 8192, 0, 233 },
+    { 186, 378, 8192, 0, 231 },
+    { 191, 383, 8192, 0, 236 },
+    { 57, 250, 8192, 0, 72 },
+    { 193, 387, 16384, 0, 238 },
+    { 194, 389, 32768, 0, 239 },
+    { 195, 391, 8192, 0, 242 },
+    { 195, 392, 8192, 0, 240 },
+    { 195, 393, 8192, 0, 241 },
+    { 195, 394, 8192, 0, 243 },
+    { 196, 396, 8192, 0, 244 },
+    { 197, 398, 8192, 0, 245 },
+    { 198, 399, 8192, 0, 246 },
+    { 200, 402, 8192, 0, 248 },
+    { 190, 392, 8192, 0, 235 },
+    { 202, 405, 8192, 0, 250 },
+    { 201, 404, 8192, 0, 249 },
+    { 199, 404, 8192, 0, 247 },
+    { 204, 409, 8192, 0, 252 },
+    { 58, 264, 8192, 0, 73 },
+    { 206, 413, 16384, 0, 254 },
+    { 207, 415, 32768, 0, 255 },
+    { 208, 417, 8192, 0, 258 },
+    { 208, 418, 8192, 0, 256 },
+    { 208, 419, 8192, 0, 257 },
+    { 208, 420, 8192, 0, 259 },
+    { 209, 422, 8192, 0, 260 },
+    { 210, 424, 8192, 0, 261 },
+    { 211, 425, 8192, 0, 262 },
+    { 213, 428, 8192, 0, 264 },
+    { 203, 418, 8192, 0, 251 },
+    { 215, 431, 8192, 0, 266 },
+    { 214, 430, 8192, 0, 265 },
+    { 212, 430, 8192, 0, 263 },
+    { 217, 435, 8192, 0, 268 },
+    { 59, 278, 8192, 0, 74 },
+    { 219, 439, 16384, 0, 270 },
+    { 220, 441, 32768, 0, 271 },
+    { 221, 443, 8192, 0, 274 },
+    { 221, 444, 8192, 0, 272 },
+    { 221, 445, 8192, 0, 273 },
+    { 221, 446, 8192, 0, 275 },
+    { 222, 448, 8192, 0, 276 },
+    { 223, 450, 8192, 0, 277 },
+    { 224, 451, 8192, 0, 278 },
+    { 226, 454, 8192, 0, 280 },
+    { 216, 444, 8192, 0, 267 },
+    { 228, 457, 8192, 0, 282 },
+    { 227, 456, 8192, 0, 281 },
+    { 225, 456, 8192, 0, 279 },
+    { 230, 461, 8192, 0, 284 },
+    { 60, 292, 8192, 0, 75 },
+    { 232, 465, 16384, 0, 286 },
+    { 233, 467, 32768, 0, 287 },
+    { 234, 469, 8192, 0, 290 },
+    { 234, 470, 8192, 0, 288 },
+    { 234, 471, 8192, 0, 289 },
+    { 234, 472, 8192, 0, 291 },
+    { 235, 474, 8192, 0, 292 },
+    { 236, 476, 8192, 0, 293 },
+    { 237, 477, 8192, 0, 294 },
+    { 239, 480, 8192, 0, 296 },
+    { 229, 470, 8192, 0, 283 },
+    { 241, 483, 8192, 0, 298 },
+    { 240, 482, 8192, 0, 297 },
+    { 238, 482, 8192, 0, 295 },
+    { 243, 487, 8192, 0, 300 },
+    { 61, 306, 8192, 0, 76 },
+    { 245, 491, 16384, 0, 302 },
+    { 246, 493, 32768, 0, 303 },
+    { 247, 495, 8192, 0, 306 },
+    { 247, 496, 8192, 0, 304 },
+    { 247, 497, 8192, 0, 305 },
+    { 247, 498, 8192, 0, 307 },
+    { 248, 500, 8192, 0, 308 },
+    { 249, 502, 8192, 0, 309 },
+    { 250, 503, 8192, 0, 310 },
+    { 252, 506, 8192, 0, 312 },
+    { 242, 496, 8192, 0, 299 },
+    { 254, 509, 8192, 0, 314 },
+    { 253, 508, 8192, 0, 313 },
+    { 251, 508, 8192, 0, 311 },
+    { 256, 513, 8192, 0, 316 },
+    { 62, 320, 8192, 0, 77 },
+    { 258, 517, 16384, 0, 318 },
+    { 259, 519, 32768, 0, 319 },
+    { 260, 521, 8192, 0, 322 },
+    { 260, 522, 8192, 0, 320 },
+    { 260, 523, 8192, 0, 321 },
+    { 260, 524, 8192, 0, 323 },
+    { 261, 526, 8192, 0, 324 },
+    { 262, 528, 8192, 0, 325 },
+    { 263, 529, 8192, 0, 326 },
+    { 265, 532, 8192, 0, 328 },
+    { 255, 522, 8192, 0, 315 },
+    { 267, 535, 8192, 0, 330 },
+    { 266, 534, 8192, 0, 329 },
+    { 264, 534, 8192, 0, 327 },
+    { 269, 539, 8192, 0, 332 },
+    { 75, 346, 8192, 0, 93 },
+    { 88, 359, 8192, 0, 109 },
+    { 101, 372, 8192, 0, 125 },
+    { 114, 385, 8192, 0, 141 },
+    { 127, 398, 8192, 0, 157 },
+    { 140, 411, 8192, 0, 173 },
+    { 153, 424, 8192, 0, 189 },
+    { 166, 437, 8192, 0, 205 },
+    { 179, 450, 8192, 0, 221 },
+    { 192, 463, 8192, 0, 237 },
+    { 205, 476, 8192, 0, 253 },
+    { 218, 489, 8192, 0, 269 },
+    { 231, 502, 8192, 0, 285 },
+    { 244, 515, 8192, 0, 301 },
+    { 257, 528, 8192, 0, 317 },
+    { 271, 543, 131072, 0, 334 },
+    { 272, 545, 131072, 0, 335 },
+    { 273, 547, 131072, 0, 336 },
+    { 274, 549, 131072, 0, 337 },
+    { 275, 551, 1856, 0, 338 },
+    { 276, 553, 1856, 0, 339 },
+    { 270, 548, 8192, 0, 333 },
+    { 268, 547, 8192, 0, 331 }
+};
+
+// Generated from resnet_v2_50_default_minmax.tflite
+std::vector<armnn::MemBlock> resnetv2
+{
+    { 0, 1, 150528, 0, 0 },
+    { 1, 37, 802816, 0, 1 },
+    { 36, 73, 200704, 0, 36 },
+    { 37, 75, 200704, 0, 37 },
+    { 38, 77, 200704, 0, 38 },
+    { 39, 80, 200704, 0, 39 },
+    { 41, 83, 200704, 0, 41 },
+    { 42, 85, 200704, 0, 42 },
+    { 43, 87, 200704, 0, 43 },
+    { 44, 89, 200704, 0, 44 },
+    { 40, 86, 802816, 0, 40 },
+    { 45, 91, 802816, 0, 45 },
+    { 47, 95, 802816, 0, 47 },
+    { 48, 97, 802816, 0, 48 },
+    { 49, 99, 802816, 0, 49 },
+    { 50, 101, 200704, 0, 50 },
+    { 51, 103, 200704, 0, 51 },
+    { 52, 105, 200704, 0, 52 },
+    { 53, 107, 200704, 0, 53 },
+    { 46, 101, 802816, 0, 46 },
+    { 54, 109, 802816, 0, 54 },
+    { 55, 112, 802816, 0, 55 },
+    { 56, 114, 802816, 0, 56 },
+    { 58, 117, 802816, 0, 58 },
+    { 59, 119, 802816, 0, 59 },
+    { 60, 121, 200704, 0, 60 },
+    { 61, 123, 200704, 0, 61 },
+    { 62, 125, 50176, 0, 62 },
+    { 63, 127, 50176, 0, 63 },
+    { 57, 122, 200704, 0, 57 },
+    { 64, 129, 200704, 0, 64 },
+    { 65, 131, 200704, 0, 65 },
+    { 66, 133, 200704, 0, 66 },
+    { 67, 135, 200704, 0, 67 },
+    { 68, 138, 200704, 0, 68 },
+    { 70, 141, 100352, 0, 70 },
+    { 71, 143, 100352, 0, 71 },
+    { 72, 145, 100352, 0, 72 },
+    { 73, 147, 100352, 0, 73 },
+    { 69, 144, 401408, 0, 69 },
+    { 74, 149, 401408, 0, 74 },
+    { 76, 153, 401408, 0, 76 },
+    { 77, 155, 401408, 0, 77 },
+    { 78, 157, 401408, 0, 78 },
+    { 79, 159, 100352, 0, 79 },
+    { 80, 161, 100352, 0, 80 },
+    { 81, 163, 100352, 0, 81 },
+    { 82, 165, 100352, 0, 82 },
+    { 75, 159, 401408, 0, 75 },
+    { 83, 167, 401408, 0, 83 },
+    { 85, 171, 401408, 0, 85 },
+    { 86, 173, 401408, 0, 86 },
+    { 87, 175, 401408, 0, 87 },
+    { 88, 177, 100352, 0, 88 },
+    { 89, 179, 100352, 0, 89 },
+    { 90, 181, 100352, 0, 90 },
+    { 91, 183, 100352, 0, 91 },
+    { 84, 177, 401408, 0, 84 },
+    { 92, 185, 401408, 0, 92 },
+    { 93, 188, 401408, 0, 93 },
+    { 94, 190, 401408, 0, 94 },
+    { 96, 193, 401408, 0, 96 },
+    { 97, 195, 401408, 0, 97 },
+    { 98, 197, 100352, 0, 98 },
+    { 99, 199, 100352, 0, 99 },
+    { 100, 201, 25088, 0, 100 },
+    { 101, 203, 25088, 0, 101 },
+    { 95, 198, 100352, 0, 95 },
+    { 102, 205, 100352, 0, 102 },
+    { 103, 207, 100352, 0, 103 },
+    { 104, 209, 100352, 0, 104 },
+    { 105, 211, 100352, 0, 105 },
+    { 106, 214, 100352, 0, 106 },
+    { 108, 217, 50176, 0, 108 },
+    { 109, 219, 50176, 0, 109 },
+    { 110, 221, 50176, 0, 110 },
+    { 111, 223, 50176, 0, 111 },
+    { 107, 220, 200704, 0, 107 },
+    { 112, 225, 200704, 0, 112 },
+    { 114, 229, 200704, 0, 114 },
+    { 115, 231, 200704, 0, 115 },
+    { 116, 233, 200704, 0, 116 },
+    { 117, 235, 50176, 0, 117 },
+    { 118, 237, 50176, 0, 118 },
+    { 119, 239, 50176, 0, 119 },
+    { 120, 241, 50176, 0, 120 },
+    { 113, 235, 200704, 0, 113 },
+    { 121, 243, 200704, 0, 121 },
+    { 123, 247, 200704, 0, 123 },
+    { 124, 249, 200704, 0, 124 },
+    { 125, 251, 200704, 0, 125 },
+    { 126, 253, 50176, 0, 126 },
+    { 127, 255, 50176, 0, 127 },
+    { 128, 257, 50176, 0, 128 },
+    { 129, 259, 50176, 0, 129 },
+    { 122, 253, 200704, 0, 122 },
+    { 130, 261, 200704, 0, 130 },
+    { 132, 265, 200704, 0, 132 },
+    { 133, 267, 200704, 0, 133 },
+    { 134, 269, 200704, 0, 134 },
+    { 135, 271, 50176, 0, 135 },
+    { 136, 273, 50176, 0, 136 },
+    { 137, 275, 50176, 0, 137 },
+    { 138, 277, 50176, 0, 138 },
+    { 131, 271, 200704, 0, 131 },
+    { 139, 279, 200704, 0, 139 },
+    { 141, 283, 200704, 0, 141 },
+    { 142, 285, 200704, 0, 142 },
+    { 143, 287, 200704, 0, 143 },
+    { 144, 289, 50176, 0, 144 },
+    { 145, 291, 50176, 0, 145 },
+    { 146, 293, 50176, 0, 146 },
+    { 147, 295, 50176, 0, 147 },
+    { 140, 289, 200704, 0, 140 },
+    { 148, 297, 200704, 0, 148 },
+    { 149, 300, 200704, 0, 149 },
+    { 150, 302, 200704, 0, 150 },
+    { 152, 305, 200704, 0, 152 },
+    { 153, 307, 200704, 0, 153 },
+    { 154, 309, 50176, 0, 154 },
+    { 155, 311, 50176, 0, 155 },
+    { 156, 313, 12544, 0, 156 },
+    { 157, 315, 12544, 0, 157 },
+    { 151, 310, 50176, 0, 151 },
+    { 158, 317, 50176, 0, 158 },
+    { 159, 319, 50176, 0, 159 },
+    { 160, 321, 50176, 0, 160 },
+    { 161, 323, 50176, 0, 161 },
+    { 162, 326, 50176, 0, 162 },
+    { 164, 329, 25088, 0, 164 },
+    { 165, 331, 25088, 0, 165 },
+    { 166, 333, 25088, 0, 166 },
+    { 167, 335, 25088, 0, 167 },
+    { 163, 332, 100352, 0, 163 },
+    { 168, 337, 100352, 0, 168 },
+    { 170, 341, 100352, 0, 170 },
+    { 171, 343, 100352, 0, 171 },
+    { 172, 345, 100352, 0, 172 },
+    { 173, 347, 25088, 0, 173 },
+    { 174, 349, 25088, 0, 174 },
+    { 175, 351, 25088, 0, 175 },
+    { 176, 353, 25088, 0, 176 },
+    { 169, 347, 100352, 0, 169 },
+    { 177, 355, 100352, 0, 177 },
+    { 179, 359, 100352, 0, 179 },
+    { 180, 361, 100352, 0, 180 },
+    { 181, 363, 100352, 0, 181 },
+    { 182, 365, 25088, 0, 182 },
+    { 183, 367, 25088, 0, 183 },
+    { 184, 369, 25088, 0, 184 },
+    { 185, 371, 25088, 0, 185 },
+    { 178, 365, 100352, 0, 178 },
+    { 186, 373, 100352, 0, 186 },
+    { 187, 375, 100352, 0, 187 },
+    { 188, 377, 100352, 0, 188 },
+    { 189, 379, 100352, 0, 189 },
+    { 190, 381, 100352, 0, 190 },
+    { 191, 383, 2048, 0, 191 },
+    { 192, 385, 1001, 0, 192 },
+    { 193, 387, 1001, 0, 193 },
+    { 194, 389, 1001, 0, 194 }
+
+};
+
+// Generated from yolov3_1080_1920_backbone_int8.tflite
+std::vector<armnn::MemBlock> yolov3
+{
+    { 0, 1, 24883200, 0, 0 },
+    { 1, 75, 6220800, 0, 1 },
+    { 74, 150, 66355200, 0, 74 },
+    { 75, 152, 66355200, 0, 75 },
+    { 76, 154, 66355200, 0, 76 },
+    { 77, 155, 66355200, 0, 77 },
+    { 78, 157, 66355200, 0, 78 },
+    { 79, 160, 33177600, 0, 79 },
+    { 80, 162, 33177600, 0, 80 },
+    { 81, 164, 33177600, 0, 81 },
+    { 82, 165, 33177600, 0, 82 },
+    { 84, 170, 16588800, 0, 84 },
+    { 85, 172, 16588800, 0, 85 },
+    { 86, 174, 16588800, 0, 86 },
+    { 87, 175, 16588800, 0, 87 },
+    { 88, 177, 16588800, 0, 88 },
+    { 89, 180, 33177600, 0, 89 },
+    { 90, 182, 33177600, 0, 90 },
+    { 91, 184, 33177600, 0, 91 },
+    { 92, 185, 33177600, 0, 92 },
+    { 93, 187, 33177600, 0, 93 },
+    { 83, 177, 33177600, 0, 83 },
+    { 94, 189, 33177600, 0, 94 },
+    { 95, 192, 16588800, 0, 95 },
+    { 96, 194, 16588800, 0, 96 },
+    { 97, 196, 16588800, 0, 97 },
+    { 98, 197, 16588800, 0, 98 },
+    { 100, 202, 8294400, 0, 100 },
+    { 101, 204, 8294400, 0, 101 },
+    { 102, 206, 8294400, 0, 102 },
+    { 103, 207, 8294400, 0, 103 },
+    { 104, 209, 8294400, 0, 104 },
+    { 105, 212, 16588800, 0, 105 },
+    { 106, 214, 16588800, 0, 106 },
+    { 107, 216, 16588800, 0, 107 },
+    { 108, 217, 16588800, 0, 108 },
+    { 109, 219, 16588800, 0, 109 },
+    { 99, 209, 16588800, 0, 99 },
+    { 111, 224, 8294400, 0, 111 },
+    { 112, 226, 8294400, 0, 112 },
+    { 113, 228, 8294400, 0, 113 },
+    { 114, 229, 8294400, 0, 114 },
+    { 115, 231, 8294400, 0, 115 },
+    { 116, 234, 16588800, 0, 116 },
+    { 117, 236, 16588800, 0, 117 },
+    { 118, 238, 16588800, 0, 118 },
+    { 119, 239, 16588800, 0, 119 },
+    { 120, 241, 16588800, 0, 120 },
+    { 110, 231, 16588800, 0, 110 },
+    { 121, 243, 16588800, 0, 121 },
+    { 122, 246, 8294400, 0, 122 },
+    { 123, 248, 8294400, 0, 123 },
+    { 124, 250, 8294400, 0, 124 },
+    { 125, 251, 8294400, 0, 125 },
+    { 127, 256, 4147200, 0, 127 },
+    { 128, 258, 4147200, 0, 128 },
+    { 129, 260, 4147200, 0, 129 },
+    { 130, 261, 4147200, 0, 130 },
+    { 131, 263, 4147200, 0, 131 },
+    { 132, 266, 8294400, 0, 132 },
+    { 133, 268, 8294400, 0, 133 },
+    { 134, 270, 8294400, 0, 134 },
+    { 135, 271, 8294400, 0, 135 },
+    { 136, 273, 8294400, 0, 136 },
+    { 126, 263, 8294400, 0, 126 },
+    { 138, 278, 4147200, 0, 138 },
+    { 139, 280, 4147200, 0, 139 },
+    { 140, 282, 4147200, 0, 140 },
+    { 141, 283, 4147200, 0, 141 },
+    { 142, 285, 4147200, 0, 142 },
+    { 143, 288, 8294400, 0, 143 },
+    { 144, 290, 8294400, 0, 144 },
+    { 145, 292, 8294400, 0, 145 },
+    { 146, 293, 8294400, 0, 146 },
+    { 147, 295, 8294400, 0, 147 },
+    { 137, 285, 8294400, 0, 137 },
+    { 149, 300, 4147200, 0, 149 },
+    { 150, 302, 4147200, 0, 150 },
+    { 151, 304, 4147200, 0, 151 },
+    { 152, 305, 4147200, 0, 152 },
+    { 153, 307, 4147200, 0, 153 },
+    { 154, 310, 8294400, 0, 154 },
+    { 155, 312, 8294400, 0, 155 },
+    { 156, 314, 8294400, 0, 156 },
+    { 157, 315, 8294400, 0, 157 },
+    { 158, 317, 8294400, 0, 158 },
+    { 148, 307, 8294400, 0, 148 },
+    { 160, 322, 4147200, 0, 160 },
+    { 161, 324, 4147200, 0, 161 },
+    { 162, 326, 4147200, 0, 162 },
+    { 163, 327, 4147200, 0, 163 },
+    { 164, 329, 4147200, 0, 164 },
+    { 165, 332, 8294400, 0, 165 },
+    { 166, 334, 8294400, 0, 166 },
+    { 167, 336, 8294400, 0, 167 },
+    { 168, 337, 8294400, 0, 168 },
+    { 169, 339, 8294400, 0, 169 },
+    { 159, 329, 8294400, 0, 159 },
+    { 171, 344, 4147200, 0, 171 },
+    { 172, 346, 4147200, 0, 172 },
+    { 173, 348, 4147200, 0, 173 },
+    { 174, 349, 4147200, 0, 174 },
+    { 175, 351, 4147200, 0, 175 },
+    { 176, 354, 8294400, 0, 176 },
+    { 177, 356, 8294400, 0, 177 },
+    { 178, 358, 8294400, 0, 178 },
+    { 179, 359, 8294400, 0, 179 },
+    { 180, 361, 8294400, 0, 180 },
+    { 170, 351, 8294400, 0, 170 },
+    { 182, 366, 4147200, 0, 182 },
+    { 183, 368, 4147200, 0, 183 },
+    { 184, 370, 4147200, 0, 184 },
+    { 185, 371, 4147200, 0, 185 },
+    { 186, 373, 4147200, 0, 186 },
+    { 187, 376, 8294400, 0, 187 },
+    { 188, 378, 8294400, 0, 188 },
+    { 189, 380, 8294400, 0, 189 },
+    { 190, 381, 8294400, 0, 190 },
+    { 191, 383, 8294400, 0, 191 },
+    { 181, 373, 8294400, 0, 181 },
+    { 193, 388, 4147200, 0, 193 },
+    { 194, 390, 4147200, 0, 194 },
+    { 195, 392, 4147200, 0, 195 },
+    { 196, 393, 4147200, 0, 196 },
+    { 197, 395, 4147200, 0, 197 },
+    { 198, 398, 8294400, 0, 198 },
+    { 199, 400, 8294400, 0, 199 },
+    { 200, 402, 8294400, 0, 200 },
+    { 201, 403, 8294400, 0, 201 },
+    { 202, 405, 8294400, 0, 202 },
+    { 192, 395, 8294400, 0, 192 },
+    { 204, 410, 4147200, 0, 204 },
+    { 205, 412, 4147200, 0, 205 },
+    { 206, 414, 4147200, 0, 206 },
+    { 207, 415, 4147200, 0, 207 },
+    { 208, 417, 4147200, 0, 208 },
+    { 209, 420, 8294400, 0, 209 },
+    { 210, 422, 8294400, 0, 210 },
+    { 211, 424, 8294400, 0, 211 },
+    { 212, 425, 8294400, 0, 212 },
+    { 213, 427, 8294400, 0, 213 },
+    { 203, 417, 8294400, 0, 203 },
+    { 214, 430, 8294400, 0, 214 },
+    { 215, 433, 4177920, 0, 215 },
+    { 217, 436, 4177920, 0, 217 },
+    { 218, 438, 4177920, 0, 218 },
+    { 219, 439, 4177920, 0, 219 },
+    { 221, 444, 2088960, 0, 221 },
+    { 222, 446, 2088960, 0, 222 },
+    { 223, 448, 2088960, 0, 223 },
+    { 224, 449, 2088960, 0, 224 },
+    { 225, 451, 2088960, 0, 225 },
+    { 226, 454, 4177920, 0, 226 },
+    { 227, 456, 4177920, 0, 227 },
+    { 228, 458, 4177920, 0, 228 },
+    { 229, 459, 4177920, 0, 229 },
+    { 230, 461, 4177920, 0, 230 },
+    { 220, 451, 4177920, 0, 220 },
+    { 232, 466, 2088960, 0, 232 },
+    { 233, 468, 2088960, 0, 233 },
+    { 234, 470, 2088960, 0, 234 },
+    { 235, 471, 2088960, 0, 235 },
+    { 236, 473, 2088960, 0, 236 },
+    { 237, 476, 4177920, 0, 237 },
+    { 238, 478, 4177920, 0, 238 },
+    { 239, 480, 4177920, 0, 239 },
+    { 240, 481, 4177920, 0, 240 },
+    { 241, 483, 4177920, 0, 241 },
+    { 231, 473, 4177920, 0, 231 },
+    { 243, 488, 2088960, 0, 243 },
+    { 244, 490, 2088960, 0, 244 },
+    { 245, 492, 2088960, 0, 245 },
+    { 246, 493, 2088960, 0, 246 },
+    { 247, 495, 2088960, 0, 247 },
+    { 248, 498, 4177920, 0, 248 },
+    { 249, 500, 4177920, 0, 249 },
+    { 250, 502, 4177920, 0, 250 },
+    { 251, 503, 4177920, 0, 251 },
+    { 252, 505, 4177920, 0, 252 },
+    { 242, 495, 4177920, 0, 242 },
+    { 254, 510, 2088960, 0, 254 },
+    { 255, 512, 2088960, 0, 255 },
+    { 256, 514, 2088960, 0, 256 },
+    { 257, 515, 2088960, 0, 257 },
+    { 258, 517, 2088960, 0, 258 },
+    { 259, 520, 4177920, 0, 259 },
+    { 260, 522, 4177920, 0, 260 },
+    { 261, 524, 4177920, 0, 261 },
+    { 262, 525, 4177920, 0, 262 },
+    { 263, 527, 4177920, 0, 263 },
+    { 253, 517, 4177920, 0, 253 },
+    { 265, 532, 2088960, 0, 265 },
+    { 266, 534, 2088960, 0, 266 },
+    { 267, 536, 2088960, 0, 267 },
+    { 268, 537, 2088960, 0, 268 },
+    { 269, 539, 2088960, 0, 269 },
+    { 270, 542, 4177920, 0, 270 },
+    { 271, 544, 4177920, 0, 271 },
+    { 272, 546, 4177920, 0, 272 },
+    { 273, 547, 4177920, 0, 273 },
+    { 274, 549, 4177920, 0, 274 },
+    { 264, 539, 4177920, 0, 264 },
+    { 276, 554, 2088960, 0, 276 },
+    { 277, 556, 2088960, 0, 277 },
+    { 278, 558, 2088960, 0, 278 },
+    { 279, 559, 2088960, 0, 279 },
+    { 280, 561, 2088960, 0, 280 },
+    { 281, 564, 4177920, 0, 281 },
+    { 282, 566, 4177920, 0, 282 },
+    { 283, 568, 4177920, 0, 283 },
+    { 284, 569, 4177920, 0, 284 },
+    { 285, 571, 4177920, 0, 285 },
+    { 275, 561, 4177920, 0, 275 },
+    { 287, 576, 2088960, 0, 287 },
+    { 288, 578, 2088960, 0, 288 },
+    { 289, 580, 2088960, 0, 289 },
+    { 290, 581, 2088960, 0, 290 },
+    { 291, 583, 2088960, 0, 291 },
+    { 292, 586, 4177920, 0, 292 },
+    { 293, 588, 4177920, 0, 293 },
+    { 294, 590, 4177920, 0, 294 },
+    { 295, 591, 4177920, 0, 295 },
+    { 296, 593, 4177920, 0, 296 },
+    { 286, 583, 4177920, 0, 286 },
+    { 298, 598, 2088960, 0, 298 },
+    { 299, 600, 2088960, 0, 299 },
+    { 300, 602, 2088960, 0, 300 },
+    { 301, 603, 2088960, 0, 301 },
+    { 302, 605, 2088960, 0, 302 },
+    { 303, 608, 4177920, 0, 303 },
+    { 304, 610, 4177920, 0, 304 },
+    { 305, 612, 4177920, 0, 305 },
+    { 306, 613, 4177920, 0, 306 },
+    { 307, 615, 4177920, 0, 307 },
+    { 297, 605, 4177920, 0, 297 },
+    { 309, 620, 2088960, 0, 309 },
+    { 310, 622, 2088960, 0, 310 },
+    { 311, 624, 2088960, 0, 311 },
+    { 312, 625, 2088960, 0, 312 },
+    { 314, 630, 1044480, 0, 314 },
+    { 315, 632, 1044480, 0, 315 },
+    { 316, 634, 1044480, 0, 316 },
+    { 317, 635, 1044480, 0, 317 },
+    { 318, 637, 1044480, 0, 318 },
+    { 319, 640, 2088960, 0, 319 },
+    { 320, 642, 2088960, 0, 320 },
+    { 321, 644, 2088960, 0, 321 },
+    { 322, 645, 2088960, 0, 322 },
+    { 323, 647, 2088960, 0, 323 },
+    { 313, 637, 2088960, 0, 313 },
+    { 325, 652, 1044480, 0, 325 },
+    { 326, 654, 1044480, 0, 326 },
+    { 327, 656, 1044480, 0, 327 },
+    { 328, 657, 1044480, 0, 328 },
+    { 329, 659, 1044480, 0, 329 },
+    { 330, 662, 2088960, 0, 330 },
+    { 331, 664, 2088960, 0, 331 },
+    { 332, 666, 2088960, 0, 332 },
+    { 333, 667, 2088960, 0, 333 },
+    { 334, 669, 2088960, 0, 334 },
+    { 324, 659, 2088960, 0, 324 },
+    { 336, 674, 1044480, 0, 336 },
+    { 337, 676, 1044480, 0, 337 },
+    { 338, 678, 1044480, 0, 338 },
+    { 339, 679, 1044480, 0, 339 },
+    { 340, 681, 1044480, 0, 340 },
+    { 341, 684, 2088960, 0, 341 },
+    { 342, 686, 2088960, 0, 342 },
+    { 343, 688, 2088960, 0, 343 },
+    { 344, 689, 2088960, 0, 344 },
+    { 345, 691, 2088960, 0, 345 },
+    { 335, 681, 2088960, 0, 335 },
+    { 347, 696, 1044480, 0, 347 },
+    { 348, 698, 1044480, 0, 348 },
+    { 349, 700, 1044480, 0, 349 },
+    { 350, 701, 1044480, 0, 350 },
+    { 351, 703, 1044480, 0, 351 },
+    { 352, 706, 2088960, 0, 352 },
+    { 353, 708, 2088960, 0, 353 },
+    { 354, 710, 2088960, 0, 354 },
+    { 355, 711, 2088960, 0, 355 },
+    { 356, 713, 2088960, 0, 356 },
+    { 346, 703, 2088960, 0, 346 },
+    { 357, 715, 2088960, 0, 357 },
+    { 358, 718, 1044480, 0, 358 },
+    { 359, 720, 1044480, 0, 359 },
+    { 360, 722, 1044480, 0, 360 },
+    { 361, 723, 1044480, 0, 361 },
+    { 362, 725, 1044480, 0, 362 },
+    { 363, 728, 2088960, 0, 363 },
+    { 364, 730, 2088960, 0, 364 },
+    { 365, 732, 2088960, 0, 365 },
+    { 366, 733, 2088960, 0, 366 },
+    { 367, 735, 2088960, 0, 367 },
+    { 368, 738, 1044480, 0, 368 },
+    { 369, 740, 1044480, 0, 369 },
+    { 370, 742, 1044480, 0, 370 },
+    { 371, 743, 1044480, 0, 371 },
+    { 372, 745, 1044480, 0, 372 },
+    { 373, 748, 2088960, 0, 373 },
+    { 374, 750, 2088960, 0, 374 },
+    { 375, 752, 2088960, 0, 375 },
+    { 376, 753, 2088960, 0, 376 },
+    { 377, 755, 2088960, 0, 377 },
+    { 378, 758, 1044480, 0, 378 },
+    { 379, 760, 1044480, 0, 379 },
+    { 380, 762, 1044480, 0, 380 },
+    { 381, 763, 1044480, 0, 381 },
+    { 382, 766, 1044480, 0, 382 },
+    { 383, 770, 2088960, 0, 383 },
+    { 384, 772, 522240, 0, 384 },
+    { 385, 774, 2088960, 0, 385 },
+    { 386, 776, 522240, 0, 386 },
+    { 387, 778, 2088960, 0, 387 },
+    { 389, 780, 2088960, 0, 389 },
+    { 388, 780, 522240, 0, 388 },
+    { 390, 782, 522240, 0, 390 },
+    { 391, 784, 2088960, 0, 391 },
+    { 392, 786, 522240, 0, 392 },
+    { 394, 789, 2088960, 0, 394 },
+    { 393, 789, 520200, 0, 393 },
+    { 395, 792, 2088960, 0, 395 },
+    { 308, 705, 4177920, 0, 308 },
+    { 397, 795, 6266880, 0, 397 },
+    { 398, 798, 2088960, 0, 398 },
+    { 399, 800, 2088960, 0, 399 },
+    { 400, 802, 2088960, 0, 400 },
+    { 401, 803, 2088960, 0, 401 },
+    { 402, 805, 2088960, 0, 402 },
+    { 403, 808, 4177920, 0, 403 },
+    { 404, 810, 4177920, 0, 404 },
+    { 405, 812, 4177920, 0, 405 },
+    { 406, 813, 4177920, 0, 406 },
+    { 407, 815, 4177920, 0, 407 },
+    { 408, 818, 2088960, 0, 408 },
+    { 409, 820, 2088960, 0, 409 },
+    { 410, 822, 2088960, 0, 410 },
+    { 411, 823, 2088960, 0, 411 },
+    { 412, 825, 2088960, 0, 412 },
+    { 413, 828, 4177920, 0, 413 },
+    { 414, 830, 4177920, 0, 414 },
+    { 415, 832, 4177920, 0, 415 },
+    { 416, 833, 4177920, 0, 416 },
+    { 417, 835, 4177920, 0, 417 },
+    { 418, 838, 2088960, 0, 418 },
+    { 419, 840, 2088960, 0, 419 },
+    { 420, 842, 2088960, 0, 420 },
+    { 421, 843, 2088960, 0, 421 },
+    { 422, 846, 2088960, 0, 422 },
+    { 423, 850, 4177920, 0, 423 },
+    { 424, 852, 1044480, 0, 424 },
+    { 425, 854, 4177920, 0, 425 },
+    { 426, 856, 1044480, 0, 426 },
+    { 427, 858, 4177920, 0, 427 },
+    { 429, 860, 4177920, 0, 429 },
+    { 428, 860, 1044480, 0, 428 },
+    { 430, 862, 1044480, 0, 430 },
+    { 431, 864, 4177920, 0, 431 },
+    { 432, 866, 1044480, 0, 432 },
+    { 434, 869, 4147200, 0, 434 },
+    { 433, 869, 2080800, 0, 433 },
+    { 435, 872, 4147200, 0, 435 },
+    { 216, 653, 8294400, 0, 216 },
+    { 437, 875, 12441600, 0, 437 },
+    { 438, 878, 4147200, 0, 438 },
+    { 439, 880, 4147200, 0, 439 },
+    { 440, 882, 4147200, 0, 440 },
+    { 441, 883, 4147200, 0, 441 },
+    { 442, 885, 4147200, 0, 442 },
+    { 443, 888, 8294400, 0, 443 },
+    { 444, 890, 8294400, 0, 444 },
+    { 445, 892, 8294400, 0, 445 },
+    { 446, 893, 8294400, 0, 446 },
+    { 447, 895, 8294400, 0, 447 },
+    { 448, 898, 4147200, 0, 448 },
+    { 449, 900, 4147200, 0, 449 },
+    { 450, 902, 4147200, 0, 450 },
+    { 451, 903, 4147200, 0, 451 },
+    { 452, 905, 4147200, 0, 452 },
+    { 453, 908, 8294400, 0, 453 },
+    { 454, 910, 8294400, 0, 454 },
+    { 455, 912, 8294400, 0, 455 },
+    { 456, 913, 8294400, 0, 456 },
+    { 457, 915, 8294400, 0, 457 },
+    { 458, 918, 4147200, 0, 458 },
+    { 459, 920, 4147200, 0, 459 },
+    { 460, 922, 4147200, 0, 460 },
+    { 461, 923, 4147200, 0, 461 },
+    { 462, 925, 4147200, 0, 462 },
+    { 463, 928, 8294400, 0, 463 },
+    { 464, 930, 8294400, 0, 464 },
+    { 465, 932, 8294400, 0, 465 },
+    { 466, 933, 8294400, 0, 466 },
+    { 467, 935, 8294400, 0, 467 },
+    { 468, 937, 8262000, 0, 468 },
+    { 396, 866, 2080800, 0, 396 },
+    { 436, 907, 8323200, 0, 436 },
+    { 469, 941, 33048000, 0, 469 }
+};
+
+// Generated from deeplabv3_257_mv_gpu.tflite
+std::vector<armnn::MemBlock> deeplabv3
+{
+    { 0, 3, 31616, 0, 0 },
+    { 3, 39, 31616, 0, 3 },
+    { 36, 73, 131072, 0, 36 },
+    { 37, 75, 131072, 0, 37 },
+    { 38, 77, 131072, 0, 38 },
+    { 39, 79, 131072, 0, 39 },
+    { 40, 81, 131072, 0, 40 },
+    { 41, 83, 131072, 0, 41 },
+    { 42, 85, 131072, 0, 42 },
+    { 43, 87, 131072, 0, 43 },
+    { 44, 89, 131072, 0, 44 },
+    { 45, 91, 131072, 0, 45 },
+    { 46, 93, 8192, 0, 46 },
+    { 46, 94, 8192, 0, 47 },
+    { 46, 95, 8192, 0, 48 },
+    { 46, 96, 8192, 0, 49 },
+    { 46, 97, 8192, 0, 50 },
+    { 46, 98, 8192, 0, 51 },
+    { 46, 99, 8192, 0, 52 },
+    { 46, 100, 8192, 0, 53 },
+    { 46, 101, 8192, 0, 54 },
+    { 46, 102, 8192, 0, 55 },
+    { 46, 103, 8192, 0, 56 },
+    { 46, 104, 8192, 0, 57 },
+    { 46, 105, 8192, 0, 58 },
+    { 46, 106, 8192, 0, 59 },
+    { 46, 107, 8192, 0, 60 },
+    { 46, 108, 8192, 0, 61 },
+    { 47, 110, 8192, 0, 62 },
+    { 1, 64, 8192, 0, 1 },
+    { 63, 127, 16384, 0, 78 },
+    { 64, 129, 32768, 0, 79 },
+    { 65, 131, 8192, 0, 82 },
+    { 65, 132, 8192, 0, 80 },
+    { 65, 133, 8192, 0, 81 },
+    { 65, 134, 8192, 0, 83 },
+    { 66, 136, 8192, 0, 84 },
+    { 67, 138, 8192, 0, 85 },
+    { 68, 139, 8192, 0, 86 },
+    { 70, 142, 8192, 0, 88 },
+    { 2, 74, 8192, 0, 2 },
+    { 72, 145, 8192, 0, 90 },
+    { 71, 144, 8192, 0, 89 },
+    { 69, 144, 8192, 0, 87 },
+    { 74, 149, 8192, 0, 92 },
+    { 48, 124, 8192, 0, 63 },
+    { 76, 153, 16384, 0, 94 },
+    { 77, 155, 32768, 0, 95 },
+    { 78, 157, 8192, 0, 98 },
+    { 78, 158, 8192, 0, 96 },
+    { 78, 159, 8192, 0, 97 },
+    { 78, 160, 8192, 0, 99 },
+    { 79, 162, 8192, 0, 100 },
+    { 80, 164, 8192, 0, 101 },
+    { 81, 165, 8192, 0, 102 },
+    { 83, 168, 8192, 0, 104 },
+    { 73, 158, 8192, 0, 91 },
+    { 85, 171, 8192, 0, 106 },
+    { 84, 170, 8192, 0, 105 },
+    { 82, 170, 8192, 0, 103 },
+    { 87, 175, 8192, 0, 108 },
+    { 49, 138, 8192, 0, 64 },
+    { 89, 179, 16384, 0, 110 },
+    { 90, 181, 32768, 0, 111 },
+    { 91, 183, 8192, 0, 114 },
+    { 91, 184, 8192, 0, 112 },
+    { 91, 185, 8192, 0, 113 },
+    { 91, 186, 8192, 0, 115 },
+    { 92, 188, 8192, 0, 116 },
+    { 93, 190, 8192, 0, 117 },
+    { 94, 191, 8192, 0, 118 },
+    { 96, 194, 8192, 0, 120 },
+    { 86, 184, 8192, 0, 107 },
+    { 98, 197, 8192, 0, 122 },
+    { 97, 196, 8192, 0, 121 },
+    { 95, 196, 8192, 0, 119 },
+    { 100, 201, 8192, 0, 124 },
+    { 50, 152, 8192, 0, 65 },
+    { 102, 205, 16384, 0, 126 },
+    { 103, 207, 32768, 0, 127 },
+    { 104, 209, 8192, 0, 130 },
+    { 104, 210, 8192, 0, 128 },
+    { 104, 211, 8192, 0, 129 },
+    { 104, 212, 8192, 0, 131 },
+    { 105, 214, 8192, 0, 132 },
+    { 106, 216, 8192, 0, 133 },
+    { 107, 217, 8192, 0, 134 },
+    { 109, 220, 8192, 0, 136 },
+    { 99, 210, 8192, 0, 123 },
+    { 111, 223, 8192, 0, 138 },
+    { 110, 222, 8192, 0, 137 },
+    { 108, 222, 8192, 0, 135 },
+    { 113, 227, 8192, 0, 140 },
+    { 51, 166, 8192, 0, 66 },
+    { 115, 231, 16384, 0, 142 },
+    { 116, 233, 32768, 0, 143 },
+    { 117, 235, 8192, 0, 146 },
+    { 117, 236, 8192, 0, 144 },
+    { 117, 237, 8192, 0, 145 },
+    { 117, 238, 8192, 0, 147 },
+    { 118, 240, 8192, 0, 148 },
+    { 119, 242, 8192, 0, 149 },
+    { 120, 243, 8192, 0, 150 },
+    { 122, 246, 8192, 0, 152 },
+    { 112, 236, 8192, 0, 139 },
+    { 124, 249, 8192, 0, 154 },
+    { 123, 248, 8192, 0, 153 },
+    { 121, 248, 8192, 0, 151 },
+    { 126, 253, 8192, 0, 156 },
+    { 52, 180, 8192, 0, 67 },
+    { 128, 257, 16384, 0, 158 },
+    { 129, 259, 32768, 0, 159 },
+    { 130, 261, 8192, 0, 162 },
+    { 130, 262, 8192, 0, 160 },
+    { 130, 263, 8192, 0, 161 },
+    { 130, 264, 8192, 0, 163 },
+    { 131, 266, 8192, 0, 164 },
+    { 132, 268, 8192, 0, 165 },
+    { 133, 269, 8192, 0, 166 },
+    { 135, 272, 8192, 0, 168 },
+    { 125, 262, 8192, 0, 155 },
+    { 137, 275, 8192, 0, 170 },
+    { 136, 274, 8192, 0, 169 },
+    { 134, 274, 8192, 0, 167 },
+    { 139, 279, 8192, 0, 172 },
+    { 53, 194, 8192, 0, 68 },
+    { 141, 283, 16384, 0, 174 },
+    { 142, 285, 32768, 0, 175 },
+    { 143, 287, 8192, 0, 178 },
+    { 143, 288, 8192, 0, 176 },
+    { 143, 289, 8192, 0, 177 },
+    { 143, 290, 8192, 0, 179 },
+    { 144, 292, 8192, 0, 180 },
+    { 145, 294, 8192, 0, 181 },
+    { 146, 295, 8192, 0, 182 },
+    { 148, 298, 8192, 0, 184 },
+    { 138, 288, 8192, 0, 171 },
+    { 150, 301, 8192, 0, 186 },
+    { 149, 300, 8192, 0, 185 },
+    { 147, 300, 8192, 0, 183 },
+    { 152, 305, 8192, 0, 188 },
+    { 54, 208, 8192, 0, 69 },
+    { 154, 309, 16384, 0, 190 },
+    { 155, 311, 32768, 0, 191 },
+    { 156, 313, 8192, 0, 194 },
+    { 156, 314, 8192, 0, 192 },
+    { 156, 315, 8192, 0, 193 },
+    { 156, 316, 8192, 0, 195 },
+    { 157, 318, 8192, 0, 196 },
+    { 158, 320, 8192, 0, 197 },
+    { 159, 321, 8192, 0, 198 },
+    { 161, 324, 8192, 0, 200 },
+    { 151, 314, 8192, 0, 187 },
+    { 163, 327, 8192, 0, 202 },
+    { 162, 326, 8192, 0, 201 },
+    { 160, 326, 8192, 0, 199 },
+    { 165, 331, 8192, 0, 204 },
+    { 55, 222, 8192, 0, 70 },
+    { 167, 335, 16384, 0, 206 },
+    { 168, 337, 32768, 0, 207 },
+    { 169, 339, 8192, 0, 210 },
+    { 169, 340, 8192, 0, 208 },
+    { 169, 341, 8192, 0, 209 },
+    { 169, 342, 8192, 0, 211 },
+    { 170, 344, 8192, 0, 212 },
+    { 171, 346, 8192, 0, 213 },
+    { 172, 347, 8192, 0, 214 },
+    { 174, 350, 8192, 0, 216 },
+    { 164, 340, 8192, 0, 203 },
+    { 176, 353, 8192, 0, 218 },
+    { 175, 352, 8192, 0, 217 },
+    { 173, 352, 8192, 0, 215 },
+    { 178, 357, 8192, 0, 220 },
+    { 56, 236, 8192, 0, 71 },
+    { 180, 361, 16384, 0, 222 },
+    { 181, 363, 32768, 0, 223 },
+    { 182, 365, 8192, 0, 226 },
+    { 182, 366, 8192, 0, 224 },
+    { 182, 367, 8192, 0, 225 },
+    { 182, 368, 8192, 0, 227 },
+    { 183, 370, 8192, 0, 228 },
+    { 184, 372, 8192, 0, 229 },
+    { 185, 373, 8192, 0, 230 },
+    { 187, 376, 8192, 0, 232 },
+    { 177, 366, 8192, 0, 219 },
+    { 189, 379, 8192, 0, 234 },
+    { 188, 378, 8192, 0, 233 },
+    { 186, 378, 8192, 0, 231 },
+    { 191, 383, 8192, 0, 236 },
+    { 57, 250, 8192, 0, 72 },
+    { 193, 387, 16384, 0, 238 },
+    { 194, 389, 32768, 0, 239 },
+    { 195, 391, 8192, 0, 242 },
+    { 195, 392, 8192, 0, 240 },
+    { 195, 393, 8192, 0, 241 },
+    { 195, 394, 8192, 0, 243 },
+    { 196, 396, 8192, 0, 244 },
+    { 197, 398, 8192, 0, 245 },
+    { 198, 399, 8192, 0, 246 },
+    { 200, 402, 8192, 0, 248 },
+    { 190, 392, 8192, 0, 235 },
+    { 202, 405, 8192, 0, 250 },
+    { 201, 404, 8192, 0, 249 },
+    { 199, 404, 8192, 0, 247 },
+    { 204, 409, 8192, 0, 252 },
+    { 58, 264, 8192, 0, 73 },
+    { 206, 413, 16384, 0, 254 },
+    { 207, 415, 32768, 0, 255 },
+    { 208, 417, 8192, 0, 258 },
+    { 208, 418, 8192, 0, 256 },
+    { 208, 419, 8192, 0, 257 },
+    { 208, 420, 8192, 0, 259 },
+    { 209, 422, 8192, 0, 260 },
+    { 210, 424, 8192, 0, 261 },
+    { 211, 425, 8192, 0, 262 },
+    { 213, 428, 8192, 0, 264 },
+    { 203, 418, 8192, 0, 251 },
+    { 215, 431, 8192, 0, 266 },
+    { 214, 430, 8192, 0, 265 },
+    { 212, 430, 8192, 0, 263 },
+    { 217, 435, 8192, 0, 268 },
+    { 59, 278, 8192, 0, 74 },
+    { 219, 439, 16384, 0, 270 },
+    { 220, 441, 32768, 0, 271 },
+    { 221, 443, 8192, 0, 274 },
+    { 221, 444, 8192, 0, 272 },
+    { 221, 445, 8192, 0, 273 },
+    { 221, 446, 8192, 0, 275 },
+    { 222, 448, 8192, 0, 276 },
+    { 223, 450, 8192, 0, 277 },
+    { 224, 451, 8192, 0, 278 },
+    { 226, 454, 8192, 0, 280 },
+    { 216, 444, 8192, 0, 267 },
+    { 228, 457, 8192, 0, 282 },
+    { 227, 456, 8192, 0, 281 },
+    { 225, 456, 8192, 0, 279 },
+    { 230, 461, 8192, 0, 284 },
+    { 60, 292, 8192, 0, 75 },
+    { 232, 465, 16384, 0, 286 },
+    { 233, 467, 32768, 0, 287 },
+    { 234, 469, 8192, 0, 290 },
+    { 234, 470, 8192, 0, 288 },
+    { 234, 471, 8192, 0, 289 },
+    { 234, 472, 8192, 0, 291 },
+    { 235, 474, 8192, 0, 292 },
+    { 236, 476, 8192, 0, 293 },
+    { 237, 477, 8192, 0, 294 },
+    { 239, 480, 8192, 0, 296 },
+    { 229, 470, 8192, 0, 283 },
+    { 241, 483, 8192, 0, 298 },
+    { 240, 482, 8192, 0, 297 },
+    { 238, 482, 8192, 0, 295 },
+    { 243, 487, 8192, 0, 300 },
+    { 61, 306, 8192, 0, 76 },
+    { 245, 491, 16384, 0, 302 },
+    { 246, 493, 32768, 0, 303 },
+    { 247, 495, 8192, 0, 306 },
+    { 247, 496, 8192, 0, 304 },
+    { 247, 497, 8192, 0, 305 },
+    { 247, 498, 8192, 0, 307 },
+    { 248, 500, 8192, 0, 308 },
+    { 249, 502, 8192, 0, 309 },
+    { 250, 503, 8192, 0, 310 },
+    { 252, 506, 8192, 0, 312 },
+    { 242, 496, 8192, 0, 299 },
+    { 254, 509, 8192, 0, 314 },
+    { 253, 508, 8192, 0, 313 },
+    { 251, 508, 8192, 0, 311 },
+    { 256, 513, 8192, 0, 316 },
+    { 62, 320, 8192, 0, 77 },
+    { 258, 517, 16384, 0, 318 },
+    { 259, 519, 32768, 0, 319 },
+    { 260, 521, 8192, 0, 322 },
+    { 260, 522, 8192, 0, 320 },
+    { 260, 523, 8192, 0, 321 },
+    { 260, 524, 8192, 0, 323 },
+    { 261, 526, 8192, 0, 324 },
+    { 262, 528, 8192, 0, 325 },
+    { 263, 529, 8192, 0, 326 },
+    { 265, 532, 8192, 0, 328 },
+    { 255, 522, 8192, 0, 315 },
+    { 267, 535, 8192, 0, 330 },
+    { 266, 534, 8192, 0, 329 },
+    { 264, 534, 8192, 0, 327 },
+    { 269, 539, 8192, 0, 332 },
+    { 75, 346, 8192, 0, 93 },
+    { 88, 359, 8192, 0, 109 },
+    { 101, 372, 8192, 0, 125 },
+    { 114, 385, 8192, 0, 141 },
+    { 127, 398, 8192, 0, 157 },
+    { 140, 411, 8192, 0, 173 },
+    { 153, 424, 8192, 0, 189 },
+    { 166, 437, 8192, 0, 205 },
+    { 179, 450, 8192, 0, 221 },
+    { 192, 463, 8192, 0, 237 },
+    { 205, 476, 8192, 0, 253 },
+    { 218, 489, 8192, 0, 269 },
+    { 231, 502, 8192, 0, 285 },
+    { 244, 515, 8192, 0, 301 },
+    { 257, 528, 8192, 0, 317 },
+    { 271, 543, 131072, 0, 334 },
+    { 272, 545, 131072, 0, 335 },
+    { 273, 547, 131072, 0, 336 },
+    { 274, 549, 131072, 0, 337 },
+    { 275, 551, 1856, 0, 338 },
+    { 276, 553, 1856, 0, 339 },
+    { 270, 548, 8192, 0, 333 },
+    { 268, 547, 8192, 0, 331 }
+};
+
+// Generated from ssd_mobilenet_v2_int8.tflite
+std::vector<armnn::MemBlock> ssd_mobilenetv2
+{
+    { 0, 1, 1080000, 0, 0 },
+    { 1, 3, 270000, 0, 1 },
+    { 2, 5, 720000, 0, 2 },
+    { 3, 7, 720000, 0, 3 },
+    { 4, 9, 720000, 0, 4 },
+    { 5, 11, 720000, 0, 5 },
+    { 6, 13, 360000, 0, 6 },
+    { 7, 15, 2160000, 0, 7 },
+    { 8, 17, 2160000, 0, 8 },
+    { 9, 19, 540000, 0, 9 },
+    { 10, 21, 540000, 0, 10 },
+    { 12, 25, 810000, 0, 12 },
+    { 13, 27, 810000, 0, 13 },
+    { 14, 29, 810000, 0, 14 },
+    { 15, 31, 810000, 0, 15 },
+    { 11, 28, 135000, 0, 11 },
+    { 16, 33, 135000, 0, 16 },
+    { 17, 35, 135000, 0, 17 },
+    { 18, 37, 810000, 0, 18 },
+    { 19, 39, 810000, 0, 19 },
+    { 20, 41, 207936, 0, 20 },
+    { 21, 43, 207936, 0, 21 },
+    { 23, 47, 277248, 0, 23 },
+    { 24, 49, 277248, 0, 24 },
+    { 25, 51, 277248, 0, 25 },
+    { 26, 53, 277248, 0, 26 },
+    { 22, 50, 46208, 0, 22 },
+    { 27, 55, 46208, 0, 27 },
+    { 29, 59, 277248, 0, 29 },
+    { 30, 61, 277248, 0, 30 },
+    { 31, 63, 277248, 0, 31 },
+    { 32, 65, 277248, 0, 32 },
+    { 28, 62, 46208, 0, 28 },
+    { 33, 67, 46208, 0, 33 },
+    { 34, 69, 46208, 0, 34 },
+    { 35, 71, 277248, 0, 35 },
+    { 36, 73, 277248, 0, 36 },
+    { 37, 75, 69312, 0, 37 },
+    { 38, 77, 69312, 0, 38 },
+    { 40, 81, 138624, 0, 40 },
+    { 41, 83, 138624, 0, 41 },
+    { 42, 85, 138624, 0, 42 },
+    { 43, 87, 138624, 0, 43 },
+    { 39, 84, 23104, 0, 39 },
+    { 44, 89, 23104, 0, 44 },
+    { 46, 93, 138624, 0, 46 },
+    { 47, 95, 138624, 0, 47 },
+    { 48, 97, 138624, 0, 48 },
+    { 49, 99, 138624, 0, 49 },
+    { 45, 96, 23104, 0, 45 },
+    { 50, 101, 23104, 0, 50 },
+    { 52, 105, 138624, 0, 52 },
+    { 53, 107, 138624, 0, 53 },
+    { 54, 109, 138624, 0, 54 },
+    { 55, 111, 138624, 0, 55 },
+    { 51, 108, 23104, 0, 51 },
+    { 56, 113, 23104, 0, 56 },
+    { 57, 115, 23104, 0, 57 },
+    { 58, 117, 138624, 0, 58 },
+    { 59, 119, 138624, 0, 59 },
+    { 60, 121, 138624, 0, 60 },
+    { 61, 123, 138624, 0, 61 },
+    { 63, 127, 207936, 0, 63 },
+    { 64, 129, 207936, 0, 64 },
+    { 65, 131, 207936, 0, 65 },
+    { 66, 133, 207936, 0, 66 },
+    { 62, 130, 34656, 0, 62 },
+    { 67, 135, 34656, 0, 67 },
+    { 69, 139, 207936, 0, 69 },
+    { 70, 141, 207936, 0, 70 },
+    { 71, 143, 207936, 0, 71 },
+    { 72, 145, 207936, 0, 72 },
+    { 68, 142, 34656, 0, 68 },
+    { 73, 147, 34656, 0, 73 },
+    { 74, 149, 34656, 0, 74 },
+    { 75, 151, 207936, 0, 75 },
+    { 76, 155, 207936, 0, 76 },
+    { 77, 157, 4332, 0, 77 },
+    { 78, 159, 98553, 0, 78 },
+    { 79, 161, 57600, 0, 79 },
+    { 82, 165, 57600, 0, 82 },
+    { 84, 169, 96000, 0, 84 },
+    { 85, 171, 96000, 0, 85 },
+    { 86, 173, 96000, 0, 86 },
+    { 87, 175, 96000, 0, 87 },
+    { 83, 172, 16000, 0, 83 },
+    { 88, 177, 16000, 0, 88 },
+    { 90, 181, 96000, 0, 90 },
+    { 91, 183, 96000, 0, 91 },
+    { 92, 185, 96000, 0, 92 },
+    { 93, 187, 96000, 0, 93 },
+    { 89, 184, 16000, 0, 89 },
+    { 94, 189, 16000, 0, 94 },
+    { 95, 191, 16000, 0, 95 },
+    { 96, 193, 96000, 0, 96 },
+    { 97, 195, 96000, 0, 97 },
+    { 98, 197, 96000, 0, 98 },
+    { 99, 199, 96000, 0, 99 },
+    { 100, 201, 32000, 0, 100 },
+    { 101, 203, 128000, 0, 101 },
+    { 102, 207, 128000, 0, 102 },
+    { 103, 209, 2400, 0, 103 },
+    { 104, 211, 54600, 0, 104 },
+    { 105, 213, 25600, 0, 105 },
+    { 108, 217, 25600, 0, 108 },
+    { 106, 216, 2400, 0, 106 },
+    { 107, 218, 54600, 0, 107 },
+    { 109, 221, 12800, 0, 109 },
+    { 112, 227, 12800, 0, 112 },
+    { 113, 229, 600, 0, 113 },
+    { 114, 231, 13650, 0, 114 },
+    { 115, 233, 3200, 0, 115 },
+    { 118, 237, 3200, 0, 118 },
+    { 116, 236, 600, 0, 116 },
+    { 117, 238, 13650, 0, 117 },
+    { 119, 241, 2304, 0, 119 },
+    { 122, 247, 2304, 0, 122 },
+    { 123, 249, 216, 0, 123 },
+    { 124, 251, 4914, 0, 124 },
+    { 125, 253, 1152, 0, 125 },
+    { 128, 257, 1152, 0, 128 },
+    { 126, 256, 216, 0, 126 },
+    { 127, 258, 4914, 0, 127 },
+    { 129, 261, 1024, 0, 129 },
+    { 132, 267, 1024, 0, 132 },
+    { 133, 269, 96, 0, 133 },
+    { 134, 271, 2184, 0, 134 },
+    { 135, 273, 256, 0, 135 },
+    { 138, 277, 256, 0, 138 },
+    { 136, 276, 96, 0, 136 },
+    { 137, 278, 2184, 0, 137 },
+    { 139, 281, 128, 0, 139 },
+    { 142, 286, 128, 0, 142 },
+    { 143, 288, 24, 0, 143 },
+    { 144, 290, 546, 0, 144 },
+    { 145, 292, 24, 0, 145 },
+    { 146, 294, 546, 0, 146 },
+    { 80, 229, 4332, 0, 80 },
+    { 110, 259, 2400, 0, 110 },
+    { 120, 269, 600, 0, 120 },
+    { 130, 279, 216, 0, 130 },
+    { 140, 289, 96, 0, 140 },
+    { 147, 296, 24, 0, 147 },
+    { 81, 231, 98553, 0, 81 },
+    { 111, 261, 54600, 0, 111 },
+    { 121, 271, 13650, 0, 121 },
+    { 131, 281, 4914, 0, 131 },
+    { 141, 291, 2184, 0, 141 },
+    { 148, 298, 546, 0, 148 },
+    { 149, 300, 7668, 0, 149 },
+    { 150, 302, 174447, 0, 150 },
+    { 151, 304, 7668, 0, 151 },
+    { 152, 306, 174447, 0, 152 },
+    { 153, 308, 30672, 0, 153 },
+    { 154, 309, 697788, 0, 154 },
+    { 155, 311, 160, 0, 155 },
+    { 155, 312, 40, 0, 156 },
+    { 155, 313, 40, 0, 157 },
+    { 155, 314, 4, 0, 158 }
+};
\ No newline at end of file
diff --git a/tests/MemoryStrategyBenchmark/TestStrategy.cpp b/tests/MemoryStrategyBenchmark/TestStrategy.cpp
new file mode 100644
index 0000000..9e91949
--- /dev/null
+++ b/tests/MemoryStrategyBenchmark/TestStrategy.cpp
@@ -0,0 +1,43 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "TestStrategy.hpp"
+
+namespace armnn
+{
+
+    std::string TestStrategy::GetName() const
+    {
+        return m_Name;
+    }
+
+    MemBlockStrategyType TestStrategy::GetMemBlockStrategyType() const
+    {
+        return m_MemBlockStrategyType;
+    }
+
+    // A IMemoryOptimizerStrategy must ensure that
+    // 1: All MemBlocks have been assigned to a MemBin
+    // 2: No MemBlock is assigned to multiple MemBins
+    // 3: No two Memblocks in a MemBin overlap in both the X and Y axis
+    std::vector<MemBin> TestStrategy::Optimize(std::vector<MemBlock>& memBlocks)
+    {
+        std::vector<MemBin> memBins;
+        memBins.reserve(memBlocks.size());
+
+        for (auto& memBlock : memBlocks)
+        {
+            MemBin memBin;
+            memBin.m_MemSize = memBlock.m_MemSize;
+            memBin.m_MemBlocks.reserve(1);
+            memBlock.m_Offset = 0;
+            memBin.m_MemBlocks.push_back(memBlock);
+            memBins.push_back(memBin);
+        }
+
+        return memBins;
+    }
+
+} // namespace armnn
\ No newline at end of file
diff --git a/tests/MemoryStrategyBenchmark/TestStrategy.hpp b/tests/MemoryStrategyBenchmark/TestStrategy.hpp
new file mode 100644
index 0000000..80d8d57
--- /dev/null
+++ b/tests/MemoryStrategyBenchmark/TestStrategy.hpp
@@ -0,0 +1,31 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include <armnn/Types.hpp>
+#include <armnn/backends/IMemoryOptimizerStrategy.hpp>
+
+namespace armnn
+{
+// ConstLayerMemoryOptimizer: Create a unique MemBin for each MemBlock and assign it an offset of 0
+    class TestStrategy : public IMemoryOptimizerStrategy
+    {
+    public:
+        TestStrategy()
+                : m_Name(std::string("TestStrategy"))
+                , m_MemBlockStrategyType(MemBlockStrategyType::MultiAxisPacking) {}
+
+        std::string GetName() const override;
+
+        MemBlockStrategyType GetMemBlockStrategyType() const override;
+
+        std::vector<MemBin> Optimize(std::vector<MemBlock>& memBlocks) override;
+
+    private:
+        std::string m_Name;
+        MemBlockStrategyType m_MemBlockStrategyType;
+    };
+
+} // namespace armnn
\ No newline at end of file