1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#include "variable_length_sequence_padding.h"
namespace caffe2 {
REGISTER_CPU_OPERATOR(
VariableLengthSequencePadding,
VariableLengthSequencePaddingOp<float, CPUContext>);
OPERATOR_SCHEMA(VariableLengthSequencePadding)
.NumInputs(2)
.NumOutputs(1)
.AllowInplace({{0, 0}})
.SetDoc(R"DOC(
Super special-case operator. Used to pad a tensor to mimic pytorch's
pad_packed_sequence.
Given an input tensor INPUT of size NxBxM and an input tensor LENS
of size B, where
N = maximum sequence length
B = batch size
M = hidden size
set each element of INPUT to zero if it is past the end of the
corresponding sequence (i.e. if LENS[j] > i for an index (i,j,k)).
)DOC");
} // namespace caffe2
|