You need to specify a scope to run a Net. One net can run in different scopes and update different variable in the scope. If you did not specify one, It will run in a default scope.
```python
with ScopeGuard(scope):
Net net = Net();
Net.run()
```cpp
Scope global;
auto x = newVar("X"); // x is created in scope global, implicitly.
auto y = newVar("Y");
Net net1;
net1.addOp("add", {x, y}, {x}); // x = x + y;
net1.run();
for (size_t i=0; i<10;++i){
Scope local;
auto tmp = newVar("tmp"); // tmp is created in scope local.
Net net2;
net2.addOp("add", {x, y}, {tmp});
net2.run(); // tmp = x + y;
}
Net net3;
net3.addOp("add", {x, y}, {"tmp"}); // error! cannot found "tmp" in global scope.