From 2cd184763ff7f8767e751f2fe0c461714350aae6 Mon Sep 17 00:00:00 2001 From: Jan Eilers Date: Tue, 15 Dec 2020 10:42:38 +0000 Subject: IVGCVSW-5571 Expose the TfLite Delegate to the TfLite python API * Implemented external delegate adaptor interface for TfLite * Activated armnn logging for delegate * Added logging info to indicate if gpu tuning is turned on * Added pytests to ensure functionality of the external delegate adaptor * Included the delegate directory into doxygen * Added documentation on how to use the external delegate in python Signed-off-by: Finn Williams Signed-off-by: Jan Eilers Change-Id: Id3b4588fb0b9ac7e3f47ba2c19feead7beb58e18 --- delegate/include/DelegateOptions.hpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'delegate/include/DelegateOptions.hpp') diff --git a/delegate/include/DelegateOptions.hpp b/delegate/include/DelegateOptions.hpp index daf20150be..6058061b3d 100644 --- a/delegate/include/DelegateOptions.hpp +++ b/delegate/include/DelegateOptions.hpp @@ -6,6 +6,8 @@ #pragma once #include +#include +#include #include #include @@ -17,10 +19,13 @@ namespace armnnDelegate class DelegateOptions { public: - DelegateOptions(armnn::Compute computeDevice, const std::vector& backendOptions = {}); + DelegateOptions(armnn::Compute computeDevice, + const std::vector& backendOptions = {}, + armnn::Optional logSeverityLevel = armnn::EmptyOptional()); DelegateOptions(const std::vector& backends, - const std::vector& backendOptions = {}); + const std::vector& backendOptions = {}, + armnn::Optional logSeverityLevel = armnn::EmptyOptional()); const std::vector& GetBackends() const { return m_Backends; } @@ -28,6 +33,18 @@ public: const std::vector& GetBackendOptions() const { return m_BackendOptions; } + /// Appends a backend option to the list of backend options + void AddBackendOption(const armnn::BackendOptions& option) { m_BackendOptions.push_back(option); } + + /// Sets the severity level for logging within ArmNN that will be used on creation of the delegate + void SetLoggingSeverity(const armnn::LogSeverity& level) { m_LoggingSeverity = level; } + void SetLoggingSeverity(const std::string& level) { m_LoggingSeverity = armnn::StringToLogLevel(level); } + + /// Returns the severity level for logging within ArmNN + armnn::LogSeverity GetLoggingSeverity() { return m_LoggingSeverity.value(); } + + bool IsLoggingEnabled() { return m_LoggingSeverity.has_value(); } + private: /// Which backend to run Delegate on. /// Examples of possible values are: CpuRef, CpuAcc, GpuAcc. @@ -52,6 +69,9 @@ private: /// "TuningFile" : string [filenameString] /// "KernelProfilingEnabled" : bool [true | false] std::vector m_BackendOptions; + + /// Severity level for logging within ArmNN that will be used on creation of the delegate + armnn::Optional m_LoggingSeverity; }; } // namespace armnnDelegate -- cgit v1.2.1