use operator context and infer context (#3024)
* use operator context
* optimize code
* update net infershape
* update InferShape
* disable override InferShape(scope) in OperatorBase
* change InferShapeImpl to InferShape
* add template to OperatorContext Input/Output
* merge Input InputVar, Output OutputVar
* change Inputs to MultiInput
* fix conflict
* fix MultiInput bugs and add unit test
* rename KernelContext to ExecutionContext
* clean code
* change InferShape to protected
* fix template bug
* refine code
* use InputVar instead of Input<Variable>
* typo
* optimize code
|