IVGCVSW-5720 Remove the Caffe Parser from ArmNN

Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ib00be204f549efa9aa5971ecf65c2dec4a10b10f
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 135f649..308b885 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -16,70 +16,6 @@
 target_include_directories(inferenceTest PRIVATE ../src/backends)
 target_include_directories(inferenceTest PRIVATE ../third-party/stb)
 
-if(BUILD_CAFFE_PARSER)
-    macro(CaffeParserTest testName sources)
-        add_executable_ex(${testName} ${sources})
-        target_include_directories(${testName} PRIVATE ../src/armnnUtils)
-        target_include_directories(${testName} PRIVATE ../src/backends)
-        set_target_properties(${testName} PROPERTIES COMPILE_FLAGS "${CAFFE_PARSER_TEST_ADDITIONAL_COMPILE_FLAGS}")
-
-        target_link_libraries(${testName} inferenceTest)
-        target_link_libraries(${testName} armnnCaffeParser)
-        target_link_libraries(${testName} armnn)
-        target_link_libraries(${testName} ${CMAKE_THREAD_LIBS_INIT})
-        addDllCopyCommands(${testName})
-    endmacro()
-
-    set(CaffeCifar10AcrossChannels-Armnn_sources
-        CaffeCifar10AcrossChannels-Armnn/CaffeCifar10AcrossChannels-Armnn.cpp
-        Cifar10Database.hpp
-        Cifar10Database.cpp)
-    CaffeParserTest(CaffeCifar10AcrossChannels-Armnn "${CaffeCifar10AcrossChannels-Armnn_sources}")
-
-    set(CaffeMnist-Armnn_sources
-        CaffeMnist-Armnn/CaffeMnist-Armnn.cpp
-        MnistDatabase.hpp
-        MnistDatabase.cpp)
-    CaffeParserTest(CaffeMnist-Armnn "${CaffeMnist-Armnn_sources}")
-
-    set(CaffeAlexNet-Armnn_sources
-        CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp
-        CaffePreprocessor.hpp
-        CaffePreprocessor.cpp)
-    CaffeParserTest(CaffeAlexNet-Armnn "${CaffeAlexNet-Armnn_sources}")
-
-    set(MultipleNetworksCifar10_SRC
-        MultipleNetworksCifar10/MultipleNetworksCifar10.cpp
-        Cifar10Database.hpp
-        Cifar10Database.cpp)
-    CaffeParserTest(MultipleNetworksCifar10 "${MultipleNetworksCifar10_SRC}")
-
-    set(CaffeResNet-Armnn_sources
-        CaffeResNet-Armnn/CaffeResNet-Armnn.cpp
-        CaffePreprocessor.hpp
-        CaffePreprocessor.cpp)
-    CaffeParserTest(CaffeResNet-Armnn "${CaffeResNet-Armnn_sources}")
-
-    set(CaffeVGG-Armnn_sources
-        CaffeVGG-Armnn/CaffeVGG-Armnn.cpp
-        CaffePreprocessor.hpp
-        CaffePreprocessor.cpp)
-    CaffeParserTest(CaffeVGG-Armnn "${CaffeVGG-Armnn_sources}")
-
-    set(CaffeInception_BN-Armnn_sources
-        CaffeInception_BN-Armnn/CaffeInception_BN-Armnn.cpp
-        CaffePreprocessor.hpp
-        CaffePreprocessor.cpp)
-    CaffeParserTest(CaffeInception_BN-Armnn "${CaffeInception_BN-Armnn_sources}")
-
-    set(CaffeYolo-Armnn_sources
-        CaffeYolo-Armnn/CaffeYolo-Armnn.cpp
-        YoloDatabase.hpp
-        YoloDatabase.cpp
-        YoloInferenceTest.hpp)
-    CaffeParserTest(CaffeYolo-Armnn "${CaffeYolo-Armnn_sources}")
-endif()
-
 if(BUILD_TF_PARSER)
     macro(TfParserTest testName sources)
         add_executable_ex(${testName} ${sources})
@@ -119,8 +55,8 @@
 
     set(TfResNext-Armnn_sources
         TfResNext_Quantized-Armnn/TfResNext_Quantized-Armnn.cpp
-        CaffePreprocessor.hpp
-        CaffePreprocessor.cpp)
+        ImagePreprocessor.hpp
+        ImagePreprocessor.cpp)
     TfParserTest(TfResNext-Armnn "${TfResNext-Armnn_sources}")
 endif()
 
@@ -238,7 +174,7 @@
     OnnxParserTest(OnnxMobileNet-Armnn "${OnnxMobileNet-Armnn_sources}")
 endif()
 
