MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / compute_output_descriptor

Method compute_output_descriptor

src/graph/nodes/PoolingLayerNode.cpp:46–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44}
45
46TensorDescriptor PoolingLayerNode::compute_output_descriptor(const TensorDescriptor &input_descriptor,
47 PoolingLayerInfo info)
48{
49 unsigned int pooled_width = 0;
50 unsigned int pooled_height = 0;
51
52 const unsigned int input_width = get_dimension_size(input_descriptor, DataLayoutDimension::WIDTH);
53 const unsigned int input_height = get_dimension_size(input_descriptor, DataLayoutDimension::HEIGHT);
54 const unsigned int pool_size_x = info.is_global_pooling ? input_width : info.pool_size.width;
55 const unsigned int pool_size_y = info.is_global_pooling ? input_height : info.pool_size.height;
56
57 std::tie(pooled_width, pooled_height) =
58 scaled_dimensions(input_width, input_height, pool_size_x, pool_size_y, info.pad_stride_info);
59
60 const DataLayout data_layout = input_descriptor.layout;
61 TensorDescriptor output_descriptor = input_descriptor;
62 output_descriptor.shape.set(get_dimension_idx(data_layout, DataLayoutDimension::WIDTH), pooled_width);
63 output_descriptor.shape.set(get_dimension_idx(data_layout, DataLayoutDimension::HEIGHT), pooled_height);
64
65 return output_descriptor;
66}
67
68bool PoolingLayerNode::forward_descriptors()
69{

Callers

nothing calls this directly

Calls 4

get_dimension_sizeFunction · 0.85
scaled_dimensionsFunction · 0.85
get_dimension_idxFunction · 0.85
setMethod · 0.45

Tested by

no test coverage detected