pytorch/caffe2/operators/do_op.cc
Orion Reblitz-Richardson 1d5780d42c Remove Apache headers from source.
* LICENSE file contains details, so removing from individual source files.
2018-03-27 13:10:18 -07:00

34 lines
1.2 KiB
C++

#include "caffe2/operators/do_op.h"
namespace caffe2 {
REGISTER_CPU_OPERATOR(Do, DoOp<CPUContext>);
OPERATOR_SCHEMA(Do)
.NumInputs(1, INT_MAX)
.NumOutputs(1, INT_MAX)
.SetDoc(R"DOC(
'Do' control operator, executes a subnet in a separate workspace.
Last blobs in the input and output lists should be the same blob created with
CreateScope op. Arguments 'inner_blobs' and 'outer_blobs_idx' provide a mapping
between selected inner blob names and corresponding outer blob indices.
)DOC")
.Arg("net", "Subnet with blob bindings")
.Arg(
"inner_blobs",
"List of inner net blob names to bind to outer workspace")
.Arg(
"outer_blobs_idx",
"Indices of corresponding outer workspace blobs, "
"in order: operator inputs, operator outputs (skipping workspace blobs)")
.Arg(
"saved_fwd_blobs",
"List of blobs from the forward Do operator workspace needed "
"in backward pass, used in gradient Do operator")
.Arg(
"reuse_workspace",
"Whether to reuse workspace or create a new one in a given scope")
.AllowInplace([](int in, int out) -> bool { return true; });
} // namespace caffe2