IVGCVSW-5619 Enable OptimizerOptions for the python external delegate

 * Add reduce-fp32-to-fp16, reduce-fp32-to-bf16, debug-data, memory-import
options to external delegate
 * Simplify DelegateOptions
 * Add test mock models
 * Unit tests
 * Configure lfs to manage tflite files

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I1e4db468862ba03d4cb031347bc307cf940b3cb1
diff --git a/delegate/src/armnn_delegate.cpp b/delegate/src/armnn_delegate.cpp
index 6f72d86..639e514 100644
--- a/delegate/src/armnn_delegate.cpp
+++ b/delegate/src/armnn_delegate.cpp
@@ -353,10 +353,21 @@
     {
         // Load graph into runtime
         std::string errorMessage;
-        auto loadingStatus = delegate->m_Runtime->LoadNetwork(networkId,
-                                                              std::move(optNet),
-                                                              errorMessage,
-                                                              delegate->m_Options.GetNetworkProperties());
+        armnn::Status loadingStatus;
+        if (delegate->m_Options.GetOptimizerOptions().m_ImportEnabled)
+        {
+            armnn::INetworkProperties networkProperties(true, true);
+            loadingStatus = delegate->m_Runtime->LoadNetwork(networkId,
+                                                             std::move(optNet),
+                                                             errorMessage,
+                                                             networkProperties);
+        }
+        else
+        {
+            loadingStatus = delegate->m_Runtime->LoadNetwork(networkId,
+                                                             std::move(optNet),
+                                                             errorMessage);
+        }
         if (loadingStatus != armnn::Status::Success)
         {
             // Optimize failed