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. 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. 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. 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. 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. 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. 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. 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. 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)