| // Copyright © 2017 Arm Ltd. All rights reserved. |
| // SPDX-License-Identifier: MIT |
| #include "ArmnnDriver.hpp" |
| #include "ConversionUtils.hpp" |
| #include <armnn/ArmNN.hpp> |
| enum class ConversionResult |
| // A helper template class performing the conversion from an AndroidNN driver Model representation, |
| // to an armnn::INetwork object |
| template<typename HalPolicy> |
| class ModelToINetworkConverter |
| using HalModel = typename HalPolicy::Model; |
| ModelToINetworkConverter(const std::vector<armnn::BackendId>& backends, |
| const std::set<unsigned int>& forcedUnsupportedOperations); |
| ConversionResult GetConversionResult() const { return m_ConversionResult; } |
| // Returns the ArmNN INetwork corresponding to the input model, if preparation went smoothly, nullptr otherwise. |
| armnn::INetwork* GetINetwork() const { return m_Data.m_Network.get(); } |
| bool IsOperationSupported(uint32_t operationIndex) const; |
| // Shared aggregate input/output/internal data |
| const std::set<unsigned int>& m_ForcedUnsupportedOperations; |
| ConversionResult m_ConversionResult; |
| std::map<uint32_t, bool> m_OperationSupported; |