diff options
Diffstat (limited to 'runtime/onert/backend/cpu/ops/FullyConnectedLayer.h')
-rw-r--r-- | runtime/onert/backend/cpu/ops/FullyConnectedLayer.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/runtime/onert/backend/cpu/ops/FullyConnectedLayer.h b/runtime/onert/backend/cpu/ops/FullyConnectedLayer.h index dd5ef2436..f1242677c 100644 --- a/runtime/onert/backend/cpu/ops/FullyConnectedLayer.h +++ b/runtime/onert/backend/cpu/ops/FullyConnectedLayer.h @@ -18,6 +18,7 @@ #define __ONERT_BACKEND_CPU_OPS_FULLYCONNECTEDLAYER_H__ #include <backend/IPortableTensor.h> +#include "../ExternalContext.h" #include "OperationUtils.h" #include <exec/IFunction.h> @@ -52,8 +53,11 @@ public: void fullyConnectedHybrid(); + void fullyConnectedSparseWeight(); + void configure(const IPortableTensor *input, const IPortableTensor *weights, - const IPortableTensor *bias, ir::Activation activation, IPortableTensor *output); + const IPortableTensor *bias, ir::Activation activation, IPortableTensor *output, + const std::shared_ptr<ExternalContext> &external_context); void run() override; @@ -68,10 +72,13 @@ private: ir::Activation _activation; std::unique_ptr<nnfw::cker::FCTempArena> _temp_arena; + std::shared_ptr<ExternalContext> _external_context; + bool _is_hybrid; #ifdef USE_RUY_GEMV uint8_t *_cached_weights = nullptr; // weights to be cached and a key + bool _is_weights_freed = false; // is weights freed? #endif }; |