Executor test case is a good place to test `optimizer `module, even though executor
is not necessarily depends on `optimizer `.
We want to support the evaluation of both variables and operators.
### 5. RNN @chunwei
## Solution
To be discussed.
To support evaluation of operators, we add `is_target` field in the `OpDesc`.
- How to deal with multiple blocks
- How to deal with LoDTensor
```c++
messageOpDesc{
requiredstringtype=3;
repeatedVarinputs=1;
repeatedVaroutputs=2;
repeatedAttrattrs=4;
requiredboolis_target=5[default=false];// true if the op is target
};
```
To support evaluation of variables, we add [fetch_op](https://github.com/PaddlePaddle/Paddle/pull/4599). For each variable in the `target`, we insert a `fetch_op` into the `ProgramDesc`. (Also, a user may want to overwrite a variable, so we also added [feed_op](https://github.com/PaddlePaddle/Paddle/pull/4599). )