This two week, I start working on OpFromGraph. Which is the second part of the proposal.
Currently, if a FunctionGraph have repeated subgraph, theano will optimize these sub-graphs individually, which is not only a waste of computational resources but a waste of time. If we can extract a common structure in FunctionGraph and make it a Op, we can only optimize the sub-graph of this Op once and reuse it every where. This will speed up the optimization process. And OpFromGraph provides such feature.
To make OpFromGraph works well, it should support GPU and can be optimized. Following feature are expected:
- __eq__()and- __hash__()
- connection_pattern()and “infer__shape()“`
- Support GPU
- c_code()
I implement two feature in last two week: connection_pattern and infer_shape.  I hope I can make  OpFromGraph a useful feature at the end of this GSoC :).