Caffe2 - C++ API
A deep learning, cross platform ML framework
Public Types | Static Public Member Functions | Static Public Attributes
caffe2::AbstractSparseUnsortedSegmentDef< T, SIndex, Context, ReducerDef > Struct Template Reference

Public Types

using OpDef = ReducerDef
 
using Reducer = typename ReducerDef::template Reducer< T, Context >
 
using ReducerGradient = typename ReducerDef::template ReducerGradient< T, Context >
 
using ForwardOp = AbstractUnsortedSegmentOp< T, SIndex, Context, Reducer >
 
using BackwardOp = AbstractUnsortedSegmentGradientOp< T, SIndex, Context, ReducerGradient >
 
using GetGradient = SegmentOpGetGradient< ForwardOp, ReducerDef, ReducerGradient, false, true >
 

Static Public Member Functions

static void PopulateSchema (OpSchema &schema)
 

Static Public Attributes

static constexpr const char * basename = "SparseUnsortedSegment"
 
static constexpr const char * doc
 

Detailed Description

template<typename T, typename SIndex, typename Context, typename ReducerDef>
struct caffe2::AbstractSparseUnsortedSegmentDef< T, SIndex, Context, ReducerDef >

Definition at line 1290 of file segment_reduction_op.h.

Field Documentation

template<typename T , typename SIndex , typename Context , typename ReducerDef >
constexpr const char* caffe2::AbstractSparseUnsortedSegmentDef< T, SIndex, Context, ReducerDef >::doc
static
Initial value:
= R"DOC(
Pulls in slices of the input tensor, groups them into segments and applies
'{op}' to each segment. Segments ids can appear in arbitrary order (unlike in
SparseSortedSegment{op}).
This op is basically Gather and UnsortedSegment{op} fused together.
INDICES should contain integers in range 0..N-1 where N is the first dimension
of DATA. INDICES represent which slices of DATA need to be pulled in.
SEGMENT_IDS is a vector that maps each referenced slice of the DATA to a
particular group (segment). Values belonging to the same segment are aggregated
together. SEGMENT_IDS should have the same dimension as INDICES.
If `num_segments` argument is passed it would be used as a first dimension for
the output. Otherwise, it'd be dynamically calculated from as the max value of
SEGMENT_IDS plus one. Other output dimensions are inherited from the input
tensor.
{op_doc}
)DOC"

Definition at line 1293 of file segment_reduction_op.h.


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