-if (BUILD_ARMNN_SERIALIZER OR BUILD_CAFFE_PARSER OR BUILD_TF_PARSER OR BUILD_TF_LITE_PARSER OR BUILD_ONNX_PARSER)
+if (BUILD_ARMNN_SERIALIZER OR BUILD_TF_PARSER OR BUILD_TF_LITE_PARSER OR BUILD_ONNX_PARSER)
     set(ExecuteNetwork_sources
         ExecuteNetwork/ExecuteNetwork.cpp
         ExecuteNetwork/ExecuteNetworkProgramOptions.cpp
@@ -257,9 +193,6 @@
     if (BUILD_ARMNN_SERIALIZER)
         target_link_libraries(ExecuteNetwork armnnSerializer)
     endif()
-    if (BUILD_CAFFE_PARSER)
-        target_link_libraries(ExecuteNetwork armnnCaffeParser)
-    endif()
     if (BUILD_TF_PARSER)
         target_link_libraries(ExecuteNetwork armnnTfParser)
     endif()
@@ -285,9 +218,6 @@
         if (BUILD_ARMNN_SERIALIZER)
             target_link_libraries(${executorName} armnnSerializer)
         endif()
-        if (BUILD_CAFFE_PARSER)
-            target_link_libraries(${executorName} armnnCaffeParser)
-        endif()
         if (BUILD_TF_PARSER)
             target_link_libraries(${executorName} armnnTfParser)
         endif()
diff --git a/tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp b/tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp
deleted file mode 100644
index e14cd61..0000000
--- a/tests/CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../InferenceTest.hpp"
-#include "../CaffePreprocessor.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-
-int main(int argc, char* argv[])
-{
-    int retVal = EXIT_FAILURE;
-    try
-    {
-        using DataType = float;
-        using DatabaseType = CaffePreprocessor;
-        using ParserType = armnnCaffeParser::ICaffeParser;
-        using ModelType = InferenceModel<ParserType, DataType>;
-
-        // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions.
-        retVal = armnn::test::ClassifierInferenceTestMain<DatabaseType, ParserType>(
-                     argc, argv, "bvlc_alexnet_1.caffemodel", true, "data", "prob", { 0 },
-                     [](const char* dataDir, const ModelType &) {
-                         return DatabaseType(dataDir);
-                     });
-    }
-    catch (const std::exception& e)
-    {
-        // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
-        // exception of type std::length_error.
-        // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
-        std::cerr << "WARNING: CaffeAlexNet-Armnn: An error has occurred when running the "
-                     "classifier inference tests: " << e.what() << std::endl;
-    }
-    return retVal;
-}
diff --git a/tests/CaffeAlexNet-Armnn/Validation.txt b/tests/CaffeAlexNet-Armnn/Validation.txt
deleted file mode 100644
index cb95f05..0000000
--- a/tests/CaffeAlexNet-Armnn/Validation.txt
+++ /dev/null
@@ -1,1000 +0,0 @@
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
diff --git a/tests/CaffeCifar10AcrossChannels-Armnn/CaffeCifar10AcrossChannels-Armnn.cpp b/tests/CaffeCifar10AcrossChannels-Armnn/CaffeCifar10AcrossChannels-Armnn.cpp
deleted file mode 100644
index 7bd98f6..0000000
--- a/tests/CaffeCifar10AcrossChannels-Armnn/CaffeCifar10AcrossChannels-Armnn.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../InferenceTest.hpp"
-#include "../Cifar10Database.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-
-int main(int argc, char* argv[])
-{
-    int retVal = EXIT_FAILURE;
-    try
-    {
-        using DataType = float;
-        using DatabaseType = Cifar10Database;
-        using ParserType = armnnCaffeParser::ICaffeParser;
-        using ModelType = InferenceModel<ParserType, DataType>;
-
-        // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions.
-        retVal = armnn::test::ClassifierInferenceTestMain<DatabaseType, ParserType>(
-                    argc, argv, "cifar10_full_iter_60000.caffemodel", true, "data", "prob",
-                    { 0, 1, 2, 4, 7 },
-                    [](const char* dataDir, const ModelType&) {
-                        return DatabaseType(dataDir);
-                    });
-    }
-    catch (const std::exception& e)
-    {
-        // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
-        // exception of type std::length_error.
-        // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
-        std::cerr << "WARNING: CaffeCifar10AcrossChannels-Armnn: An error has occurred when running "
-                     "the classifier inference tests: " << e.what() << std::endl;
-    }
-    return retVal;
-}
diff --git a/tests/CaffeCifar10AcrossChannels-Armnn/Validation.txt b/tests/CaffeCifar10AcrossChannels-Armnn/Validation.txt
deleted file mode 100644
index a7b5946..0000000
--- a/tests/CaffeCifar10AcrossChannels-Armnn/Validation.txt
+++ /dev/null
@@ -1,1000 +0,0 @@
-3
-8
-8
-8
-6
-8
-5
-6
-3
-8
-0
-9
-5
-7
-9
-8
-5
-7
-8
-6
-7
-0
-8
-9
-4
-3
-3
-0
-9
-6
-6
-5
-8
-3
-9
-3
-7
-9
-9
-5
-0
-6
-7
-3
-0
-9
-3
-8
-7
-2
-9
-8
-5
-5
-8
-8
-7
-5
-5
-3
-7
-5
-2
-3
-6
-7
-8
-0
-3
-7
-0
-3
-8
-8
-0
-2
-0
-8
-5
-8
-8
-0
-1
-7
-3
-0
-3
-3
-8
-9
-0
-2
-8
-6
-7
-3
-6
-0
-0
-7
-8
-5
-6
-3
-1
-1
-3
-6
-8
-7
-5
-0
-2
-3
-0
-3
-0
-3
-7
-5
-8
-0
-1
-2
-8
-8
-8
-3
-6
-0
-4
-1
-8
-9
-1
-0
-9
-4
-2
-8
-3
-5
-6
-5
-8
-0
-6
-5
-5
-5
-8
-9
-5
-0
-0
-5
-0
-9
-5
-4
-0
-0
-0
-6
-0
-0
-8
-8
-5
-8
-9
-0
-8
-8
-9
-9
-3
-7
-5
-0
-0
-5
-2
-8
-0
-8
-5
-3
-3
-8
-5
-8
-0
-1
-7
-3
-8
-8
-7
-8
-5
-0
-8
-0
-1
-3
-8
-5
-7
-8
-7
-0
-5
-8
-8
-0
-7
-9
-8
-2
-7
-5
-8
-5
-5
-9
-8
-0
-3
-6
-5
-1
-7
-8
-8
-0
-4
-0
-5
-3
-1
-1
-8
-3
-0
-8
-1
-8
-2
-0
-5
-5
-9
-9
-2
-8
-3
-0
-8
-9
-8
-8
-3
-3
-0
-8
-8
-4
-7
-0
-0
-3
-6
-3
-8
-0
-0
-3
-2
-5
-9
-0
-6
-1
-0
-9
-8
-8
-7
-9
-8
-2
-6
-9
-3
-0
-6
-0
-0
-6
-6
-3
-3
-8
-8
-8
-8
-3
-1
-0
-8
-6
-0
-0
-8
-0
-7
-7
-5
-5
-3
-3
-2
-0
-5
-0
-7
-7
-3
-6
-1
-9
-3
-6
-6
-9
-3
-8
-0
-7
-0
-6
-2
-5
-8
-5
-7
-6
-8
-9
-9
-1
-8
-2
-3
-7
-5
-2
-8
-0
-9
-5
-8
-8
-9
-4
-0
-5
-8
-0
-0
-7
-9
-3
-2
-7
-3
-7
-8
-6
-6
-9
-0
-8
-5
-0
-7
-3
-5
-5
-1
-2
-6
-2
-3
-6
-2
-3
-0
-8
-9
-8
-7
-8
-8
-4
-0
-8
-8
-3
-5
-8
-3
-8
-1
-9
-0
-5
-5
-7
-4
-7
-8
-0
-0
-9
-3
-7
-0
-6
-3
-3
-8
-7
-3
-7
-8
-5
-3
-8
-1
-3
-9
-8
-8
-7
-3
-0
-0
-0
-2
-9
-7
-0
-8
-3
-4
-5
-3
-8
-5
-6
-8
-7
-3
-8
-4
-3
-7
-8
-5
-7
-8
-8
-3
-7
-4
-0
-5
-4
-3
-6
-0
-8
-5
-8
-9
-9
-8
-0
-0
-0
-0
-1
-8
-8
-0
-5
-2
-0
-4
-0
-5
-2
-9
-4
-7
-9
-0
-4
-5
-6
-8
-9
-5
-5
-8
-9
-3
-8
-5
-7
-0
-7
-0
-5
-0
-0
-0
-6
-8
-8
-9
-5
-6
-3
-6
-3
-9
-8
-1
-7
-0
-7
-5
-9
-0
-6
-5
-5
-3
-3
-8
-3
-9
-8
-6
-4
-3
-2
-0
-7
-6
-0
-2
-3
-9
-5
-8
-0
-6
-7
-8
-3
-6
-8
-8
-8
-7
-5
-4
-0
-8
-4
-0
-8
-3
-5
-8
-9
-6
-9
-2
-3
-0
-0
-7
-8
-8
-3
-8
-5
-0
-2
-1
-6
-3
-4
-3
-9
-6
-9
-8
-8
-5
-8
-6
-3
-2
-1
-7
-7
-1
-2
-7
-9
-9
-4
-4
-0
-8
-3
-2
-8
-7
-0
-8
-3
-0
-3
-3
-8
-0
-7
-9
-1
-8
-0
-4
-5
-3
-9
-3
-0
-8
-0
-1
-5
-4
-1
-8
-0
-7
-6
-3
-0
-9
-0
-8
-2
-6
-3
-2
-3
-0
-0
-3
-8
-0
-3
-9
-6
-8
-0
-9
-2
-8
-2
-3
-0
-3
-2
-2
-7
-8
-3
-8
-0
-7
-5
-7
-0
-4
-8
-7
-4
-8
-3
-8
-8
-6
-0
-8
-7
-4
-3
-3
-8
-4
-8
-7
-8
-8
-9
-8
-8
-1
-3
-3
-5
-5
-0
-7
-9
-8
-0
-8
-4
-1
-3
-5
-7
-8
-7
-8
-7
-4
-6
-2
-5
-8
-0
-8
-1
-2
-0
-6
-8
-2
-1
-3
-5
-6
-0
-1
-2
-0
-8
-3
-0
-5
-0
-6
-8
-0
-2
-7
-6
-0
-6
-9
-1
-7
-8
-7
-0
-3
-9
-7
-8
-0
-0
-3
-3
-7
-5
-4
-8
-8
-8
-7
-1
-2
-7
-4
-4
-8
-4
-7
-7
-3
-2
-7
-2
-0
-8
-8
-5
-8
-0
-8
-2
-0
-8
-7
-5
-0
-8
-5
-0
-0
-8
-2
-2
-2
-8
-9
-2
-7
-2
-7
-0
-7
-2
-1
-0
-0
-0
-8
-4
-7
-9
-8
-0
-0
-7
-7
-0
-7
-8
-4
-4
-3
-5
-0
-1
-3
-7
-0
-1
-8
-1
-4
-2
-3
-8
-4
-5
-0
-7
-8
-8
-3
-0
-8
-8
-8
-8
-8
-4
-3
-6
-7
-3
-1
-8
-3
-7
-7
-5
-5
-6
-6
-5
-8
-8
-1
-6
-8
-8
-3
-3
-3
-2
-0
-1
-8
-8
-8
-0
-0
-9
-9
-3
-3
-5
-8
-3
-0
-0
-4
-2
-3
-3
-7
-3
-0
-5
-8
-8
-9
-8
-5
-4
-8
-3
-0
-8
-7
-8
-3
-9
-2
-8
-4
-7
-8
-3
-7
-8
-8
-8
-8
-3
-6
-3
-3
-8
-1
-9
-9
-4
-6
-8
-0
-0
-0
-8
-8
-9
-2
-8
-8
-8
-7
-8
-3
-1
-7
-0
-1
-5
-8
-3
-3
-3
-8
-9
-3
-8
diff --git a/tests/CaffeInception_BN-Armnn/CaffeInception_BN-Armnn.cpp b/tests/CaffeInception_BN-Armnn/CaffeInception_BN-Armnn.cpp
deleted file mode 100644
index c41d044..0000000
--- a/tests/CaffeInception_BN-Armnn/CaffeInception_BN-Armnn.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../InferenceTest.hpp"
-#include "../CaffePreprocessor.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-
-int main(int argc, char* argv[])
-{
-    int retVal = EXIT_FAILURE;
-    try
-    {
-        // Coverity fix: The following code may throw an exception of type std::length_error.
-        std::vector<ImageSet> imageSet =
-        {
-            {"shark.jpg", 3694}
-        };
-
-        using DataType = float;
-        using DatabaseType = CaffePreprocessor;
-        using ParserType = armnnCaffeParser::ICaffeParser;
-        using ModelType = InferenceModel<ParserType, DataType>;
-
-        // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions.
-        retVal = armnn::test::ClassifierInferenceTestMain<DatabaseType, ParserType>(
-                    argc, argv, "Inception-BN-batchsize1.caffemodel", true,
-                    "data", "softmax", { 0 },
-                    [&imageSet](const char* dataDir, const ModelType&) {
-                        return DatabaseType(dataDir, 224, 224, imageSet);
-                    });
-    }
-    catch (const std::exception& e)
-    {
-        // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
-        // exception of type std::length_error.
-        // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
-        std::cerr << "WARNING: CaffeInception_BN-Armnn: An error has occurred when running "
-                     "the classifier inference tests: " << e.what() << std::endl;
-    }
-    return retVal;
-}
diff --git a/tests/CaffeInception_BN-Armnn/Validation.txt b/tests/CaffeInception_BN-Armnn/Validation.txt
deleted file mode 100644
index f604013..0000000
--- a/tests/CaffeInception_BN-Armnn/Validation.txt
+++ /dev/null
@@ -1,1000 +0,0 @@
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
-3694
diff --git a/tests/CaffeMnist-Armnn/CaffeMnist-Armnn.cpp b/tests/CaffeMnist-Armnn/CaffeMnist-Armnn.cpp
deleted file mode 100644
index c79cb78..0000000
--- a/tests/CaffeMnist-Armnn/CaffeMnist-Armnn.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../InferenceTest.hpp"
-#include "../MnistDatabase.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-
-int main(int argc, char* argv[])
-{
-    int retVal = EXIT_FAILURE;
-    try
-    {
-        using DataType = float;
-        using DatabaseType = MnistDatabase;
-        using ParserType = armnnCaffeParser::ICaffeParser;
-        using ModelType = InferenceModel<ParserType, DataType>;
-
-        // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions.
-        retVal = armnn::test::ClassifierInferenceTestMain<DatabaseType, ParserType>(
-                    argc, argv, "lenet_iter_9000.caffemodel", true, "data", "prob",
-                    { 0, 1, 5, 8, 9 },
-                    [](const char* dataDir, const ModelType&) {
-                        return DatabaseType(dataDir);
-                    });
-    }
-    catch (const std::exception& e)
-    {
-        // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
-        // exception of type std::length_error.
-        // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
-        std::cerr << "WARNING: CaffeMnist-Armnn: An error has occurred when running "
-                     "the classifier inference tests: " << e.what() << std::endl;
-    }
-    return retVal;
-}
diff --git a/tests/CaffeMnist-Armnn/Validation.txt b/tests/CaffeMnist-Armnn/Validation.txt
deleted file mode 100644
index 63cbca6..0000000
--- a/tests/CaffeMnist-Armnn/Validation.txt
+++ /dev/null
@@ -1,1000 +0,0 @@
-7
-2
-1
-0
-4
-1
-4
-9
-5
-9
-0
-6
-9
-0
-1
-5
-9
-7
-3
-4
-9
-6
-6
-5
-4
-0
-7
-4
-0
-1
-3
-1
-3
-4
-7
-2
-7
-1
-2
-1
-1
-7
-4
-2
-3
-5
-1
-2
-4
-4
-6
-3
-5
-5
-6
-0
-4
-1
-9
-5
-7
-8
-9
-3
-7
-4
-6
-4
-3
-0
-7
-0
-2
-9
-1
-7
-3
-2
-9
-7
-7
-6
-2
-7
-8
-4
-7
-3
-6
-1
-3
-6
-9
-3
-1
-4
-1
-7
-6
-9
-6
-0
-5
-4
-9
-9
-2
-1
-9
-4
-8
-7
-3
-9
-7
-9
-4
-4
-9
-2
-5
-4
-7
-6
-7
-9
-0
-5
-8
-5
-6
-6
-5
-7
-8
-1
-0
-1
-6
-4
-6
-7
-3
-1
-7
-1
-8
-2
-0
-2
-9
-9
-5
-5
-1
-5
-6
-0
-3
-4
-4
-6
-5
-4
-6
-5
-4
-5
-1
-4
-4
-7
-2
-3
-2
-7
-1
-8
-1
-8
-1
-8
-5
-0
-8
-9
-2
-5
-0
-1
-1
-1
-0
-9
-0
-3
-1
-6
-4
-2
-3
-6
-1
-1
-1
-3
-9
-5
-2
-9
-4
-5
-9
-3
-9
-0
-3
-6
-5
-5
-7
-2
-2
-7
-1
-2
-8
-4
-1
-7
-3
-3
-8
-8
-7
-9
-2
-2
-4
-1
-5
-9
-8
-7
-2
-3
-0
-4
-4
-2
-4
-1
-9
-5
-7
-7
-2
-8
-2
-6
-8
-5
-7
-7
-9
-1
-8
-1
-8
-0
-3
-0
-1
-9
-9
-4
-1
-8
-2
-1
-2
-9
-7
-5
-9
-2
-6
-4
-1
-5
-8
-2
-9
-2
-0
-4
-0
-0
-2
-8
-4
-7
-1
-2
-4
-0
-2
-7
-4
-3
-3
-0
-0
-3
-1
-9
-6
-5
-2
-5
-9
-2
-9
-3
-0
-4
-2
-0
-7
-1
-1
-2
-1
-5
-3
-3
-9
-7
-8
-6
-3
-6
-1
-3
-8
-1
-0
-5
-1
-3
-1
-5
-5
-6
-1
-8
-5
-1
-7
-9
-4
-6
-2
-2
-5
-0
-6
-5
-6
-3
-7
-2
-0
-8
-8
-5
-4
-1
-1
-4
-0
-3
-3
-7
-6
-1
-6
-2
-1
-9
-2
-8
-6
-1
-9
-5
-2
-5
-4
-4
-2
-8
-3
-8
-2
-4
-5
-0
-3
-1
-7
-7
-5
-7
-9
-7
-1
-9
-2
-1
-4
-2
-9
-2
-0
-4
-9
-1
-4
-8
-1
-8
-4
-5
-9
-8
-8
-3
-7
-6
-0
-0
-3
-0
-2
-0
-6
-4
-9
-5
-3
-3
-2
-3
-9
-1
-2
-6
-8
-0
-5
-6
-6
-6
-3
-8
-8
-2
-7
-5
-8
-9
-6
-1
-8
-4
-1
-2
-5
-9
-1
-9
-7
-5
-4
-0
-8
-9
-9
-1
-0
-5
-2
-3
-7
-8
-9
-4
-0
-6
-3
-9
-5
-2
-1
-3
-1
-3
-6
-5
-7
-4
-2
-2
-6
-3
-2
-6
-5
-4
-8
-9
-7
-1
-3
-0
-3
-8
-3
-1
-9
-3
-4
-4
-6
-4
-2
-1
-8
-2
-5
-4
-8
-8
-4
-0
-0
-2
-3
-2
-7
-3
-0
-8
-7
-4
-4
-7
-9
-6
-9
-0
-9
-8
-0
-4
-6
-0
-6
-3
-5
-4
-8
-3
-3
-9
-3
-3
-3
-7
-8
-0
-2
-2
-1
-7
-0
-6
-5
-4
-3
-8
-0
-9
-6
-3
-8
-0
-9
-9
-6
-8
-6
-8
-5
-7
-8
-6
-0
-2
-4
-0
-2
-2
-3
-1
-9
-7
-5
-8
-0
-8
-4
-6
-2
-6
-7
-9
-3
-2
-9
-8
-2
-2
-9
-2
-7
-3
-5
-9
-1
-8
-0
-2
-0
-5
-2
-1
-3
-7
-6
-7
-1
-2
-5
-8
-0
-3
-7
-1
-4
-0
-9
-1
-8
-6
-7
-7
-4
-3
-4
-9
-1
-9
-5
-1
-7
-3
-9
-7
-6
-9
-1
-3
-3
-8
-3
-3
-6
-7
-2
-8
-5
-8
-5
-1
-1
-4
-4
-3
-1
-0
-7
-7
-0
-7
-9
-4
-4
-8
-5
-5
-4
-0
-8
-2
-7
-0
-8
-4
-8
-0
-4
-0
-6
-1
-7
-3
-2
-6
-7
-2
-6
-9
-3
-1
-4
-6
-2
-5
-4
-2
-0
-6
-2
-1
-7
-3
-4
-1
-0
-5
-4
-3
-1
-1
-7
-4
-9
-9
-4
-8
-4
-0
-2
-4
-5
-1
-1
-6
-4
-7
-1
-9
-4
-2
-4
-1
-5
-5
-3
-8
-3
-1
-4
-5
-6
-8
-9
-4
-1
-5
-3
-8
-0
-3
-2
-5
-1
-2
-8
-3
-4
-4
-0
-8
-8
-3
-3
-1
-7
-3
-5
-9
-6
-3
-2
-6
-1
-3
-6
-0
-7
-2
-1
-7
-1
-4
-2
-4
-2
-1
-7
-9
-6
-1
-1
-2
-4
-8
-1
-7
-7
-4
-8
-0
-9
-3
-1
-3
-1
-0
-7
-7
-0
-3
-5
-5
-2
-7
-6
-6
-9
-2
-8
-3
-5
-2
-2
-5
-6
-0
-8
-2
-9
-2
-8
-8
-8
-8
-7
-4
-9
-3
-0
-6
-6
-3
-2
-1
-3
-2
-2
-9
-3
-0
-0
-5
-7
-8
-3
-4
-4
-6
-0
-2
-9
-1
-4
-7
-4
-7
-3
-9
-8
-8
-4
-7
-1
-2
-1
-2
-2
-3
-2
-3
-2
-3
-9
-1
-7
-4
-0
-3
-5
-5
-8
-6
-3
-2
-6
-7
-6
-6
-3
-2
-7
-9
-1
-1
-7
-5
-6
-4
-9
-5
-1
-3
-3
-4
-7
-8
-9
-1
-1
-6
-9
-1
-4
-4
-5
-4
-0
-6
-2
-2
-3
-1
-5
-1
-2
-0
-3
-8
-1
-2
-6
-7
-1
-6
-2
-3
-9
-0
-1
-2
-2
-0
-8
-9
diff --git a/tests/CaffePreprocessor.cpp b/tests/CaffePreprocessor.cpp
deleted file mode 100644
index 54ce833..0000000
--- a/tests/CaffePreprocessor.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "InferenceTestImage.hpp"
-#include "CaffePreprocessor.hpp"
-
-#include <armnn/utility/NumericCast.hpp>
-
-#include <iostream>
-#include <fcntl.h>
-#include <array>
-
-const std::vector<ImageSet> g_DefaultImageSet =
-{
-    {"shark.jpg", 2}
-};
-
-CaffePreprocessor::CaffePreprocessor(const std::string& binaryFileDirectory, unsigned int width, unsigned int height,
-                                   const std::vector<ImageSet>& imageSet)
-:   m_BinaryDirectory(binaryFileDirectory)
-,   m_Height(height)
-,   m_Width(width)
-,   m_ImageSet(imageSet.empty() ? g_DefaultImageSet : imageSet)
-{
-}
-
-std::unique_ptr<CaffePreprocessor::TTestCaseData> CaffePreprocessor::GetTestCaseData(unsigned int testCaseId)
-{
-    testCaseId = testCaseId % armnn::numeric_cast<unsigned int>(m_ImageSet.size());
-    const ImageSet& imageSet = m_ImageSet[testCaseId];
-    const std::string fullPath = m_BinaryDirectory + imageSet.first;
-
-    InferenceTestImage image(fullPath.c_str());
-    image.Resize(m_Width, m_Height, CHECK_LOCATION());
-
-    // The model expects image data in BGR format.
-    std::vector<float> inputImageData = GetImageDataInArmNnLayoutAsFloatsSubtractingMean(ImageChannelLayout::Bgr,
-                                                                                         image, m_MeanBgr);
-
-    // List of labels: https://gist.github.com/yrevar/942d3a0ac09ec9e5eb3a
-    const unsigned int label = imageSet.second;
-    return std::make_unique<TTestCaseData>(label, std::move(inputImageData));
-}
diff --git a/tests/CaffePreprocessor.hpp b/tests/CaffePreprocessor.hpp
deleted file mode 100644
index a57382e..0000000
--- a/tests/CaffePreprocessor.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#pragma once
-
-#include "ClassifierTestCaseData.hpp"
-
-#include <array>
-#include <string>
-#include <vector>
-#include <memory>
-
-/// Caffe requires BGR images, not normalized, mean adjusted and  resized using smooth resize of STB library
-
-using ImageSet = std::pair<const std::string, unsigned int>;
-
-class CaffePreprocessor
-{
-public:
-    using DataType = float;
-    using TTestCaseData = ClassifierTestCaseData<DataType>;
-
-    explicit CaffePreprocessor(const std::string& binaryFileDirectory,
-        unsigned int width = 227,
-        unsigned int height = 227,
-        const std::vector<ImageSet>& imageSet = std::vector<ImageSet>());
-    std::unique_ptr<TTestCaseData> GetTestCaseData(unsigned int testCaseId);
-
-private:
-    unsigned int GetNumImageElements() const { return 3 * m_Width * m_Height; }
-    unsigned int GetNumImageBytes() const { return 4 * GetNumImageElements(); }
-
-    std::string m_BinaryDirectory;
-    unsigned int m_Height;
-    unsigned int m_Width;
-    // Mean value of the database [B, G, R].
-    const std::array<float, 3> m_MeanBgr = {{104.007965f, 116.669472f, 122.675102f}};
-    const std::vector<ImageSet> m_ImageSet;
-};
diff --git a/tests/CaffeResNet-Armnn/CaffeResNet-Armnn.cpp b/tests/CaffeResNet-Armnn/CaffeResNet-Armnn.cpp
deleted file mode 100644
index aa814ff..0000000
--- a/tests/CaffeResNet-Armnn/CaffeResNet-Armnn.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../InferenceTest.hpp"
-#include "../CaffePreprocessor.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-
-int main(int argc, char* argv[])
-{
-    int retVal = EXIT_FAILURE;
-    try
-    {
-        // Coverity fix: The following code may throw an exception of type std::length_error.
-        std::vector<ImageSet> imageSet =
-        {
-            {"ILSVRC2012_val_00000018.JPEG",  21 },
-            {"shark.jpg", 2}
-        };
-
-        armnn::TensorShape inputTensorShape({ 1, 3, 224, 224 });
-
-        using DataType = float;
-        using DatabaseType = CaffePreprocessor;
-        using ParserType = armnnCaffeParser::ICaffeParser;
-        using ModelType = InferenceModel<ParserType, DataType>;
-
-        // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions.
-        retVal = armnn::test::ClassifierInferenceTestMain<DatabaseType, ParserType>(
-                    argc, argv, "ResNet_50_ilsvrc15_model.caffemodel", true,
-                    "data", "prob", { 0, 1 },
-                    [&imageSet](const char* dataDir, const ModelType&) {
-                        return DatabaseType(dataDir, 224, 224, imageSet);
-                    }, &inputTensorShape);
-    }
-    catch (const std::exception& e)
-    {
-        // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
-        // exception of type std::length_error.
-        // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
-        std::cerr << "WARNING: CaffeResNet-Armnn: An error has occurred when running "
-                     "the classifier inference tests: " << e.what() << std::endl;
-    }
-    return retVal;
-}
diff --git a/tests/CaffeResNet-Armnn/Validation.txt b/tests/CaffeResNet-Armnn/Validation.txt
deleted file mode 100644
index b3c5de8..0000000
--- a/tests/CaffeResNet-Armnn/Validation.txt
+++ /dev/null
@@ -1,2000 +0,0 @@
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
-21
-2
diff --git a/tests/CaffeSqueezeNet1_0-Armnn/CaffeSqueezeNet1_0-Armnn.cpp b/tests/CaffeSqueezeNet1_0-Armnn/CaffeSqueezeNet1_0-Armnn.cpp
deleted file mode 100644
index c19abef..0000000
--- a/tests/CaffeSqueezeNet1_0-Armnn/CaffeSqueezeNet1_0-Armnn.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../InferenceTest.hpp"
-#include "../CaffePreprocessor.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-
-int main(int argc, char* argv[])
-{
-    using DataType = float;
-    using DatabaseType = CaffePreprocessor;
-    using ParserType = armnnCaffeParser::ICaffeParser;
-    using ModelType = InferenceModel<ParserType, DataType>;
-
-    return armnn::test::ClassifierInferenceTestMain<DatabaseType, ParserType>(
-        argc, argv, "squeezenet.caffemodel", true,
-        "input", "prob", { 0 },
-        [](const char* dataDir, const ModelType &) { return CaffePreprocessor(dataDir); });
-}
diff --git a/tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp b/tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp
deleted file mode 100644
index 733cc29..0000000
--- a/tests/CaffeVGG-Armnn/CaffeVGG-Armnn.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../InferenceTest.hpp"
-#include "../CaffePreprocessor.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-
-int main(int argc, char* argv[])
-{
-    armnn::TensorShape inputTensorShape({ 1, 3, 224, 224 });
-    int retVal = EXIT_FAILURE;
-    try
-    {
-        using DataType = float;
-        using DatabaseType = CaffePreprocessor;
-        using ParserType = armnnCaffeParser::ICaffeParser;
-        using ModelType = InferenceModel<ParserType, DataType>;
-
-        // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions.
-        retVal = armnn::test::ClassifierInferenceTestMain<DatabaseType, ParserType>(
-                    argc, argv, "VGG_CNN_S.caffemodel", true,
-                    "input", "prob", { 0 },
-                    [](const char* dataDir, const ModelType&) {
-                        return DatabaseType(dataDir, 224, 224);
-                    }, &inputTensorShape);
-    }
-    catch (const std::exception& e)
-    {
-        // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
-        // exception of type std::length_error.
-        // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
-        std::cerr << "WARNING: CaffeVGG-Armnn: An error has occurred when running "
-                     "the classifier inference tests: " << e.what() << std::endl;
-    }
-    return retVal;
-}
diff --git a/tests/CaffeVGG-Armnn/Validation.txt b/tests/CaffeVGG-Armnn/Validation.txt
deleted file mode 100644
index cb95f05..0000000
--- a/tests/CaffeVGG-Armnn/Validation.txt
+++ /dev/null
@@ -1,1000 +0,0 @@
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
diff --git a/tests/CaffeYolo-Armnn/CaffeYolo-Armnn.cpp b/tests/CaffeYolo-Armnn/CaffeYolo-Armnn.cpp
deleted file mode 100644
index d563faa..0000000
--- a/tests/CaffeYolo-Armnn/CaffeYolo-Armnn.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "../YoloInferenceTest.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
-#include "armnn/TypesUtils.hpp"
-
-int main(int argc, char* argv[])
-{
-    armnn::TensorShape inputTensorShape{ { 1, 3, YoloImageHeight, YoloImageWidth } };
-
-    using YoloInferenceModel = InferenceModel<armnnCaffeParser::ICaffeParser,
-        float>;
-
-    int retVal = EXIT_FAILURE;
-    try
-    {
-        // Coverity fix: InferenceTestMain() may throw uncaught exceptions.
-        retVal = InferenceTestMain(argc, argv, { 0 },
-            [&inputTensorShape]()
-            {
-                return make_unique<YoloTestCaseProvider<YoloInferenceModel>>(
-                    [&]
-                    (const InferenceTestOptions &commonOptions,
-                     typename YoloInferenceModel::CommandLineOptions modelOptions)
-                    {
-                        if (!ValidateDirectory(modelOptions.m_ModelDir))
-                        {
-                            return std::unique_ptr<YoloInferenceModel>();
-                        }
-
-                        typename YoloInferenceModel::Params modelParams;
-                        modelParams.m_ModelPath = modelOptions.m_ModelDir + "yolov1_tiny_voc2007_model.caffemodel";
-                        modelParams.m_InputBindings = { "data" };
-                        modelParams.m_OutputBindings = { "fc12" };
-                        modelParams.m_InputShapes = { inputTensorShape };
-                        modelParams.m_IsModelBinary = true;
-                        modelParams.m_ComputeDevices = modelOptions.GetComputeDevicesAsBackendIds();
-                        modelParams.m_VisualizePostOptimizationModel = modelOptions.m_VisualizePostOptimizationModel;
-                        modelParams.m_EnableFp16TurboMode = modelOptions.m_EnableFp16TurboMode;
-
-                        return std::make_unique<YoloInferenceModel>(modelParams,
-                                                                    commonOptions.m_EnableProfiling,
-                                                                    commonOptions.m_DynamicBackendsPath);
-                });
-            });
-    }
-    catch (const std::exception& e)
-    {
-        // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
-        // exception of type std::length_error.
-        // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
-        std::cerr << "WARNING: CaffeYolo-Armnn: An error has occurred when running "
-                     "the classifier inference tests: " << e.what() << std::endl;
-    }
-    return retVal;
-}
diff --git a/tests/ExecuteNetwork/ExecuteNetwork.cpp b/tests/ExecuteNetwork/ExecuteNetwork.cpp
index f812e53..8ab286b 100644
--- a/tests/ExecuteNetwork/ExecuteNetwork.cpp
+++ b/tests/ExecuteNetwork/ExecuteNetwork.cpp
@@ -13,9 +13,6 @@
 #if defined(ARMNN_SERIALIZER)
 #include "armnnDeserializer/IDeserializer.hpp"
 #endif
-#if defined(ARMNN_CAFFE_PARSER)
-#include "armnnCaffeParser/ICaffeParser.hpp"
-#endif
 #if defined(ARMNN_TF_PARSER)
 #include "armnnTfParser/ITfParser.hpp"
 #endif
@@ -472,15 +469,6 @@
         return EXIT_FAILURE;
     #endif
     }
