Rate this Page

Struct FoldOptions#

Struct Documentation#

structFoldOptions#

Options for theFold module.

Example:

Foldmodel(FoldOptions({8,8},{3,3}).dilation(2).padding({2,1}).stride(2));

Public Functions

inlineFoldOptions(ExpandingArray<2>output_size,ExpandingArray<2>kernel_size)#
inlineautooutput_size(constExpandingArray<2>&new_output_size)->decltype(*this)#

describes the spatial shape of the large containing tensor of the sliding local blocks.

It is useful to resolve the ambiguity when multiple input shapes map to same number of sliding blocks, e.g., with stride > 0.

inlineautooutput_size(ExpandingArray<2>&&new_output_size)->decltype(*this)#
inlineconstExpandingArray<2>&output_size()constnoexcept#
inlineExpandingArray<2>&output_size()noexcept#
inlineautokernel_size(constExpandingArray<2>&new_kernel_size)->decltype(*this)#

the size of the sliding blocks

inlineautokernel_size(ExpandingArray<2>&&new_kernel_size)->decltype(*this)#
inlineconstExpandingArray<2>&kernel_size()constnoexcept#
inlineExpandingArray<2>&kernel_size()noexcept#
inlineautodilation(constExpandingArray<2>&new_dilation)->decltype(*this)#

controls the spacing between the kernel points; also known as the à trous algorithm.

inlineautodilation(ExpandingArray<2>&&new_dilation)->decltype(*this)#
inlineconstExpandingArray<2>&dilation()constnoexcept#
inlineExpandingArray<2>&dilation()noexcept#
inlineautopadding(constExpandingArray<2>&new_padding)->decltype(*this)#

controls the amount of implicit zero-paddings on both sides for padding number of points for each dimension before reshaping.

inlineautopadding(ExpandingArray<2>&&new_padding)->decltype(*this)#
inlineconstExpandingArray<2>&padding()constnoexcept#
inlineExpandingArray<2>&padding()noexcept#
inlineautostride(constExpandingArray<2>&new_stride)->decltype(*this)#

controls the stride for the sliding blocks.

inlineautostride(ExpandingArray<2>&&new_stride)->decltype(*this)#
inlineconstExpandingArray<2>&stride()constnoexcept#
inlineExpandingArray<2>&stride()noexcept#