// Copyright 2004-present Facebook. All Rights Reserved. // File: negate_gradient_op.h #pragma once #include "caffe2/core/context.h" #include "caffe2/core/operator.h" namespace caffe2 { template class NegateGradientOp final : public Operator { public: USE_SIMPLE_CTOR_DTOR(NegateGradientOp) USE_OPERATOR_CONTEXT_FUNCTIONS; bool RunOnDevice() override { const auto& in = Input(0); auto* out = Output(0); if (out != &in) { out->CopyFrom(in, /* async */ true); } return true; } }; } // namespace caffe2