-    else if (modelFormat.find("caffe") != std::string::npos)
-    {
-    #if defined(ARMNN_CAFFE_PARSER)
-        return MainImpl<armnnCaffeParser::ICaffeParser, float>(ProgramOptions.m_ExNetParams, runtime);
-    #else
-        ARMNN_LOG(fatal) << "Not built with Caffe parser support.";
-        return EXIT_FAILURE;
-    #endif
-    }
     else if (modelFormat.find("onnx") != std::string::npos)
     {
     #if defined(ARMNN_ONNX_PARSER)
@@ -526,7 +514,7 @@
     else
     {
         ARMNN_LOG(fatal) << "Unknown model format: '" << modelFormat
-                         << "'. Please include 'caffe', 'tensorflow', 'tflite' or 'onnx'";
+                         << "'. Please include 'tensorflow', 'tflite' or 'onnx'";
         return EXIT_FAILURE;
     }
 }
diff --git a/tests/ExecuteNetwork/ExecuteNetworkParams.cpp b/tests/ExecuteNetwork/ExecuteNetworkParams.cpp
index 890ab2a..4e3b5e3 100644
--- a/tests/ExecuteNetwork/ExecuteNetworkParams.cpp
+++ b/tests/ExecuteNetwork/ExecuteNetworkParams.cpp
@@ -41,14 +41,6 @@
                                               "built with serialization support.");
 #endif
     }
