|
using | OpDef = ReducerDef |
|
using | Reducer = typename ReducerDef::template Reducer< T, Context > |
|
using | ReducerGradient = typename ReducerDef::template ReducerGradient< T, Context > |
|
using | ForwardOp = AbstractLengthsOp< T, SIndex, Context, Reducer, false > |
|
using | BackwardOp = AbstractLengthsGradientOp< T, SIndex, Context, ReducerGradient > |
|
using | WithMainInputBackwardOp = AbstractLengthsWithMainInputGradientOp< T, SIndex, Context, ReducerGradient, false > |
|
using | WithMainInputAndForwardOutputBackwardOp = AbstractLengthsWithMainInputAndForwardOutputGradientOp< T, SIndex, Context, ReducerGradient > |
|
using | GetGradient = LengthsOpGetGradient< ForwardOp, ReducerDef, ReducerGradient, false, GradientNeedIndices > |
|
|
static void | PopulateSchema (OpSchema &schema) |
|
|
static constexpr const char * | basename = "Lengths" |
|
static constexpr const char * | doc |
|
template<typename T, typename SIndex, typename Context, typename ReducerDef, bool GradientNeedIndices = false>
struct caffe2::AbstractLengthsDef< T, SIndex, Context, ReducerDef, GradientNeedIndices >
Definition at line 1896 of file segment_reduction_op.h.
template<typename T , typename SIndex , typename Context , typename ReducerDef , bool GradientNeedIndices = false>
Initial value:= R"DOC(
Applies '{op}' to each segment of the input tensor. Segments are defined
by their LENGTHS.
LENGTHS is a vector that maps each of the first dimension slices of the
DATA to a particular group (segment). Values belonging to the same segment are
aggregated together.
For example LENGTHS = [2, 1] stands for segments DATA[0..1] and DATA[2]
The first dimension of the output is equal to the number of input segments,
i.e. `len(LENGTHS)`. Other dimensions are inherited from the input tensor.
{op_doc}
)DOC"
Definition at line 1899 of file segment_reduction_op.h.
The documentation for this struct was generated from the following file: