Compute Library
18.05
|
Namespaces | |
backends | |
detail | |
frontend | |
Data Structures | |
class | ActivationLayerNode |
Activation Layer node. More... | |
class | BatchNormalizationLayerNode |
Batch Normalization Layer node. More... | |
class | ConstNode |
Const node. More... | |
class | ConvolutionLayerNode |
Convolution Layer node. More... | |
class | DefaultNodeVisitor |
Default visitor implementation. More... | |
class | DepthConcatenateLayerNode |
Depth Concatenation Layer node. More... | |
class | DepthConcatSubTensorMutator |
Mutation pass to optimize depth concatenation operations by using sub-tensors. More... | |
class | DepthwiseConvolutionLayerNode |
Depthwise Convolution Layer node. More... | |
class | DotGraphPrinter |
Graph printer interface. More... | |
class | DotGraphVisitor |
Graph printer visitor. More... | |
class | Edge |
Graph Edge. More... | |
class | EltwiseLayerNode |
Eltwise Layer node. More... | |
struct | ExecutionTask |
Execution task. More... | |
struct | ExecutionWorkload |
Execution workload. More... | |
class | FlattenLayerNode |
Flatten Layer node. More... | |
class | FullyConnectedLayerNode |
Fully Connected Layer node. More... | |
class | Graph |
Graph class. More... | |
class | GraphBuilder |
Graph builder class. More... | |
struct | GraphConfig |
Graph configuration structure Device target types. More... | |
class | GraphContext |
Graph context. More... | |
class | GraphManager |
Graph manager class. More... | |
class | IGraphMutator |
Graph mutator interface. More... | |
class | IGraphPrinter |
Graph printer interface. More... | |
class | INode |
Node interface. More... | |
class | INodeVisitor |
Node visitor interface. More... | |
class | InPlaceOperationMutator |
Mutation pass to optimize operations that can be performed in-place. More... | |
class | InputNode |
Input Layer node. More... | |
class | ITensorAccessor |
Tensor accessor interface. More... | |
class | ITensorHandle |
Tensor handle interface object. More... | |
struct | MemoryManagerContext |
Contains structs required for memory management. More... | |
class | NodeFusionMutator |
Mutation pass to fuss nodes. More... | |
struct | NodeIdxPair |
NodeID-index struct. More... | |
struct | NodeParams |
Common node parameters. More... | |
class | NormalizationLayerNode |
Normalization Layer node. More... | |
class | OutputNode |
Output Layer node. More... | |
class | PassManager |
Pass manager. More... | |
class | PoolingLayerNode |
Pooling Layer node. More... | |
class | ReshapeLayerNode |
Reshape Layer node. More... | |
class | SoftmaxLayerNode |
Softmax Layer node. More... | |
class | SplitLayerNode |
Split Layer node. More... | |
class | SplitLayerSubTensorMutator |
Mutation pass to optimize split operations by using sub-tensors. More... | |
class | TaskExecutor |
Task executor. More... | |
class | Tensor |
Tensor object. More... | |
struct | TensorDescriptor |
Tensor metadata class. More... | |
Typedefs | |
using | ITensorAccessorUPtr = std::unique_ptr< ITensorAccessor > |
using | TensorID = unsigned int |
using | NodeID = unsigned int |
using | EdgeID = unsigned int |
using | Activation = arm_compute::ActivationLayerInfo::ActivationFunction |
GraphID strong type. More... | |
using | GraphID = strong_type::StrongType< unsigned int, struct graph_id_t, strong_type::Comparable > |
Constant TensorID specifying an equivalent of null tensor. More... | |
Enumerations | |
enum | Target { UNSPECIFIED, NEON, CL, GC } |
enum | EltwiseOperation { ADD, SUB, MUL } |
Supported Element-wise operations. More... | |
enum | ConvolutionMethod { DEFAULT, GEMM, DIRECT, WINOGRAD } |
Supported Convolution layer methods. More... | |
enum | DepthwiseConvolutionMethod { DEFAULT, GEMV, OPTIMIZED_3x3 } |
Supported Depthwise Convolution layer methods. More... | |
enum | FastMathHint { ENABLED, DISABLED } |
Enable or disable fast math for Convolution layer. More... | |
enum | NodeType { ActivationLayer, BatchNormalizationLayer, ConvolutionLayer, DepthConcatenateLayer, DepthwiseConvolutionLayer, EltwiseLayer, FlattenLayer, FullyConnectedLayer, NormalizationLayer, PoolingLayer, ReshapeLayer, ScaleLayer, SoftmaxLayer, SplitLayer, Input, Output, Const } |
Supported nodes. More... | |
enum | MemoryManagerAffinity { Buffer, Offset } |
Backend Memory Manager affinity. More... | |
Functions | |
std::vector< NodeID > | bfs (Graph &g) |
Breadth first search traversal. More... | |
template<typename T > | |
inline::std::ostream & | operator<< (::std::ostream &os, const arm_compute::Dimensions< T > &dimensions) |
Formatted output of the Dimensions type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const Size2D &size) |
Formatted output of the Size2D type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const DataType &data_type) |
Formatted output of the DataType type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const Target &target) |
Formatted output of the Target. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const DataLayout &data_layout) |
Formatted output of the DataLayout. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const ActivationLayerInfo::ActivationFunction &act_function) |
Formatted output of the activation function type. More... | |
std::string | to_string (const ActivationLayerInfo::ActivationFunction &act_function) |
inline::std::ostream & | operator<< (::std::ostream &os, const PoolingType &pool_type) |
Formatted output of the PoolingType type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const NormType &norm_type) |
Formatted output of the NormType type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const EltwiseOperation &eltwise_op) |
Formatted output of the EltwiseOperation type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const ConvolutionMethod &method) |
Formatted output of the ConvolutionMethod type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const FastMathHint &hint) |
Formatted output of the FastMathHint type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const DepthwiseConvolutionMethod &method) |
Formatted output of the DepthwiseConvolutionMethod type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const PadStrideInfo &pad_stride_info) |
Formatted output of the PadStrideInfo type. More... | |
inline::std::ostream & | operator<< (::std::ostream &os, const QuantizationInfo &quantization_info) |
Formatted output of the QuantizationInfo type. More... | |
TensorDescriptor | get_tensor_descriptor (const Graph &g, TensorID tid) |
Returns the tensor descriptor of a given tensor. More... | |
Status | set_tensor_accessor (Tensor *tensor, std::unique_ptr< ITensorAccessor > accessor) |
Sets an accessor on a given tensor. More... | |
bool | is_target_supported (Target target) |
Checks if a specific target is supported. More... | |
Target | get_default_target () |
Returns default target for execution. More... | |
void | force_target_to_graph (Graph &g, Target target) |
Forces a single target to all graph constructs. More... | |
PassManager | create_default_pass_manager (Target target) |
Creates a default PassManager. More... | |
void | setup_default_graph_context (GraphContext &ctx) |
Default setups the graph context if not done manually. More... | |
size_t | get_dimension_size (const TensorDescriptor &descriptor, const DataLayoutDimension data_layout_dimension) |
Get size of a tensor's given dimension depending on its layout. More... | |
size_t | get_dimension_idx (const TensorDescriptor &descriptor, const DataLayoutDimension data_layout_dimension) |
Get index of a tensor's given dimension depending on its layout. More... | |
void | execute_task (ExecutionTask &task) |
Variables | |
constexpr TensorID | NullTensorID = std::numeric_limits<TensorID>::max() |
Constant NodeID specifying an equivalent of null node. More... | |
constexpr NodeID | EmptyNodeID = std::numeric_limits<NodeID>::max() |
Constant EdgeID specifying an equivalent of null edge. More... | |
constexpr EdgeID | EmptyEdgeID = std::numeric_limits<EdgeID>::max() |
using GraphID = strong_type::StrongType<unsigned int, struct graph_id_t, strong_type::Comparable> |
using ITensorAccessorUPtr = std::unique_ptr<ITensorAccessor> |
Definition at line 50 of file ITensorAccessor.h.
|
strong |
Supported Convolution layer methods.
Enumerator | |
---|---|
DEFAULT |
Default approach using internal heuristics. |
GEMM |
GEMM based convolution. |
DIRECT |
Deep direct convolution. |
WINOGRAD |
Winograd based convolution. |
Definition at line 101 of file Types.h.
|
strong |
Supported Depthwise Convolution layer methods.
Enumerator | |
---|---|
DEFAULT |
Default approach using internal heuristics. |
GEMV |
Generic GEMV based depthwise convolution. |
OPTIMIZED_3x3 |
Optimized 3x3 direct depthwise convolution. |
Definition at line 110 of file Types.h.
|
strong |
|
strong |
|
strong |
|
strong |
Supported nodes.
Definition at line 125 of file Types.h.
|
strong |
Breadth first search traversal.
g | Graph to traverse |
Definition at line 77 of file BFS.h.
References arm_compute::graph::detail::all_inputs_are_visited(), ARM_COMPUTE_ERROR_ON, Edge::consumer(), Edge::consumer_id(), Graph::edge(), EmptyNodeID, Graph::inputs(), Graph::node(), Graph::nodes(), and INode::output_edges().
PassManager arm_compute::graph::create_default_pass_manager | ( | Target | target | ) |
Creates a default PassManager.
[in] | target | Target to create the pass manager for |
Referenced by set_tensor_accessor().
void arm_compute::graph::execute_task | ( | ExecutionTask & | task | ) |
Forces a single target to all graph constructs.
[in] | g | Graph to force target on |
[in] | target | Target to force |
Referenced by set_tensor_accessor().
Target arm_compute::graph::get_default_target | ( | ) |
Returns default target for execution.
Referenced by set_tensor_accessor().
size_t arm_compute::graph::get_dimension_idx | ( | const TensorDescriptor & | descriptor, |
const DataLayoutDimension | data_layout_dimension | ||
) |
Get index of a tensor's given dimension depending on its layout.
[in] | descriptor | Descriptor |
[in] | data_layout_dimension | Tensor data layout dimension |
Referenced by set_tensor_accessor().
size_t arm_compute::graph::get_dimension_size | ( | const TensorDescriptor & | descriptor, |
const DataLayoutDimension | data_layout_dimension | ||
) |
Get size of a tensor's given dimension depending on its layout.
[in] | descriptor | Descriptor |
[in] | data_layout_dimension | Tensor data layout dimension |
Referenced by set_tensor_accessor().
|
inline |
Returns the tensor descriptor of a given tensor.
Definition at line 44 of file Utils.h.
References Tensor::desc(), and Graph::tensor().
bool arm_compute::graph::is_target_supported | ( | Target | target | ) |
Checks if a specific target is supported.
[in] | target | Target to check |
Referenced by set_tensor_accessor().
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const arm_compute::Dimensions< T > & | dimensions | ||
) |
Formatted output of the Dimensions type.
Definition at line 37 of file TypePrinter.h.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const Size2D & | size | ||
) |
Formatted output of the Size2D type.
Definition at line 53 of file TypePrinter.h.
References Size2D::height, and Size2D::width.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const DataType & | data_type | ||
) |
Formatted output of the DataType type.
Definition at line 61 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, arm_compute::F16, arm_compute::F32, arm_compute::F64, arm_compute::QASYMM8, arm_compute::QS16, arm_compute::QS8, arm_compute::S16, arm_compute::S32, arm_compute::S64, arm_compute::S8, arm_compute::SIZET, arm_compute::U16, arm_compute::U32, arm_compute::U64, arm_compute::U8, and arm_compute::UNKNOWN.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const Target & | target | ||
) |
Formatted output of the Target.
Definition at line 121 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, CL, NEON, and UNSPECIFIED.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const DataLayout & | data_layout | ||
) |
Formatted output of the DataLayout.
Definition at line 142 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, arm_compute::NCHW, and arm_compute::NHWC.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const ActivationLayerInfo::ActivationFunction & | act_function | ||
) |
Formatted output of the activation function type.
Definition at line 160 of file TypePrinter.h.
References ActivationLayerInfo::ABS, ARM_COMPUTE_ERROR, ActivationLayerInfo::BOUNDED_RELU, ActivationLayerInfo::LEAKY_RELU, ActivationLayerInfo::LINEAR, ActivationLayerInfo::LOGISTIC, ActivationLayerInfo::LU_BOUNDED_RELU, ActivationLayerInfo::RELU, ActivationLayerInfo::SOFT_RELU, ActivationLayerInfo::SQRT, ActivationLayerInfo::SQUARE, and ActivationLayerInfo::TANH.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const PoolingType & | pool_type | ||
) |
Formatted output of the PoolingType type.
Definition at line 212 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, arm_compute::AVG, arm_compute::L2, and arm_compute::MAX.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const NormType & | norm_type | ||
) |
Formatted output of the NormType type.
Definition at line 233 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, arm_compute::CROSS_MAP, arm_compute::IN_MAP_1D, and arm_compute::IN_MAP_2D.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const EltwiseOperation & | eltwise_op | ||
) |
Formatted output of the EltwiseOperation type.
Definition at line 254 of file TypePrinter.h.
References ADD, ARM_COMPUTE_ERROR, MUL, and SUB.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const ConvolutionMethod & | method | ||
) |
Formatted output of the ConvolutionMethod type.
Definition at line 275 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, DEFAULT, DIRECT, GEMM, and WINOGRAD.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const FastMathHint & | hint | ||
) |
Formatted output of the FastMathHint type.
Definition at line 299 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, DISABLED, and ENABLED.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const DepthwiseConvolutionMethod & | method | ||
) |
Formatted output of the DepthwiseConvolutionMethod type.
Definition at line 317 of file TypePrinter.h.
References ARM_COMPUTE_ERROR, DEFAULT, GEMV, and OPTIMIZED_3x3.
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const PadStrideInfo & | pad_stride_info | ||
) |
Formatted output of the PadStrideInfo type.
Definition at line 338 of file TypePrinter.h.
References PadStrideInfo::pad_bottom(), PadStrideInfo::pad_left(), PadStrideInfo::pad_right(), PadStrideInfo::pad_top(), and PadStrideInfo::stride().
inline ::std::ostream& arm_compute::graph::operator<< | ( | ::std::ostream & | os, |
const QuantizationInfo & | quantization_info | ||
) |
Formatted output of the QuantizationInfo type.
Definition at line 349 of file TypePrinter.h.
References QuantizationInfo::offset, and QuantizationInfo::scale.
|
inline |
Sets an accessor on a given tensor.
[in] | tensor | Tensor to set the accessor to |
[in] | accessor | Accessor to set |
Definition at line 56 of file Utils.h.
References ARM_COMPUTE_RETURN_ERROR_ON, create_default_pass_manager(), force_target_to_graph(), get_default_target(), get_dimension_idx(), get_dimension_size(), is_target_supported(), Tensor::set_accessor(), and setup_default_graph_context().
void arm_compute::graph::setup_default_graph_context | ( | GraphContext & | ctx | ) |
Default setups the graph context if not done manually.
[in] | ctx | Graph Context |
Referenced by set_tensor_accessor().
|
inline |
Definition at line 204 of file TypePrinter.h.
Constant EdgeID specifying an equivalent of null edge.
Definition at line 67 of file Types.h.
Referenced by arm_compute::graph::detail::all_inputs_are_visited(), bfs(), Edge::consumer_id(), BranchLayer::create_layer(), IStream::forward_tail(), and Edge::producer_id().
Constant NodeID specifying an equivalent of null node.
Definition at line 65 of file Types.h.
Referenced by IStream::forward_tail(), and Edge::tensor_id().