29 lines
797 B
C++
29 lines
797 B
C++
#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
|