Caffe2 - C++ API
A deep learning, cross platform ML framework
do_op.cc
1 #include "caffe2/operators/do_op.h"
2 
3 namespace caffe2 {
4 
5 REGISTER_CPU_OPERATOR(Do, DoOp<CPUContext>);
6 
7 OPERATOR_SCHEMA(Do)
8  .NumInputs(1, INT_MAX)
9  .NumOutputs(1, INT_MAX)
10  .SetDoc(R"DOC(
11 'Do' control operator, executes a subnet in a separate workspace.
12 Last blobs in the input and output lists should be the same blob created with
13 CreateScope op. Arguments 'inner_blobs' and 'outer_blobs_idx' provide a mapping
14 between selected inner blob names and corresponding outer blob indices.
15  )DOC")
16  .Arg("net", "Subnet with blob bindings")
17  .Arg(
18  "inner_blobs",
19  "List of inner net blob names to bind to outer workspace")
20  .Arg(
21  "outer_blobs_idx",
22  "Indices of corresponding outer workspace blobs, "
23  "in order: operator inputs, operator outputs (skipping workspace blobs)")
24  .Arg(
25  "saved_fwd_blobs",
26  "List of blobs from the forward Do operator workspace needed "
27  "in backward pass, used in gradient Do operator")
28  .Arg(
29  "reuse_workspace",
30  "Whether to reuse workspace or create a new one in a given scope")
31  .AllowInplace([](int in, int out) -> bool { return true; });
32 
33 } // namespace caffe2
A global dictionary that holds information about what Caffe2 modules have been loaded in the current ...
Definition: blob.h:13