35 : _num_outputs(num_outputs), _out_quant_info(
std::move(out_quant_info)), _info(fc_info)
51 unsigned int num_weights = 1;
54 if(num_dimensions == 2 || num_dimensions == 4)
58 for(
unsigned int i = 0; i < num_dimensions; i++)
60 num_weights *= input_descriptor.
shape[i];
73 if(!weights_quant_info.
empty())
75 weights_descriptor.
quant_info = weights_quant_info;
78 return weights_descriptor;
89 batches = input_descriptor.
shape[3];
97 if(!out_quant_info.
empty())
102 return output_descriptor;
TensorShape shape
Tensor shape.
size_t num_outputs() const
Returns number of outputs of the node.
FullyConnectedLayerInfo info() const
Fully connected layer addition information.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
void accept(INodeVisitor &v) override
Accepts a node visitor.
Fully connected layer info.
Activation Layer Information class.
SimpleTensor< float > src
Copyright (c) 2017-2021 Arm Limited.
TensorDescriptor & desc()
TensorInfo metadata accessor.
Quantization information.
QuantizationInfo quant_info
Quantization info.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
virtual void visit(INode &n)=0
Visit INode.
Tensor * output(size_t idx) const
Returns the tensor of a given output of the node.
TensorDescriptor configure_output(size_t idx) const override
Calculates output configuration.
TensorID input_id(size_t idx) const
Returns the tensor ID of a given input of the node.
static TensorDescriptor compute_output_descriptor(const TensorDescriptor &input_descriptor, unsigned int num_outputs, const QuantizationInfo &out_quant_info=QuantizationInfo())
Computes fully connected layer output descriptor.
ActivationLayerInfo activation_info
Fused activation to apply after the matrix multiplication.
constexpr EdgeID EmptyEdgeID
NodeType type() const override
Returns node's type.
bool empty() const
Indicates whether this QuantizationInfo has valid settings or not.
void set_fused_activation(ActivationLayerInfo fused_activation)
Sets fused activation.
unsigned int num_dimensions() const
Returns the effective dimensionality of the tensor.
FullyConnectedLayerNode(unsigned int num_outputs, QuantizationInfo out_quant_info=QuantizationInfo(), FullyConnectedLayerInfo fc_info=FullyConnectedLayerInfo())
Constructor.
bool forward_descriptors() override
Forwards descriptor information to outputs if possible.
TensorID output_id(size_t idx) const
Returns the tensor ID of a given output of the node.
bool transpose_weights
Transpose weights if true.
static TensorDescriptor compute_weights_descriptor(const TensorDescriptor &input_descriptor, unsigned int num_outputs, FullyConnectedLayerInfo fc_info=FullyConnectedLayerInfo(), const QuantizationInfo &weights_quant_info=QuantizationInfo())
Computes weights descriptor.
constexpr TensorID NullTensorID
Constant NodeID specifying an equivalent of null node.
Tensor * input(size_t idx) const
Returns the tensor of a given input of the node.