blob: b7847fff844fcdda2dfdabae3f1f79818802614a [file] [log] [blame]
#include "caffe2/operators/histogram_op.h"
namespace caffe2 {
REGISTER_CPU_OPERATOR(Histogram, HistogramOp<CPUContext>);
OPERATOR_SCHEMA(Histogram)
.NumInputs(1, INT_MAX)
.NumOutputs(1)
.SetDoc(
R"DOC(
Computes a histogram for values in the given list of tensors.
For logging activation histograms for post-hoc analyses, consider using the
HistogramObserver observer.
For iteratively computing a histogram for all input tensors encountered through
history, consider using the AccumulateHistogram operator.
)DOC")
.Input(0, "X1, X2, ...", "*(type: Tensor`<float>`)* List of input tensors.")
.Output(
0,
"histogram",
"1D tensor of length k, wherein the i-th element expresses the count of tensor values "
"that fall within range [bin_edges[i], bin_edges[i + 1])")
.Arg(
"bin_edges",
"length-(k + 1) sequence of float values wherein the i-th element represents the inclusive "
"left boundary of the i-th bin for i in [0, k - 1] and the exclusive right boundary "
"of the (i-1)-th bin for i in [1, k].");
SHOULD_NOT_DO_GRADIENT(Histogram);
} // namespace caffe2