This commit enables to support Logistic op for ACL neon.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
ActivationBuilder{*_execution_builder}.append(activation, ofm_alloc->handle());
}
+void KernelGenerator::visit(const model::operation::LogisticNode &node)
+{
+ const auto ofm_index{node.getOutputs().at(0)};
+ const auto ifm_index{node.getInputs().at(model::operation::LogisticNode::Input::INPUT)};
+
+ auto ofm_alloc = _tensor_builder->at(ofm_index).get();
+ auto ifm_alloc = _tensor_builder->at(ifm_index).get();
+
+ const ::arm_compute::ActivationLayerInfo act_info{
+ ::arm_compute::ActivationLayerInfo::ActivationFunction::LOGISTIC};
+
+ auto fn = nnfw::cpp14::make_unique<::arm_compute::NEActivationLayer>();
+
+ fn->configure(ifm_alloc->handle(), ofm_alloc->handle(), act_info);
+
+ auto acl_fn = asAclFunction(std::move(fn));
+
+ _execution_builder->append(std::move(acl_fn));
+}
+
void KernelGenerator::visit(const model::operation::MulNode &node)
{
const auto ofm_index{node.getOutputs().at(0)};
void visit(const model::operation::FullyConnectedNode &) override;
void visit(const model::operation::L2NormalizationNode &) override;
void visit(const model::operation::L2Pool2DNode &) override;
+ void visit(const model::operation::LogisticNode &) override;
void visit(const model::operation::MulNode &) override;
void visit(const model::operation::ReLUNode &) override;
void visit(const model::operation::ReLU1Node &) override;
void ShapeFixer::visit(const model::operation::L2Pool2DNode &) { /* DO NOTHING */}
+void ShapeFixer::visit(const model::operation::LogisticNode &) { /* DO NOTHING */}
+
void ShapeFixer::visit(const model::operation::MulNode &node)
{
const auto lhs_index{node.getInputs().at(model::operation::MulNode::Input::LHS)};
void visit(const model::operation::FullyConnectedNode &) override;
void visit(const model::operation::L2NormalizationNode &) override;
void visit(const model::operation::L2Pool2DNode &) override;
+ void visit(const model::operation::LogisticNode &) override;
void visit(const model::operation::MulNode &) override;
void visit(const model::operation::ReLUNode &) override;
void visit(const model::operation::ReLU1Node &) override;
GeneratedTests.local_response_norm*
GeneratedTests.logical_and_ex*
GeneratedTests.logical_or_ex*
-GeneratedTests.logistic*
GeneratedTests.lsh_projection*
GeneratedTests.lstm*
GeneratedTests.mobilenet*
depthwise_conv_2d
fullyconnected/fc1
l2_pool_2d
+logistic
max_pool_2d
relu
relu6