Fix RNN scoping situation

Summary:
There is a long lasting problem of scoping which was introduced in original python wrappers early in H1. Basically each RNNCell implemented has to manually scope outputs of each of the operators. If somebody forgets, then there could be weird bugs with layers etc.

Approach is the following. User has to explicitly specify current scope when using  apply_over_sequence function and others if the function is going to be called several times (like for stacking layers). This way we use Caffe2 native scoping approach instead of inventing one extra API people have to use (i.e. passing scope name as an argument to the RNNCell constructor).
Closes https://github.com/caffe2/caffe2/pull/1681

Differential Revision: D6777536

Pulled By: salexspb

fbshipit-source-id: 73d860b8d4857589e04bdea5a6fcd3080d68427c
9 files changed
tree: 2d055c31f842738effdc6e87f55425c29f347dea
  1. .github/
  2. .jenkins/
  3. .travis/
  4. caffe/
  5. caffe2/
  6. cmake/
  7. conda/
  8. docker/
  9. docs/
  10. modules/
  11. scripts/
  12. third_party/
  13. .gitattributes
  14. .gitignore
  15. .gitmodules
  16. .travis.yml
  17. appveyor.yml
  18. CMakeLists.txt
  19. LICENSE
  20. Makefile
  21. NOTICE
  22. README.md
  23. release-notes.md
  24. setup.py
  25. VERSION_NUMBER
README.md

Caffe2

License Jenkins Build Status Appveyor Build Status

Caffe2 is a lightweight, modular, and scalable deep learning framework. Building on the original Caffe, Caffe2 is designed with expression, speed, and modularity in mind.

Questions and Feedback

Please use Github issues (https://github.com/caffe2/caffe2/issues) to ask questions, report bugs, and request new features.

Please participate in our survey (https://www.surveymonkey.com/r/caffe2). We will send you information about new releases and special developer events/webinars.

License

Caffe2 is released under the Apache 2.0 license. See the NOTICE file for details.

Further Resources on Caffe2.ai