24 #ifndef ARM_COMPUTE_CL_FULLY_CONNECTED_H 25 #define ARM_COMPUTE_CL_FULLY_CONNECTED_H 39 class ClConvertFullyConnectedWeights;
42 class ClGemmLowpMatrixMultiplyCore;
109 TransposedWeights = 10,
110 ConvertedWeights = 11,
115 std::unique_ptr<ClConvertFullyConnectedWeights> _convert_weights;
116 std::unique_ptr<ClFlatten> _flatten;
117 std::unique_ptr<ClTranspose> _reshape_weights;
118 std::unique_ptr<ClGemm> _mm_gemm;
119 std::unique_ptr<ClGemmLowpMatrixMultiplyCore> _mm_gemmlowp;
130 bool _are_weights_converted{
true };
131 bool _are_weights_reshaped{
true };
132 bool _is_fc_after_conv{
true };
133 bool _is_quantized{
false };
134 bool _is_prepared{
false };
void prepare(ITensorPack &tensors) override
Prepare the function for executing.
void run(ITensorPack &tensors) override
Run the kernels contained in the function.
Fully connected layer info.
Store the tensor's metadata.
void configure(const CLCompileContext &compile_context, ITensorInfo *src, ITensorInfo *weights, ITensorInfo *biases, ITensorInfo *dst, FullyConnectedLayerInfo fc_info=FullyConnectedLayerInfo())
Set the input and output tensors.
SimpleTensor< float > src
Copyright (c) 2017-2021 Arm Limited.
std::vector< MemoryInfo > MemoryRequirements
static Status validate(const ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *dst, FullyConnectedLayerInfo fc_info=FullyConnectedLayerInfo())
Static function to check if given info will lead to a valid configuration.
Basic function to compute a Fully Connected layer on OpenCL.
Store the tensor's metadata.
Basic interface for functions which have a single async CL kernel.
experimental::MemoryRequirements workspace() const override
Return the memory requirements required by the workspace.