Expression Templates Library (ETL)
Static Public Member Functions | List of all members
etl::impl::standard::max_pool_2d Struct Reference

Functor for 2D Max Pooling. More...

#include <max_pooling.hpp>

Static Public Member Functions

template<typename A >
static auto pool_block_border (const A &sub, size_t j, size_t k, size_t c1, size_t c2, size_t s1, size_t s2, size_t p1, size_t p2)
 Pool a block of the sub expression around the border (with padding) More...
 
template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, typename A >
static auto pool_block_2d (const A &sub, size_t j, size_t k)
 Pool a block of the sub expression. More...
 
template<size_t C1, size_t C2, size_t S1, size_t S2, typename A >
static auto pool_block_3d (const A &sub, size_t n, size_t j, size_t k)
 Pool a block of the sub expression. More...
 
template<size_t C1, size_t C2, size_t S1, size_t S2, typename A >
static auto pool_block_4d (const A &sub, size_t m, size_t n, size_t j, size_t k)
 Pool a block of the sub expression. More...
 
template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_2d A, typename M >
static void apply (const A &sub, M &&m)
 Apply the functor on sub and store the result in m. More...
 
template<typename A >
static auto pool_block_2d (const A &sub, size_t j, size_t k, size_t c1, size_t c2, size_t s1, size_t s2, size_t p1, size_t p2)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_2d (const A &sub, size_t j, size_t k, size_t c1, size_t c2)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_2d_2x2 (const A &sub, size_t j, size_t k)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_3d (const A &sub, size_t n, size_t j, size_t k, size_t c1, size_t c2, size_t s1, size_t s2)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_3d (const A &sub, size_t n, size_t j, size_t k, size_t c1, size_t c2)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_3d_2x2 (const A &sub, size_t n, size_t j, size_t k)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_4d (const A &sub, size_t m, size_t n, size_t j, size_t k, size_t c1, size_t c2, size_t s1, size_t s2)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_4d (const A &sub, size_t m, size_t n, size_t j, size_t k, size_t c1, size_t c2)
 Pool a block of the sub expression. More...
 
template<typename A >
static auto pool_block_4d_2x2 (const A &sub, size_t m, size_t n, size_t j, size_t k)
 Pool a block of the sub expression. More...
 
template<etl_2d A, typename M >
static void apply (const A &sub, M &&m, size_t c1, size_t c2, size_t s1, size_t s2, size_t p1, size_t p2)
 Apply the functor on sub and store the result in m. More...
 
template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_3d A, typename M >
static void apply (const A &sub, M &&m)
 Apply the functor on sub and store the result in m. More...
 
template<etl_3d A, typename M >
static void apply (const A &sub, M &&m, size_t c1, size_t c2, size_t s1, size_t s2, size_t p1, size_t p2)
 Apply the functor on sub and store the result in m. More...
 
template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_4d A, typename M >
static void apply (const A &sub, M &&m)
 Apply the functor on sub and store the result in m. More...
 
template<etl_4d A, typename M >
static void apply (const A &sub, M &&m, size_t c1, size_t c2, size_t s1, size_t s2, size_t p1, size_t p2)
 Apply the functor on sub and store the result in m. More...
 
template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_5d_and_plus A, typename M >
static void apply (const A &sub, M &&m)
 Apply the functor on sub and store the result in m. More...
 
template<etl_5d_and_plus A, typename M >
static void apply (const A &sub, M &&m, size_t c1, size_t c2, size_t s1, size_t s2, size_t p1, size_t p2)
 Apply the functor on sub and store the result in m. More...
 

Detailed Description

Functor for 2D Max Pooling.

Member Function Documentation

◆ apply() [1/8]

template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_2d A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
S1The first dimension stride
S2The second dimension stride

◆ apply() [2/8]

template<etl_2d A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2,
size_t  p1,
size_t  p2 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ apply() [3/8]

template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_3d A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio

◆ apply() [4/8]

template<etl_3d A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2,
size_t  p1,
size_t  p2 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ apply() [5/8]

template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_4d A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio

◆ apply() [6/8]

template<etl_4d A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2,
size_t  p1,
size_t  p2 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ apply() [7/8]

template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, etl_5d_and_plus A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
S1The first dimension stride
S2The second dimension stride

◆ apply() [8/8]

template<etl_5d_and_plus A, typename M >
static void etl::impl::standard::max_pool_2d::apply ( const A &  sub,
M &&  m,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2,
size_t  p1,
size_t  p2 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
subThe sub expression
mThe storage matrix
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_2d() [1/3]

template<size_t C1, size_t C2, size_t S1, size_t S2, size_t P1, size_t P2, typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_2d ( const A &  sub,
size_t  j,
size_t  k 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
S1The first dimension stride
S2The second dimension stride

◆ pool_block_2d() [2/3]

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_2d ( const A &  sub,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2,
size_t  p1,
size_t  p2 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_2d() [3/3]

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_2d ( const A &  sub,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_2d_2x2()

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_2d_2x2 ( const A &  sub,
size_t  j,
size_t  k 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_3d() [1/3]

template<size_t C1, size_t C2, size_t S1, size_t S2, typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_3d ( const A &  sub,
size_t  n,
size_t  j,
size_t  k 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
S1The first dimension stride
S2The second dimension stride

◆ pool_block_3d() [2/3]

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_3d ( const A &  sub,
size_t  n,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_3d() [3/3]

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_3d ( const A &  sub,
size_t  n,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_3d_2x2()

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_3d_2x2 ( const A &  sub,
size_t  n,
size_t  j,
size_t  k 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_4d() [1/3]

template<size_t C1, size_t C2, size_t S1, size_t S2, typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_4d ( const A &  sub,
size_t  m,
size_t  n,
size_t  j,
size_t  k 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
S1The first dimension stride
S2The second dimension stride

◆ pool_block_4d() [2/3]

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_4d ( const A &  sub,
size_t  m,
size_t  n,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_4d() [3/3]

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_4d ( const A &  sub,
size_t  m,
size_t  n,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_4d_2x2()

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_4d_2x2 ( const A &  sub,
size_t  m,
size_t  n,
size_t  j,
size_t  k 
)
inlinestatic

Pool a block of the sub expression.

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio

◆ pool_block_border()

template<typename A >
static auto etl::impl::standard::max_pool_2d::pool_block_border ( const A &  sub,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2,
size_t  s1,
size_t  s2,
size_t  p1,
size_t  p2 
)
inlinestatic

Pool a block of the sub expression around the border (with padding)

Parameters
subThe sub expression
jThe first index of the block
kThe second index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio
s1The first dimension stride
s2The second dimension stride
p1The first dimension padding
p2The second dimension padding

The documentation for this struct was generated from the following file: