Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Chainer Development Plan 2015/12

90,684 views

Published on

Slides for Chainer Meeup #1 at SmartNews, Tokyo, Japan.

Published in: Technology
  • Be the first to comment

Chainer Development Plan 2015/12

  1. 1. Chainer: Development Plan 2015/12 Chainer Meetup #1 Seiya Tokui, Preferred Networks
  2. 2. Developtment history  6/12: v1.0 (first release)  7/7: v1.1 – Caffe reference model, type checking (forward/backward), Py3 support  8/19: v1.2 (improvements)  9/2: v1.3 – CuPy, functions module is reorganized  10/28: v1.4 (improvements)  11/25: v1.5 – Link/Chain (modularization), CuPy Cythonized (reduce CPU overhead)
  3. 3. Apologies  Installation gets complicated since v1.5 – The complication comes from the combination of Cython, h5py, and old setuptools – We have started the installation test – The PyPI package of Chainer is now Cython-free (translated C++ source files are included instead of pyx files) – We will make h5py support optional in v1.6
  4. 4. Development policy from v1.6  Decide based on the keywords: Powerful, Flexible, and Intuitive  The first target users are researchers, students, and practitioners  Put more efforts on: – Simple and easy installation on diverse environments (not meaning various OSes) – Backward compatibility – Documentation, tutorials, and examples
  5. 5. New release cycle  More stable release cycle – Revision release for each two weeks (same as before)  Changes not including any interface change  Bug fixes, performance improvements, test improvements, document updates, etc. – Minor release for each six weeks  Changes with additional interfaces  New classes, new functions, new arguments, new variables, etc.  We will keep the backward compatibility as much as possible – I am writing Backward Compatibility Policy for the next releases – Will make it public in Jan. 6
  6. 6. Release schedule based on the new cycle  1.6.0 – Jan. 20  1.6.1 – Feb. 3  1.6.2 – Feb. 17  1.7.0 – Mar. 2  1.7.1 – Mar. 16  1.7.2 – Mar. 30  1.8.0 – Apr. 13  and so on ……
  7. 7. External libraries support  NumPy – 1.10 will be supported from v1.6  cuDNN – We want v4 support (#756) – still keeping v2 support (v2 is not even one year old!!)  Protobuf (for CaffeFunction) – We have confirmed that we can support CaffeFunction in Py3 with protobuf 3.0.0-beta – We will update the caffe_pb2 script to support it
  8. 8. Future release: v1.6  On Jan. 20  Merge bufferred feature PRs – Dicision will be made based on the “Backward Compatibility Policy”  Make h5py support optional – We will add an npz serializer instead  Support NumPy 1.10
  9. 9. Future release: v1.7  Profiling and continuous performance checking – Preparation for optimization attempts in the future – For both Chainer and CuPy  Global configurations and debug mode – The basic framework for managing global configurations of Chainer – Debug/Release mode based on it – Debug mode will include: floating point error in CuPy, NaN checking, users’ debug codes support, type checking, etc.
  10. 10. Possible features in the future (not decided yet!)  Isolate CuPy – Make CuPy separate repository and package – It will make the CuPy development faster, and will encourage non-DL usages of CuPy  Renewal of tutorials and examples – Consistent code design and style between examples – More “modern” introduction to DL with Chainer  Abstraction of common routines in learning loops – Data loading, minibatch building, updates, snapshot/suspend/resume, and logging – Easy-to-use multiprocess learning – Design is not yet started (sklearn style? Supporting custom data loading routines?)  More support of Caffe reference models (e.g. chains with converted parameters)  Official AMI support  Way to share models within the community (like Model Zoo)

×