-    else if (modelFormat.find("caffe") != std::string::npos)
-    {
-#if defined(ARMNN_CAFFE_PARSER)
-#else
-        throw armnn::InvalidArgumentException("Can't run model in caffe format without a "
-                                              "built with Caffe parser support.");
-#endif
-    }
     else if (modelFormat.find("onnx") != std::string::npos)
     {
 #if defined(ARMNN_ONNX_PARSER)
@@ -83,7 +75,7 @@
     else
     {
         throw armnn::InvalidArgumentException(fmt::format("Unknown model format: '{}'. "
-                                                          "Please include 'caffe', 'tensorflow', 'tflite' or 'onnx'",
+                                                          "Please include 'tensorflow', 'tflite' or 'onnx'",
                                                           modelFormat));
     }
 }
diff --git a/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp b/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp
index b52adaa..7c1db61 100644
--- a/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp
+++ b/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp
@@ -173,12 +173,12 @@
                  cxxopts::value<std::vector<std::string>>())
 
                 ("f,model-format",
-                 "armnn-binary, caffe-binary, caffe-text, onnx-binary, onnx-text, tflite-binary, tensorflow-binary or "
+                 "armnn-binary, onnx-binary, onnx-text, tflite-binary, tensorflow-binary or "
                  "tensorflow-text.",
                  cxxopts::value<std::string>())
 
                 ("m,model-path",
-                 "Path to model file, e.g. .armnn, .caffemodel, .prototxt, .tflite, .onnx",
+                 "Path to model file, e.g. .armnn, , .prototxt, .tflite, .onnx",
                  cxxopts::value<std::string>(m_ExNetParams.m_ModelPath))
 
                 ("i,input-name",
diff --git a/tests/ImageTensorGenerator/ImageTensorGenerator.cpp b/tests/ImageTensorGenerator/ImageTensorGenerator.cpp
index 754d980..34dbe1e 100644
--- a/tests/ImageTensorGenerator/ImageTensorGenerator.cpp
+++ b/tests/ImageTensorGenerator/ImageTensorGenerator.cpp
@@ -164,7 +164,7 @@
                 ("f,model-format",
                     "Format of the intended model file that uses the images."
                     "Different formats have different image normalization styles."
-                    "Accepted values (caffe, tensorflow, tflite)",
+                    "Accepted values (tensorflow, tflite)",
                     cxxopts::value<std::string>(m_ModelFormat))
                 ("o,outfile",
                     "Output raw tensor file path",
@@ -235,11 +235,7 @@
     unsigned int GetNewHeight() {return static_cast<unsigned int>(std::stoi(m_NewHeight));}
     SupportedFrontend GetModelFormat()
     {
-        if (m_ModelFormat == "caffe")
-        {
-            return SupportedFrontend::Caffe;
-        }
-        else if (m_ModelFormat == "tensorflow")
+        if (m_ModelFormat == "tensorflow")
         {
             return SupportedFrontend::TensorFlow;
         }
diff --git a/tests/ImageTensorGenerator/ImageTensorGenerator.hpp b/tests/ImageTensorGenerator/ImageTensorGenerator.hpp
index 4793f82..f2ee470 100644
--- a/tests/ImageTensorGenerator/ImageTensorGenerator.hpp
+++ b/tests/ImageTensorGenerator/ImageTensorGenerator.hpp
@@ -24,14 +24,13 @@
 
 enum class SupportedFrontend
 {
-    Caffe      = 0,
-    TensorFlow = 1,
-    TFLite     = 2,
+    TensorFlow = 0,
+    TFLite     = 1,
 };
 
 /** Get normalization parameters.
  * Note that different flavours of models and different model data types have different normalization methods.
- * This tool currently only supports Caffe, TF and TFLite models
+ * This tool currently only supports TF and TFLite models
  *
  * @param[in] modelFormat   One of the supported frontends
  * @param[in] outputType    Output type of the image tensor, also the type of the intended model
@@ -46,8 +45,6 @@
     normParams.stddev = { 1.0, 1.0, 1.0 };
     switch (modelFormat)
     {
-        case SupportedFrontend::Caffe:
-            break;
         case SupportedFrontend::TensorFlow:
         case SupportedFrontend::TFLite:
         default:
diff --git a/tests/InferenceModel.hpp b/tests/InferenceModel.hpp
index dca3ab2..cab594e 100644
--- a/tests/InferenceModel.hpp
+++ b/tests/InferenceModel.hpp
@@ -367,7 +367,7 @@
         options
             .allow_unrecognised_options()
             .add_options()
-                ("m,model-dir", "Path to directory containing model files (.caffemodel/.prototxt/.tflite)",
+                ("m,model-dir", "Path to directory containing model files (.prototxt/.tflite)",
                  cxxopts::value<std::string>(cLineOptions.m_ModelDir))
                 ("c,compute", backendsMessage.c_str(),
                  cxxopts::value<std::vector<std::string>>(cLineOptions.m_ComputeDevices)->default_value("CpuRef"))
diff --git a/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp b/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp
index f8337a5..345a0fe 100644
--- a/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp
+++ b/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp
@@ -76,7 +76,7 @@
                     "Path to armnn format model file",
                     cxxopts::value<std::string>(modelPath))
                 ("f,model-format",
-                    "The model format. Supported values: caffe, tensorflow, tflite",
+                    "The model format. Supported values: tensorflow, tflite",
                     cxxopts::value<std::string>(modelFormat))
                 ("i,input-name",
                     "Identifier of the input tensors in the network separated by comma with no space.",
@@ -312,11 +312,7 @@
             const unsigned int batchSize = 1;
             // Get normalisation parameters
             SupportedFrontend modelFrontend;
-            if (modelFormat == "caffe")
-            {
-                modelFrontend = SupportedFrontend::Caffe;
-            }
-            else if (modelFormat == "tensorflow")
+            if (modelFormat == "tensorflow")
             {
                 modelFrontend = SupportedFrontend::TensorFlow;
             }
diff --git a/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp b/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp
index 456ff68..9c51d3f 100644
--- a/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp
+++ b/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp
@@ -6,7 +6,7 @@
 #include "armnn/ArmNN.hpp"
 #include "armnn/Utils.hpp"
 #include "armnn/INetwork.hpp"
-#include "armnnCaffeParser/ICaffeParser.hpp"
+#include "armnnTfParser/TfParser.hpp"
 #include "../Cifar10Database.hpp"
 #include "../InferenceTest.hpp"
 #include "../InferenceModel.hpp"
@@ -89,7 +89,7 @@
             return EXIT_FAILURE;
         }
 
-        fs::path modelPath = fs::path(modelDir + "/cifar10_full_iter_60000.caffemodel");
+        fs::path modelPath = fs::path(modelDir + "/cifar10_tf.prototxt");
 
         // Create runtime
         // This will also load dynamic backend in case that the dynamic backend path is specified
@@ -123,7 +123,7 @@
         };
         std::vector<Net> networks;
 
-        armnnCaffeParser::ICaffeParserPtr parser(armnnCaffeParser::ICaffeParser::Create());
+        armnnTfParser::ITfParserPtr parser(armnnTfParser::ITfParser::Create());
 
         const int networksCount = 4;
         for (int i = 0; i < networksCount; ++i)
diff --git a/tests/NetworkExecutionUtils/NetworkExecutionUtils.cpp b/tests/NetworkExecutionUtils/NetworkExecutionUtils.cpp
index d902d23..74c8783 100644
--- a/tests/NetworkExecutionUtils/NetworkExecutionUtils.cpp
+++ b/tests/NetworkExecutionUtils/NetworkExecutionUtils.cpp
@@ -12,9 +12,6 @@
 #if defined(ARMNN_SERIALIZER)
 #include "armnnDeserializer/IDeserializer.hpp"
 #endif
-#if defined(ARMNN_CAFFE_PARSER)
-#include "armnnCaffeParser/ICaffeParser.hpp"
-#endif
 #if defined(ARMNN_TF_PARSER)
 #include "armnnTfParser/ITfParser.hpp"
 #endif
diff --git a/tests/TfResNext_Quantized-Armnn/TfResNext_Quantized-Armnn.cpp b/tests/TfResNext_Quantized-Armnn/TfResNext_Quantized-Armnn.cpp
index c152c0f..bec2771 100644
--- a/tests/TfResNext_Quantized-Armnn/TfResNext_Quantized-Armnn.cpp
+++ b/tests/TfResNext_Quantized-Armnn/TfResNext_Quantized-Armnn.cpp
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: MIT
 //
 #include "../InferenceTest.hpp"
-#include "../CaffePreprocessor.hpp"
+#include "../ImagePreprocessor.hpp"
 #include "armnnTfParser/ITfParser.hpp"
 
 int main(int argc, char* argv[])
@@ -21,7 +21,7 @@
         armnn::TensorShape inputTensorShape({ 1, 3, 224, 224 });
 
         using DataType = float;
-        using DatabaseType = CaffePreprocessor;
+        using DatabaseType = ImagePreprocessor<DataType>;;
         using ParserType = armnnTfParser::ITfParser;
         using ModelType = InferenceModel<ParserType, DataType>;