|
| GradientMakerBase (const OperatorDef &def, const vector< GradientWrapper > &g_output) |
|
virtual bool | CopyDeviceOption () const |
|
virtual bool | CopyEngine () const |
|
virtual bool | CopyArguments () const |
|
virtual GradientOpsMeta | Get () |
| Returns the gradient ops meta. More...
|
|
const OperatorDef & | Def () const |
|
|
static CaffeMap< string, string > | MatchGradsToParams (const OperatorDef &op) |
| Returns map that returns the parameters that the gradients are for.
|
|
|
virtual vector< OperatorDef > | GetGradientDefs () |
|
string | I (const int i) |
|
string | O (const int i) |
|
string | GI (const int i) |
|
string | GI_I (const int i) |
|
string | GI_V (const int i) |
|
string | GO (const int i) |
|
string | GO_I (const int i) |
|
string | GO_V (const int i) |
|
const GradientWrapper & | GradOut (int i) |
|
void | SetDense (const int i, const string &name) |
|
void | SetSparse (const int i, const string &indices, const string &values) |
|
|
template<class... Args> |
static vector< OperatorDef > | SingleGradientDef (const Args &... args) |
| a helper function to allow one to create one single operator def, which is usually the case for many simple operators.
|
|
Definition at line 46 of file operator_gradient.h.
◆ Get()
Returns the gradient ops meta.
If your gradient op generator only use standard input and output manipulations, you can simply implement GetGradientDefs() that returns vector<OperatorDef>. In that, you can call GI, GI_V and GI_I that will automatically create the gradient registration for you.
If you need to do custom gradient name registration, overload this function directly.
Reimplemented in caffe2::GradientNotImplementedYet, and caffe2::ThrowInTheTowelIfGradientIsCalled.
Definition at line 74 of file operator_gradient.h.
The documentation for this class was generated from the following file: