1 #include "caffe2/operators/merge_id_lists_op.h" 5 REGISTER_CPU_OPERATOR(MergeIdLists, MergeIdListsOp<CPUContext>);
7 OPERATOR_SCHEMA(MergeIdLists)
8 .NumInputs([](
int n) {
return (n > 0 && n % 2 == 0); })
11 MergeIdLists: Merge multiple ID_LISTs into a single ID_LIST. 13 An ID_LIST is a list of IDs (may be ints, often longs) that represents a single 14 feature. As described in https://caffe2.ai/docs/sparse-operations.html, a batch 15 of ID_LIST examples is represented as a pair of lengths and values where the 16 `lengths` (int32) segment the `values` or ids (int32/int64) into examples. 18 Given multiple inputs of the form lengths_0, values_0, lengths_1, values_1, ... 19 which correspond to lengths and values of ID_LISTs of different features, this 20 operator produces a merged ID_LIST that combines the ID_LIST features. The 21 final merged output is described by a lengths and values vector. 23 WARNING: The merge makes no guarantee about the relative order of ID_LISTs 24 within a batch. This can be an issue if ID_LIST are order sensitive. 26 .Input(0, "lengths_0",
"Lengths of the ID_LISTs batch for first feature")
27 .Input(1,
"values_0",
"Values of the ID_LISTs batch for first feature")
28 .Output(0,
"merged_lengths",
"Lengths of the merged ID_LISTs batch")
29 .Output(1,
"merged_values",
"Values of the merged ID_LISTs batch");
30 NO_GRADIENT(MergeIdLists);
A global dictionary that holds information about what Caffe2 modules have been loaded in the current ...