41 struct NEArgMinMaxLayer::Impl
43 MemoryGroup memory_group{};
44 std::shared_ptr<IMemoryManager> memory_manager{};
45 std::unique_ptr<NEReductionOperation> reduction_function{};
46 std::unique_ptr<NECast> cast_function{};
47 std::unique_ptr<Tensor> tmp_reduction_result{};
54 _impl->memory_manager = std::move(memory_manager);
60 _impl->reduction_function = std::make_unique<NEReductionOperation>();
64 _impl->memory_group =
MemoryGroup(std::move(_impl->memory_manager));
65 _impl->cast_function = std::make_unique<NECast>();
66 _impl->tmp_reduction_result = std::make_unique<Tensor>();
67 _impl->reduction_function->configure(
input, _impl->tmp_reduction_result.get(), axis, op,
false);
69 _impl->memory_group.manage(_impl->tmp_reduction_result.get());
70 _impl->tmp_reduction_result->allocator()->allocate();
74 _impl->reduction_function->configure(
input, output, axis, op,
false);
89 _impl->reduction_function->run();
90 if (_impl->tmp_reduction_result !=
nullptr)
92 _impl->cast_function->run();