blob: 53c08741e08682b257d36a28e01c75d7c435a3cc [file] [log] [blame]
#include "caffe2/operators/zero_gradient_op.h"
namespace caffe2 {
REGISTER_CPU_OPERATOR(ZeroGradient, ZeroGradientOp<CPUContext>);
OPERATOR_SCHEMA(ZeroGradient)
.NumInputs(1)
.NumOutputs(0)
.SetDoc(R"DOC(
ZeroGradient operators doesn't produce any output blobs. One can use
this operator to produce 0 gradient for the input blob.
)DOC");
struct GetZeroGradientOpGradient : public GradientMakerBase {
using GradientMakerBase::GradientMakerBase;
std::vector<OperatorDef> GetGradientDefs() override {
return SingleGradientDef(
"ConstantFill",
"",
vector<string>{I(0)},
vector<string>{GI(0)},
vector<Argument>{MakeArgument<float>("value", 0.0)});
}
};
REGISTER_GRADIENT(ZeroGradient, GetZeroGradientOpGradient);
} // namespace caffe2