17#include "../KernelGenerator.h"
18#include "../Validator.h"
26void Validator::visit(
const ir::operation::FullyConnected &) {
_supported =
true; }
28void KernelGenerator::visit(
const ir::operation::FullyConnected &node)
30 const auto output_index{node.getOutputs().at(0)};
32 const auto activation = node.param().activation;
34 throw std::runtime_error(
35 "KernelGenerator(acl_cl): FullyConnected 16x1Float32 weights is not supported.");
39 node, _ctx, _tensor_builder, _tensor_reg);
42 acl_common::AclActivationBuilder<::arm_compute::ICLTensor, ::arm_compute::CLActivationLayer,
43 acl_common::AclFunction>;
45 _return_fn = std::make_unique<exec::FunctionSequence>(
46 std::move(fn), ActivationBuilder::generate(activation,
output_tensor->handle()));
Class to run FullyConnected Layer after reshaping input tensor.
std::unique_ptr< exec::IFunction > _return_fn
std::unique_ptr< exec::IFunction > kernelGenFullyConnected(const ir::operation::FullyConnected &node, const ir::Operands &operands, const std::shared_ptr< T_TensorBuilder > &tensor_builder, const std::shared_ptr< T_TensorRegistry > &tensor_reg)
::onert::backend::acl_common::AclActivationBuilder< ::arm_compute::ITensor, ::arm_compute::NEActivationLayer, acl_common::AclFunction > ActivationBuilder